MISC: 删除静态代码
diff --git a/admin-guide/gitbook/fonts/fontawesome/FontAwesome.otf b/admin-guide/gitbook/fonts/fontawesome/FontAwesome.otf
deleted file mode 100644
index d4de13e..0000000
--- a/admin-guide/gitbook/fonts/fontawesome/FontAwesome.otf
+++ /dev/null
Binary files differ
diff --git a/admin-guide/gitbook/fonts/fontawesome/fontawesome-webfont.eot b/admin-guide/gitbook/fonts/fontawesome/fontawesome-webfont.eot
deleted file mode 100644
index c7b00d2..0000000
--- a/admin-guide/gitbook/fonts/fontawesome/fontawesome-webfont.eot
+++ /dev/null
Binary files differ
diff --git a/admin-guide/gitbook/fonts/fontawesome/fontawesome-webfont.svg b/admin-guide/gitbook/fonts/fontawesome/fontawesome-webfont.svg
deleted file mode 100644
index 8b66187..0000000
--- a/admin-guide/gitbook/fonts/fontawesome/fontawesome-webfont.svg
+++ /dev/null
@@ -1,685 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="fontawesomeregular" horiz-adv-x="1536" >
-<font-face units-per-em="1792" ascent="1536" descent="-256" />
-<missing-glyph horiz-adv-x="448" />
-<glyph unicode=" "  horiz-adv-x="448" />
-<glyph unicode="&#x09;" horiz-adv-x="448" />
-<glyph unicode="&#xa0;" horiz-adv-x="448" />
-<glyph unicode="&#xa8;" horiz-adv-x="1792" />
-<glyph unicode="&#xa9;" horiz-adv-x="1792" />
-<glyph unicode="&#xae;" horiz-adv-x="1792" />
-<glyph unicode="&#xb4;" horiz-adv-x="1792" />
-<glyph unicode="&#xc6;" horiz-adv-x="1792" />
-<glyph unicode="&#xd8;" horiz-adv-x="1792" />
-<glyph unicode="&#x2000;" horiz-adv-x="768" />
-<glyph unicode="&#x2001;" horiz-adv-x="1537" />
-<glyph unicode="&#x2002;" horiz-adv-x="768" />
-<glyph unicode="&#x2003;" horiz-adv-x="1537" />
-<glyph unicode="&#x2004;" horiz-adv-x="512" />
-<glyph unicode="&#x2005;" horiz-adv-x="384" />
-<glyph unicode="&#x2006;" horiz-adv-x="256" />
-<glyph unicode="&#x2007;" horiz-adv-x="256" />
-<glyph unicode="&#x2008;" horiz-adv-x="192" />
-<glyph unicode="&#x2009;" horiz-adv-x="307" />
-<glyph unicode="&#x200a;" horiz-adv-x="85" />
-<glyph unicode="&#x202f;" horiz-adv-x="307" />
-<glyph unicode="&#x205f;" horiz-adv-x="384" />
-<glyph unicode="&#x2122;" horiz-adv-x="1792" />
-<glyph unicode="&#x221e;" horiz-adv-x="1792" />
-<glyph unicode="&#x2260;" horiz-adv-x="1792" />
-<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
-<glyph unicode="&#xf000;" horiz-adv-x="1792" d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
-<glyph unicode="&#xf001;" d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf002;" horiz-adv-x="1664" d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
-<glyph unicode="&#xf003;" horiz-adv-x="1792" d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf004;" horiz-adv-x="1792" d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 q-18 -18 -44 -18z" />
-<glyph unicode="&#xf005;" horiz-adv-x="1664" d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 l502 -73q56 -9 56 -46z" />
-<glyph unicode="&#xf006;" horiz-adv-x="1664" d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
-<glyph unicode="&#xf007;" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf008;" horiz-adv-x="1920" d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf009;" horiz-adv-x="1664" d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf00a;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf00b;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf00c;" horiz-adv-x="1792" d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
-<glyph unicode="&#xf00d;" horiz-adv-x="1408" d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
-<glyph unicode="&#xf00e;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
-<glyph unicode="&#xf010;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z " />
-<glyph unicode="&#xf011;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
-<glyph unicode="&#xf012;" horiz-adv-x="1792" d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf013;" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
-<glyph unicode="&#xf014;" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf015;" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
-<glyph unicode="&#xf016;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z " />
-<glyph unicode="&#xf017;" d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf018;" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
-<glyph unicode="&#xf019;" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
-<glyph unicode="&#xf01a;" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf01b;" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf01c;" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" />
-<glyph unicode="&#xf01d;" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf01e;" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
-<glyph unicode="&#xf021;" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf022;" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" />
-<glyph unicode="&#xf023;" horiz-adv-x="1152" d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf024;" horiz-adv-x="1792" d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf025;" horiz-adv-x="1664" d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
-<glyph unicode="&#xf026;" horiz-adv-x="768" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf027;" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
-<glyph unicode="&#xf028;" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
-<glyph unicode="&#xf029;" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
-<glyph unicode="&#xf02a;" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
-<glyph unicode="&#xf02b;" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" />
-<glyph unicode="&#xf02c;" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
-<glyph unicode="&#xf02d;" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
-<glyph unicode="&#xf02e;" horiz-adv-x="1280" d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
-<glyph unicode="&#xf02f;" horiz-adv-x="1664" d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
-<glyph unicode="&#xf030;" horiz-adv-x="1920" d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf031;" horiz-adv-x="1664" d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57 q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -4 -0.5 -13t-0.5 -13q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5 q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />
-<glyph unicode="&#xf032;" horiz-adv-x="1408" d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142 q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5 t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68.5 -0.5t67.5 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5 t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />
-<glyph unicode="&#xf033;" horiz-adv-x="1024" d="M0 -126l17 85q6 2 81.5 21.5t111.5 37.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5 q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />
-<glyph unicode="&#xf034;" horiz-adv-x="1792" d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2 t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5 q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />
-<glyph unicode="&#xf035;" d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1 t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5 t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49 t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />
-<glyph unicode="&#xf036;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf037;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf038;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf039;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf03a;" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf03b;" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf03c;" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf03d;" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" />
-<glyph unicode="&#xf03e;" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf040;" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" />
-<glyph unicode="&#xf041;" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
-<glyph unicode="&#xf042;" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf043;" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
-<glyph unicode="&#xf044;" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
-<glyph unicode="&#xf045;" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
-<glyph unicode="&#xf046;" horiz-adv-x="1664" d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 q24 -24 24 -57t-24 -57z" />
-<glyph unicode="&#xf047;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
-<glyph unicode="&#xf048;" horiz-adv-x="1024" d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19z" />
-<glyph unicode="&#xf049;" horiz-adv-x="1792" d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />
-<glyph unicode="&#xf04a;" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />
-<glyph unicode="&#xf04b;" horiz-adv-x="1408" d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
-<glyph unicode="&#xf04c;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf04d;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf04e;" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
-<glyph unicode="&#xf050;" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
-<glyph unicode="&#xf051;" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />
-<glyph unicode="&#xf052;" horiz-adv-x="1538" d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
-<glyph unicode="&#xf053;" horiz-adv-x="1280" d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />
-<glyph unicode="&#xf054;" horiz-adv-x="1280" d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />
-<glyph unicode="&#xf055;" d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf056;" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
-<glyph unicode="&#xf057;" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf058;" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf059;" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05a;" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05b;" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf05c;" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05d;" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05e;" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
-<glyph unicode="&#xf060;" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" />
-<glyph unicode="&#xf061;" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
-<glyph unicode="&#xf062;" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" />
-<glyph unicode="&#xf063;" horiz-adv-x="1664" d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
-<glyph unicode="&#xf064;" horiz-adv-x="1792" d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
-<glyph unicode="&#xf065;" d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf066;" d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
-<glyph unicode="&#xf067;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf068;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf069;" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
-<glyph unicode="&#xf06a;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
-<glyph unicode="&#xf06b;" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf06c;" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
-<glyph unicode="&#xf06d;" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
-<glyph unicode="&#xf06e;" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
-<glyph unicode="&#xf070;" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " />
-<glyph unicode="&#xf071;" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
-<glyph unicode="&#xf072;" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
-<glyph unicode="&#xf073;" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf074;" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
-<glyph unicode="&#xf075;" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
-<glyph unicode="&#xf076;" d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf077;" horiz-adv-x="1792" d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
-<glyph unicode="&#xf078;" horiz-adv-x="1792" d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
-<glyph unicode="&#xf079;" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z " />
-<glyph unicode="&#xf07a;" horiz-adv-x="1664" d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45 t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf07b;" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf07c;" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf07d;" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
-<glyph unicode="&#xf07e;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
-<glyph unicode="&#xf080;" horiz-adv-x="2048" d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
-<glyph unicode="&#xf081;" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf082;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960z" />
-<glyph unicode="&#xf083;" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf084;" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
-<glyph unicode="&#xf085;" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
-<glyph unicode="&#xf086;" horiz-adv-x="1792" d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
-<glyph unicode="&#xf087;" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
-<glyph unicode="&#xf088;" d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 32 18 69t-17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -74 49 -163z" />
-<glyph unicode="&#xf089;" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
-<glyph unicode="&#xf08a;" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" />
-<glyph unicode="&#xf08b;" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
-<glyph unicode="&#xf08c;" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf08d;" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
-<glyph unicode="&#xf08e;" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf090;" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf091;" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf092;" d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4 q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4 t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16 q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf093;" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
-<glyph unicode="&#xf094;" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
-<glyph unicode="&#xf095;" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
-<glyph unicode="&#xf096;" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf097;" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
-<glyph unicode="&#xf098;" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf099;" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
-<glyph unicode="&#xf09a;" horiz-adv-x="1024" d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
-<glyph unicode="&#xf09b;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24 q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5 t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12 q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" />
-<glyph unicode="&#xf09c;" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" />
-<glyph unicode="&#xf09d;" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
-<glyph unicode="&#xf09e;" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" />
-<glyph unicode="&#xf0a0;" d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
-<glyph unicode="&#xf0a1;" horiz-adv-x="1792" d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
-<glyph unicode="&#xf0a2;" horiz-adv-x="1792" d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5 t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
-<glyph unicode="&#xf0a3;" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
-<glyph unicode="&#xf0a4;" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
-<glyph unicode="&#xf0a5;" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf0a6;" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
-<glyph unicode="&#xf0a7;" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
-<glyph unicode="&#xf0a8;" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0a9;" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0aa;" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0ab;" d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0ac;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 10.5t-9.5 10.5q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10t17 -20q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q7 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
-<glyph unicode="&#xf0ad;" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
-<glyph unicode="&#xf0ae;" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0b0;" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
-<glyph unicode="&#xf0b1;" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf0b2;" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " />
-<glyph unicode="&#xf0c0;" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
-<glyph unicode="&#xf0c1;" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
-<glyph unicode="&#xf0c2;" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " />
-<glyph unicode="&#xf0c3;" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
-<glyph unicode="&#xf0c4;" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
-<glyph unicode="&#xf0c5;" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
-<glyph unicode="&#xf0c6;" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" />
-<glyph unicode="&#xf0c7;" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
-<glyph unicode="&#xf0c8;" d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf0c9;" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0ca;" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf0cb;" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf0cc;" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
-<glyph unicode="&#xf0cd;" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
-<glyph unicode="&#xf0ce;" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" />
-<glyph unicode="&#xf0d0;" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
-<glyph unicode="&#xf0d1;" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0d2;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0d3;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
-<glyph unicode="&#xf0d4;" d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585 h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf0d5;" horiz-adv-x="2304" d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62 q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />
-<glyph unicode="&#xf0d6;" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0d7;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0d8;" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0d9;" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf0da;" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0db;" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf0dc;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0dd;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0de;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0e0;" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
-<glyph unicode="&#xf0e1;" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
-<glyph unicode="&#xf0e2;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
-<glyph unicode="&#xf0e3;" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
-<glyph unicode="&#xf0e4;" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf0e5;" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
-<glyph unicode="&#xf0e6;" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
-<glyph unicode="&#xf0e7;" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
-<glyph unicode="&#xf0e8;" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" />
-<glyph unicode="&#xf0e9;" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf0ea;" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
-<glyph unicode="&#xf0eb;" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
-<glyph unicode="&#xf0ec;" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
-<glyph unicode="&#xf0ed;" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
-<glyph unicode="&#xf0ee;" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
-<glyph unicode="&#xf0f0;" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf0f1;" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
-<glyph unicode="&#xf0f2;" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" />
-<glyph unicode="&#xf0f3;" horiz-adv-x="1792" d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5 t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
-<glyph unicode="&#xf0f4;" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf0f5;" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0f6;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704 q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
-<glyph unicode="&#xf0f7;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0f8;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0f9;" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0fa;" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf0fb;" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
-<glyph unicode="&#xf0fc;" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
-<glyph unicode="&#xf0fd;" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf0fe;" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf100;" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
-<glyph unicode="&#xf101;" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf102;" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf103;" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
-<glyph unicode="&#xf104;" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
-<glyph unicode="&#xf105;" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf106;" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf107;" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
-<glyph unicode="&#xf108;" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf109;" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
-<glyph unicode="&#xf10a;" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf10b;" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf10c;" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf10d;" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
-<glyph unicode="&#xf10e;" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
-<glyph unicode="&#xf110;" horiz-adv-x="1792" d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5 t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5 q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf111;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf112;" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
-<glyph unicode="&#xf113;" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />
-<glyph unicode="&#xf114;" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf115;" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
-<glyph unicode="&#xf116;" horiz-adv-x="1792" />
-<glyph unicode="&#xf117;" horiz-adv-x="1792" />
-<glyph unicode="&#xf118;" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf119;" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf11a;" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf11b;" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
-<glyph unicode="&#xf11c;" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf11d;" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
-<glyph unicode="&#xf11e;" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
-<glyph unicode="&#xf120;" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />
-<glyph unicode="&#xf121;" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
-<glyph unicode="&#xf122;" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
-<glyph unicode="&#xf123;" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
-<glyph unicode="&#xf124;" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
-<glyph unicode="&#xf125;" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf126;" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
-<glyph unicode="&#xf127;" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
-<glyph unicode="&#xf128;" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
-<glyph unicode="&#xf129;" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf12a;" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
-<glyph unicode="&#xf12b;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
-<glyph unicode="&#xf12c;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />
-<glyph unicode="&#xf12d;" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
-<glyph unicode="&#xf12e;" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
-<glyph unicode="&#xf130;" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
-<glyph unicode="&#xf131;" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
-<glyph unicode="&#xf132;" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf133;" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf134;" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
-<glyph unicode="&#xf135;" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
-<glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
-<glyph unicode="&#xf137;" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf138;" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf139;" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf13a;" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf13b;" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
-<glyph unicode="&#xf13c;" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
-<glyph unicode="&#xf13d;" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf13e;" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" />
-<glyph unicode="&#xf140;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf141;" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf142;" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf143;" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf144;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />
-<glyph unicode="&#xf145;" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
-<glyph unicode="&#xf146;" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
-<glyph unicode="&#xf147;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf148;" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
-<glyph unicode="&#xf149;" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
-<glyph unicode="&#xf14a;" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14b;" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14c;" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14d;" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14e;" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf150;" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf151;" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf152;" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf153;" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
-<glyph unicode="&#xf154;" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
-<glyph unicode="&#xf155;" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
-<glyph unicode="&#xf156;" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf157;" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
-<glyph unicode="&#xf158;" horiz-adv-x="1280" d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
-<glyph unicode="&#xf159;" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf15a;" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
-<glyph unicode="&#xf15b;" d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" />
-<glyph unicode="&#xf15c;" d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704 q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" />
-<glyph unicode="&#xf15d;" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" />
-<glyph unicode="&#xf15e;" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" />
-<glyph unicode="&#xf160;" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf161;" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf162;" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
-<glyph unicode="&#xf163;" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
-<glyph unicode="&#xf164;" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
-<glyph unicode="&#xf165;" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
-<glyph unicode="&#xf166;" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf167;" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
-<glyph unicode="&#xf168;" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" />
-<glyph unicode="&#xf169;" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf16a;" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
-<glyph unicode="&#xf16b;" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
-<glyph unicode="&#xf16c;" d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" />
-<glyph unicode="&#xf16d;" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1162 640q0 -164 -115 -279t-279 -115t-279 115t-115 279t115 279t279 115t279 -115t115 -279zM1270 1050q0 -38 -27 -65t-65 -27t-65 27t-27 65t27 65t65 27t65 -27t27 -65zM768 1270 q-7 0 -76.5 0.5t-105.5 0t-96.5 -3t-103 -10t-71.5 -18.5q-50 -20 -88 -58t-58 -88q-11 -29 -18.5 -71.5t-10 -103t-3 -96.5t0 -105.5t0.5 -76.5t-0.5 -76.5t0 -105.5t3 -96.5t10 -103t18.5 -71.5q20 -50 58 -88t88 -58q29 -11 71.5 -18.5t103 -10t96.5 -3t105.5 0t76.5 0.5 t76.5 -0.5t105.5 0t96.5 3t103 10t71.5 18.5q50 20 88 58t58 88q11 29 18.5 71.5t10 103t3 96.5t0 105.5t-0.5 76.5t0.5 76.5t0 105.5t-3 96.5t-10 103t-18.5 71.5q-20 50 -58 88t-88 58q-29 11 -71.5 18.5t-103 10t-96.5 3t-105.5 0t-76.5 -0.5zM1536 640q0 -229 -5 -317 q-10 -208 -124 -322t-322 -124q-88 -5 -317 -5t-317 5q-208 10 -322 124t-124 322q-5 88 -5 317t5 317q10 208 124 322t322 124q88 5 317 5t317 -5q208 -10 322 -124t124 -322q5 -88 5 -317z" />
-<glyph unicode="&#xf16e;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
-<glyph unicode="&#xf170;" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf171;" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
-<glyph unicode="&#xf172;" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf173;" horiz-adv-x="1024" d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14 q78 2 134 29z" />
-<glyph unicode="&#xf174;" d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf175;" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
-<glyph unicode="&#xf176;" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
-<glyph unicode="&#xf177;" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf178;" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
-<glyph unicode="&#xf179;" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
-<glyph unicode="&#xf17a;" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
-<glyph unicode="&#xf17b;" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
-<glyph unicode="&#xf17c;" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
-<glyph unicode="&#xf17d;" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf17e;" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
-<glyph unicode="&#xf180;" horiz-adv-x="1280" d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324 l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" />
-<glyph unicode="&#xf181;" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf182;" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf183;" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf184;" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf185;" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
-<glyph unicode="&#xf186;" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
-<glyph unicode="&#xf187;" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf188;" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
-<glyph unicode="&#xf189;" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
-<glyph unicode="&#xf18a;" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
-<glyph unicode="&#xf18b;" d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
-<glyph unicode="&#xf18c;" horiz-adv-x="1408" d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
-<glyph unicode="&#xf18d;" horiz-adv-x="1280" d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z " />
-<glyph unicode="&#xf18e;" d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf190;" d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf191;" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf192;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf193;" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
-<glyph unicode="&#xf194;" d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179 q157 0 383 294q220 283 226 444zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf195;" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf196;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf197;" horiz-adv-x="2176" d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40 t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29 q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" />
-<glyph unicode="&#xf198;" horiz-adv-x="1664" d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9 q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102 t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" />
-<glyph unicode="&#xf199;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69 q-46 32 -141.5 92.5t-142.5 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13 t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" />
-<glyph unicode="&#xf19a;" horiz-adv-x="1792" d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5 t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21 t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286 t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273 t273 -182.5t331.5 -68z" />
-<glyph unicode="&#xf19b;" horiz-adv-x="1792" d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" />
-<glyph unicode="&#xf19c;" horiz-adv-x="2048" d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64 q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />
-<glyph unicode="&#xf19d;" horiz-adv-x="2304" d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433 q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />
-<glyph unicode="&#xf19e;" d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q43 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0 q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />
-<glyph unicode="&#xf1a0;" d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5 t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" />
-<glyph unicode="&#xf1a1;" horiz-adv-x="1792" d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26 t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q-19 5 -25 -16l-69 -312q-180 -7 -309 -97q-35 37 -87 37 q-50 0 -85 -35t-35 -84q0 -35 18.5 -64t49.5 -44q-6 -27 -6 -56q0 -142 140 -243t337 -101q198 0 338 101t140 243q0 32 -7 57q30 15 48 43.5t18 63.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191 t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf1a2;" d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54 q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42q-17 5 -21 -13l-60 -268q-154 -6 -265 -83 q-30 32 -74 32q-43 0 -73 -30t-30 -72q0 -30 16 -55t42 -38q-5 -25 -5 -48q0 -122 120 -208.5t289 -86.5q170 0 290 86.5t120 208.5q0 25 -6 49q25 13 40.5 37.5t15.5 54.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf1a3;" d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150 v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103 t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf1a4;" horiz-adv-x="1920" d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328 v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />
-<glyph unicode="&#xf1a5;" d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
-<glyph unicode="&#xf1a6;" horiz-adv-x="2048" d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123 v-369h123z" />
-<glyph unicode="&#xf1a7;" d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101 v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf1a8;" horiz-adv-x="2038" d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14 q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24 q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33 q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5 t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43 q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5 t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13 t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" />
-<glyph unicode="&#xf1a9;" d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10 q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14 q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14 t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44 q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" />
-<glyph unicode="&#xf1aa;" d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5 t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5 q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126 t135.5 51q85 0 145 -60.5t60 -145.5z" />
-<glyph unicode="&#xf1ab;" d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5 q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28 q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11 q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q106 35 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5 q20 0 20 -21v-418z" />
-<glyph unicode="&#xf1ac;" horiz-adv-x="1792" d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48 l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23 t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128 q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128 q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" />
-<glyph unicode="&#xf1ad;" d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9 t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64 q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9 t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64 q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9 t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" />
-<glyph unicode="&#xf1ae;" horiz-adv-x="1280" d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68t68 28t68 -28l228 -228h368l228 228q28 28 68 28t68 -28t28 -68t-28 -68zM864 1152q0 -93 -65.5 -158.5 t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf1b0;" horiz-adv-x="1664" d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5 q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819 q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5 t100.5 134t141.5 55.5z" />
-<glyph unicode="&#xf1b1;" horiz-adv-x="768" d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" />
-<glyph unicode="&#xf1b2;" horiz-adv-x="1792" d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z " />
-<glyph unicode="&#xf1b3;" horiz-adv-x="2304" d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67 t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-5 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70 v-400l434 -186q36 -16 57 -48t21 -70z" />
-<glyph unicode="&#xf1b4;" horiz-adv-x="2048" d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658 q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204 q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" />
-<glyph unicode="&#xf1b5;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5 t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217 t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" />
-<glyph unicode="&#xf1b6;" horiz-adv-x="1792" d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5 q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89 q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" />
-<glyph unicode="&#xf1b7;" d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5 q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5 q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z " />
-<glyph unicode="&#xf1b8;" horiz-adv-x="1792" d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188 l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5 t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1 q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" />
-<glyph unicode="&#xf1b9;" horiz-adv-x="2048" d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384 q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5 l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf1ba;" horiz-adv-x="2048" d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5 t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" />
-<glyph unicode="&#xf1bb;" d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384 q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />
-<glyph unicode="&#xf1bc;" d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64 q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37 q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf1bd;" horiz-adv-x="1024" d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" />
-<glyph unicode="&#xf1be;" horiz-adv-x="2304" d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11 q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245 q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785 l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242 q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236q0 -11 -8 -19 t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786q-13 2 -22 11t-9 22v899 q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" />
-<glyph unicode="&#xf1c0;" d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127 t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5 t-103 128v128q0 69 103 128t280 93.5t385 34.5z" />
-<glyph unicode="&#xf1c1;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197 q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8 q-1 1 -1 2t-0.5 1.5t-0.5 1.5q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" />
-<glyph unicode="&#xf1c2;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4l-3 21q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5t-3.5 -21.5l-4 -21h-4l-2 21 q-2 26 -7 46l-99 438h90v107h-300z" />
-<glyph unicode="&#xf1c3;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107 h-290v-107h68l189 -272l-194 -283h-68z" />
-<glyph unicode="&#xf1c4;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" />
-<glyph unicode="&#xf1c5;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" />
-<glyph unicode="&#xf1c6;" d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400 v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79 q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" />
-<glyph unicode="&#xf1c7;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5 q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" />
-<glyph unicode="&#xf1c8;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" />
-<glyph unicode="&#xf1c9;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243 l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" />
-<glyph unicode="&#xf1ca;" d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406 q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" />
-<glyph unicode="&#xf1cb;" horiz-adv-x="1792" d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546 q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />
-<glyph unicode="&#xf1cc;" horiz-adv-x="2048" d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94 q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55 t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97q14 -16 29.5 -34t34.5 -40t29 -34q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5 t-85 -189.5z" />
-<glyph unicode="&#xf1cd;" horiz-adv-x="1792" d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194 q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5 t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" />
-<glyph unicode="&#xf1ce;" horiz-adv-x="1792" d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5 t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" />
-<glyph unicode="&#xf1d0;" horiz-adv-x="1792" d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41 t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170 t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136 q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" />
-<glyph unicode="&#xf1d1;" horiz-adv-x="1792" d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251 l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162 q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33 q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5 t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71 t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf1d2;" d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85 q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392 q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072 q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf1d3;" horiz-adv-x="1792" d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58 q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47 q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171 v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" />
-<glyph unicode="&#xf1d4;" d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf1d5;" horiz-adv-x="1280" d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5 t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153 t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" />
-<glyph unicode="&#xf1d6;" horiz-adv-x="1792" d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5 q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20 t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5 t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" />
-<glyph unicode="&#xf1d7;" horiz-adv-x="2048" d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25 q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5 q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109 q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" />
-<glyph unicode="&#xf1d8;" horiz-adv-x="1792" d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" />
-<glyph unicode="&#xf1d9;" horiz-adv-x="1792" d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137 l863 639l-478 -797z" />
-<glyph unicode="&#xf1da;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23 t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf1db;" d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf1dc;" horiz-adv-x="1792" d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15 t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2 t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160 q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5 q0 -26 -12 -48t-36 -22z" />
-<glyph unicode="&#xf1dd;" horiz-adv-x="1280" d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179 q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" />
-<glyph unicode="&#xf1de;" d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256 q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" />
-<glyph unicode="&#xf1e0;" d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5 t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" />
-<glyph unicode="&#xf1e1;" d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5 t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf1e2;" horiz-adv-x="1792" d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5 t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91 q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9 t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
-<glyph unicode="&#xf1e3;" horiz-adv-x="1792" d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323 l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" />
-<glyph unicode="&#xf1e4;" horiz-adv-x="1792" d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23 zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5 t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" />
-<glyph unicode="&#xf1e5;" horiz-adv-x="1792" d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf1e6;" horiz-adv-x="1792" d="M1755 1083q37 -37 37 -90t-37 -91l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234l401 400 q38 37 91 37t90 -37z" />
-<glyph unicode="&#xf1e7;" horiz-adv-x="1792" d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5 t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q3 -2 11 -7 t11 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" />
-<glyph unicode="&#xf1e8;" horiz-adv-x="1792" d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" />
-<glyph unicode="&#xf1e9;" d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36 q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q70 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5 t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87 q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" />
-<glyph unicode="&#xf1ea;" horiz-adv-x="2048" d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19 t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" />
-<glyph unicode="&#xf1eb;" horiz-adv-x="2048" d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121 q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" />
-<glyph unicode="&#xf1ec;" horiz-adv-x="1792" d="M384 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5 t37.5 90.5zM384 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 768q0 53 -37.5 90.5t-90.5 37.5 t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38 h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf1ed;" d="M1519 890q18 -84 -4 -204q-87 -444 -565 -444h-44q-25 0 -44 -16.5t-24 -42.5l-4 -19l-55 -346l-2 -15q-5 -26 -24.5 -42.5t-44.5 -16.5h-251q-21 0 -33 15t-9 36q9 56 26.5 168t26.5 168t27 167.5t27 167.5q5 37 43 37h131q133 -2 236 21q175 39 287 144q102 95 155 246 q24 70 35 133q1 6 2.5 7.5t3.5 1t6 -3.5q79 -59 98 -162zM1347 1172q0 -107 -46 -236q-80 -233 -302 -315q-113 -40 -252 -42q0 -1 -90 -1l-90 1q-100 0 -118 -96q-2 -8 -85 -530q-1 -10 -12 -10h-295q-22 0 -36.5 16.5t-11.5 38.5l232 1471q5 29 27.5 48t51.5 19h598 q34 0 97.5 -13t111.5 -32q107 -41 163.5 -123t56.5 -196z" />
-<glyph unicode="&#xf1ee;" horiz-adv-x="1792" d="M441 864q32 0 52 -26q266 -364 362 -774h-446q-127 441 -367 749q-12 16 -3 33.5t29 17.5h373zM1000 507q-49 -199 -125 -393q-79 310 -256 594q40 221 44 449q211 -340 337 -650zM1099 1216q235 -324 384.5 -698.5t184.5 -773.5h-451q-41 665 -553 1472h435zM1792 640 q0 -424 -101 -812q-67 560 -359 1083q-25 301 -106 584q-4 16 5.5 28.5t25.5 12.5h359q21 0 38.5 -13t22.5 -33q115 -409 115 -850z" />
-<glyph unicode="&#xf1f0;" horiz-adv-x="2304" d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27 q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128 q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf1f1;" horiz-adv-x="2304" d="M671 603h-13q-47 0 -47 -32q0 -22 20 -22q17 0 28 15t12 39zM1066 639h62v3q1 4 0.5 6.5t-1 7t-2 8t-4.5 6.5t-7.5 5t-11.5 2q-28 0 -36 -38zM1606 603h-12q-48 0 -48 -32q0 -22 20 -22q17 0 28 15t12 39zM1925 629q0 41 -30 41q-19 0 -31 -20t-12 -51q0 -42 28 -42 q20 0 32.5 20t12.5 52zM480 770h87l-44 -262h-56l32 201l-71 -201h-39l-4 200l-34 -200h-53l44 262h81l2 -163zM733 663q0 -6 -4 -42q-16 -101 -17 -113h-47l1 22q-20 -26 -58 -26q-23 0 -37.5 16t-14.5 42q0 39 26 60.5t73 21.5q14 0 23 -1q0 3 0.5 5.5t1 4.5t0.5 3 q0 20 -36 20q-29 0 -59 -10q0 4 7 48q38 11 67 11q74 0 74 -62zM889 721l-8 -49q-22 3 -41 3q-27 0 -27 -17q0 -8 4.5 -12t21.5 -11q40 -19 40 -60q0 -72 -87 -71q-34 0 -58 6q0 2 7 49q29 -8 51 -8q32 0 32 19q0 7 -4.5 11.5t-21.5 12.5q-43 20 -43 59q0 72 84 72 q30 0 50 -4zM977 721h28l-7 -52h-29q-2 -17 -6.5 -40.5t-7 -38.5t-2.5 -18q0 -16 19 -16q8 0 16 2l-8 -47q-21 -7 -40 -7q-43 0 -45 47q0 12 8 56q3 20 25 146h55zM1180 648q0 -23 -7 -52h-111q-3 -22 10 -33t38 -11q30 0 58 14l-9 -54q-30 -8 -57 -8q-95 0 -95 95 q0 55 27.5 90.5t69.5 35.5q35 0 55.5 -21t20.5 -56zM1319 722q-13 -23 -22 -62q-22 2 -31 -24t-25 -128h-56l3 14q22 130 29 199h51l-3 -33q14 21 25.5 29.5t28.5 4.5zM1506 763l-9 -57q-28 14 -50 14q-31 0 -51 -27.5t-20 -70.5q0 -30 13.5 -47t38.5 -17q21 0 48 13 l-10 -59q-28 -8 -50 -8q-45 0 -71.5 30.5t-26.5 82.5q0 70 35.5 114.5t91.5 44.5q26 0 61 -13zM1668 663q0 -18 -4 -42q-13 -79 -17 -113h-46l1 22q-20 -26 -59 -26q-23 0 -37 16t-14 42q0 39 25.5 60.5t72.5 21.5q15 0 23 -1q2 7 2 13q0 20 -36 20q-29 0 -59 -10q0 4 8 48 q38 11 67 11q73 0 73 -62zM1809 722q-14 -24 -21 -62q-23 2 -31.5 -23t-25.5 -129h-56l3 14q19 104 29 199h52q0 -11 -4 -33q15 21 26.5 29.5t27.5 4.5zM1950 770h56l-43 -262h-53l3 19q-23 -23 -52 -23q-31 0 -49.5 24t-18.5 64q0 53 27.5 92t64.5 39q31 0 53 -29z M2061 640q0 148 -72.5 273t-198 198t-273.5 73q-181 0 -328 -110q127 -116 171 -284h-50q-44 150 -158 253q-114 -103 -158 -253h-50q44 168 171 284q-147 110 -328 110q-148 0 -273.5 -73t-198 -198t-72.5 -273t72.5 -273t198 -198t273.5 -73q181 0 328 110 q-120 111 -165 264h50q46 -138 152 -233q106 95 152 233h50q-45 -153 -165 -264q147 -110 328 -110q148 0 273.5 73t198 198t72.5 273zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf1f2;" horiz-adv-x="2304" d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42 q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604 v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569 q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73 t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" />
-<glyph unicode="&#xf1f3;" horiz-adv-x="2304" d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260 l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279 v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040 q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168 q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5 t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21 h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5 t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" />
-<glyph unicode="&#xf1f4;" horiz-adv-x="2304" d="M745 630q0 -37 -25.5 -61.5t-62.5 -24.5q-29 0 -46.5 16t-17.5 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM1530 779q0 -42 -22 -57t-66 -15l-32 -1l17 107q2 11 13 11h18q22 0 35 -2t25 -12.5t12 -30.5zM1881 630q0 -36 -25.5 -61t-61.5 -25q-29 0 -47 16 t-18 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM513 801q0 59 -38.5 85.5t-100.5 26.5h-160q-19 0 -21 -19l-65 -408q-1 -6 3 -11t10 -5h76q20 0 22 19l18 110q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM822 489l41 261q1 6 -3 11t-10 5h-76 q-14 0 -17 -33q-27 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q28 0 58 12t48 32q-4 -12 -4 -21q0 -16 13 -16h69q19 0 22 19zM1269 752q0 5 -4 9.5t-9 4.5h-77q-11 0 -18 -10l-106 -156l-44 150q-5 16 -22 16h-75q-5 0 -9 -4.5t-4 -9.5q0 -2 19.5 -59 t42 -123t23.5 -70q-82 -112 -82 -120q0 -13 13 -13h77q11 0 18 10l255 368q2 2 2 7zM1649 801q0 59 -38.5 85.5t-100.5 26.5h-159q-20 0 -22 -19l-65 -408q-1 -6 3 -11t10 -5h82q12 0 16 13l18 116q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM1958 489 l41 261q1 6 -3 11t-10 5h-76q-14 0 -17 -33q-26 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q29 0 59 12t47 32q0 -1 -2 -9t-2 -12q0 -16 13 -16h69q19 0 22 19zM2176 898v1q0 14 -13 14h-74q-11 0 -13 -11l-65 -416l-1 -2q0 -5 4 -9.5t10 -4.5h66 q19 0 21 19zM392 764q-5 -35 -26 -46t-60 -11l-33 -1l17 107q2 11 13 11h19q40 0 58 -11.5t12 -48.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf1f5;" horiz-adv-x="2304" d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109 q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118 q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151 q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31 q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf1f6;" horiz-adv-x="2048" d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5 l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5 l418 363q10 8 23.5 7t21.5 -11z" />
-<glyph unicode="&#xf1f7;" horiz-adv-x="2048" d="M1040 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128 q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161 q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" />
-<glyph unicode="&#xf1f8;" horiz-adv-x="1408" d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704 q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167 q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf1f9;" d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5 t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5 t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf1fa;" d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53 q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24 t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61 t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" />
-<glyph unicode="&#xf1fb;" horiz-adv-x="1792" d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10 t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" />
-<glyph unicode="&#xf1fc;" horiz-adv-x="1792" d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5 t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" />
-<glyph unicode="&#xf1fd;" horiz-adv-x="1792" d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11t55.5 -11t52.5 -38q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5t47 37.5 q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-35 0 -55.5 11t-52.5 38q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38t-58 27 t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448h256v448 h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51 t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" />
-<glyph unicode="&#xf1fe;" horiz-adv-x="2048" d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" />
-<glyph unicode="&#xf200;" horiz-adv-x="1792" d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf201;" horiz-adv-x="2048" d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9 t9 -23z" />
-<glyph unicode="&#xf202;" horiz-adv-x="1792" d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20 q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50 t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1 q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" />
-<glyph unicode="&#xf203;" d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73 q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110 q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf204;" horiz-adv-x="2048" d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5 t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5 t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" />
-<glyph unicode="&#xf205;" horiz-adv-x="2048" d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5 t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5z" />
-<glyph unicode="&#xf206;" horiz-adv-x="2304" d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94 q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469 q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400 q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" />
-<glyph unicode="&#xf207;" d="M384 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5 h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" />
-<glyph unicode="&#xf208;" horiz-adv-x="2048" d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327 q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5 q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" />
-<glyph unicode="&#xf209;" horiz-adv-x="1280" d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q18 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119 t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5 t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14 q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88 q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5 t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" />
-<glyph unicode="&#xf20a;" horiz-adv-x="2048" d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206 q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307 t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14 t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" />
-<glyph unicode="&#xf20b;" d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5 t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf20c;" d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55 q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410 q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" />
-<glyph unicode="&#xf20d;" d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" />
-<glyph unicode="&#xf20e;" horiz-adv-x="2048" d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335 q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t43 -21h398q18 21 44 21q23 0 40 -16.5t17 -40.5 q0 -6 -4 -18l207 -358q23 -1 39 -17.5t16 -38.5q0 -13 -7 -27l187 -324q19 -4 31.5 -19.5t12.5 -35.5zM1063 -158h389l-342 354h-143l-342 -354h360q18 16 39 16t39 -16zM112 654q1 -4 1 -13q0 -10 -2 -15l208 -360q2 0 4.5 -1t5.5 -2.5l5 -2.5l188 199v347l-187 194 q-13 -8 -29 -10zM986 1438h-388l190 -200l554 200h-280q-16 -16 -38 -16t-38 16zM1689 226q1 6 5 11l-64 68l-17 -79h76zM1583 226l22 105l-252 266l-296 -307l63 -64h463zM1495 -142l16 28l65 310h-427l333 -343q8 4 13 5zM578 -158h5l342 354h-373v-335l4 -6q14 -5 22 -13 zM552 226h402l64 66l-309 321l-157 -166v-221zM359 226h163v189l-168 -177q4 -8 5 -12zM358 1051q0 -1 0.5 -2t0.5 -2q0 -16 -8 -29l171 -177v269zM552 1121v-311l153 -157l297 314l-223 236zM556 1425l-4 -8v-264l205 74l-191 201q-6 -2 -10 -3zM1447 1438h-16l-621 -224 l213 -225zM1023 946l-297 -315l311 -319l296 307zM688 634l-136 141v-284zM1038 270l-42 -44h85zM1374 618l238 -251l132 624l-3 5l-1 1zM1718 1018q-8 13 -8 29v2l-216 376q-5 1 -13 5l-437 -463l310 -327zM522 1142v223l-163 -282zM522 196h-163l163 -283v283zM1607 196 l-48 -227l130 227h-82zM1729 266l207 361q-2 10 -2 14q0 1 3 16l-171 296l-129 -612l77 -82q5 3 15 7z" />
-<glyph unicode="&#xf210;" d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" />
-<glyph unicode="&#xf211;" d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384 q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" />
-<glyph unicode="&#xf212;" horiz-adv-x="2048" d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021 q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-176 0 -336 -66l-114 -941q124 51 228.5 76t221.5 25 q209 0 374 -102q172 107 374 102z" />
-<glyph unicode="&#xf213;" horiz-adv-x="2048" d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101 q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 -284t-284 -118h-1244q-166 0 -284 118t-118 284 q0 116 63 214.5t168 148.5q-10 34 -10 73q0 113 80.5 193.5t193.5 80.5q102 0 180 -67q45 183 194 300t338 117q149 0 275 -73.5t199.5 -199.5t73.5 -275q0 -66 -14 -122q135 -33 221 -142.5t86 -247.5z" />
-<glyph unicode="&#xf214;" d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34 l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l105 47l15 -34l-105 -46zM259 1389v-36h-114 v36h114zM421 1389v-36h-115v36h115zM583 1389v-36h-115v36h115zM744 1389v-36h-114v36h114zM906 1389v-36h-114v36h114zM1068 1389v-36h-115v36h115zM1230 1389v-36h-115v36h115zM1391 1389v-36h-114v36h114zM181 1049v-79h-37v115h115v-36h-78zM421 1085v-36h-115v36h115z M583 1085v-36h-115v36h115zM744 1085v-36h-114v36h114zM906 1085v-36h-114v36h114zM1068 1085v-36h-115v36h115zM1230 1085v-36h-115v36h115zM1355 970v79h-78v36h115v-115h-37zM1355 822v115h37v-115h-37zM1355 674v115h37v-115h-37zM1355 526v115h37v-115h-37zM1355 378 v115h37v-115h-37zM1355 230v115h37v-115h-37zM760 265q-129 0 -221 91.5t-92 221.5q0 129 92 221t221 92q130 0 221.5 -92t91.5 -221q0 -130 -91.5 -221.5t-221.5 -91.5zM595 646q0 -36 19.5 -56.5t49.5 -25t64 -7t64 -2t49.5 -9t19.5 -30.5q0 -49 -112 -49q-97 0 -123 51 h-3l-31 -63q67 -42 162 -42q29 0 56.5 5t55.5 16t45.5 33t17.5 53q0 46 -27.5 69.5t-67.5 27t-79.5 3t-67 5t-27.5 25.5q0 21 20.5 33t40.5 15t41 3q34 0 70.5 -11t51.5 -34h3l30 58q-3 1 -21 8.5t-22.5 9t-19.5 7t-22 7t-20 4.5t-24 4t-23 1q-29 0 -56.5 -5t-54 -16.5 t-43 -34t-16.5 -53.5z" />
-<glyph unicode="&#xf215;" horiz-adv-x="2048" d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832 q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" />
-<glyph unicode="&#xf216;" horiz-adv-x="2048" d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126.5t-103.5 132.5t-108.5 126t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5 t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 -113t151.5 -153t139 -167.5t133.5 -153.5t149.5 -113 t172.5 -43.5q102 0 168.5 61.5t66.5 162.5q0 95 -64.5 159t-159.5 64q-30 0 -81.5 -18.5t-68.5 -18.5q-20 0 -35.5 15t-15.5 35q0 18 8.5 57t8.5 59q0 159 -107.5 263t-266.5 104q-58 0 -111.5 -18.5t-84 -40.5t-55.5 -40.5t-33 -18.5q-15 0 -25.5 10.5t-10.5 25.5 q0 19 25 46q59 67 147 103.5t182 36.5q191 0 318 -125.5t127 -315.5q0 -37 -4 -66q57 15 115 15z" />
-<glyph unicode="&#xf217;" horiz-adv-x="1664" d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920 q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf218;" horiz-adv-x="1664" d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920 q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf219;" horiz-adv-x="2048" d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20 l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" />
-<glyph unicode="&#xf21a;" horiz-adv-x="2048" d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83 q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83 q19 19 45 19t45 -19l83 -83zM237 19q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -82l83 82q19 19 45 19t45 -19l83 -82l64 64v293l-210 314q-17 26 -7 56.5t40 40.5l177 58v299h128v128h256v128h256v-128h256v-128h128v-299l177 -58q30 -10 40 -40.5t-7 -56.5l-210 -314 v-293l19 18q19 19 45 19t45 -19l83 -82l83 82q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83 q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83zM640 1152v-128l384 128l384 -128v128h-128v128h-512v-128h-128z" />
-<glyph unicode="&#xf21b;" d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14 t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 20.5t7.5 20.5q2 7 7.5 10.5t7.5 6.5 q2 9 4 27zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 61 4.5 118t19 125.5t37.5 123.5t63.5 103.5t93.5 74.5l-90 220h214q-22 64 -22 128q0 12 2 32q-194 40 -194 96q0 57 210 99q17 62 51.5 134t70.5 114q32 37 76 37q30 0 84 -31t84 -31t84 31 t84 31q44 0 76 -37q36 -42 70.5 -114t51.5 -134q210 -42 210 -99q0 -56 -194 -96q7 -81 -20 -160h214l-82 -225q63 -33 107.5 -96.5t65.5 -143.5t29 -151.5t8 -148.5z" />
-<glyph unicode="&#xf21c;" horiz-adv-x="2304" d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5 t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5t-14 52.5q4 23 23 38t43 15h253q33 0 53 -28l70 -105 l114 114q19 19 46 19h101q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-179l115 -172q131 63 275 36q143 -26 244 -134.5t118 -253.5zM448 128q115 0 203 72.5t111 183.5h-314q-35 0 -55 31q-18 32 -1 63l147 277q-47 13 -91 13q-132 0 -226 -94t-94 -226t94 -226 t226 -94zM1856 128q132 0 226 94t94 226t-94 226t-226 94q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94z" />
-<glyph unicode="&#xf21d;" d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12 q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 -44.5t91 -66.5t33 -88.5zM1024 896v-384 q0 -26 -19 -45t-45 -19h-64v-384q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v384h-64q-26 0 -45 19t-19 45v384q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM928 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5 t158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf21e;" horiz-adv-x="1792" d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221 q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124 t127 -344z" />
-<glyph unicode="&#xf221;" horiz-adv-x="1280" d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292 q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" />
-<glyph unicode="&#xf222;" d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5 q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf223;" horiz-adv-x="1280" d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5 t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -273zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf224;" d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf225;" horiz-adv-x="1792" d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l-111 112v-134q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9 t-9 23v288q0 26 19 45t45 19h288q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-133l106 -107l86 94q9 10 22 10.5t23 -7.5l48 -44q10 -8 10.5 -21.5t-8.5 -23.5l-90 -99l57 -56q158 126 359 126t359 -126l255 254h-134q-14 0 -23 9t-9 23v64zM832 256q185 0 316.5 131.5 t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf226;" horiz-adv-x="1792" d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23 t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM576 512q115 0 218 57q-154 165 -154 391 q0 224 154 391q-103 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1152 128v260q-137 15 -256 94q-119 -79 -256 -94v-260h512zM1216 512q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5q-115 0 -218 -57q154 -167 154 -391 q0 -226 -154 -391q103 -57 218 -57z" />
-<glyph unicode="&#xf227;" horiz-adv-x="1920" d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230 q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -74 93 -169q182 -9 328 -124l255 254h-134q-14 0 -23 9 t-9 23v64zM1024 704q0 20 -4 58q-162 -25 -271 -150t-109 -292q0 -20 4 -58q162 25 271 150t109 292zM128 704q0 -168 111 -294t276 -149q-3 29 -3 59q0 210 135 369.5t338 196.5q-53 120 -163.5 193t-245.5 73q-185 0 -316.5 -131.5t-131.5 -316.5zM1088 -128 q185 0 316.5 131.5t131.5 316.5q0 168 -111 294t-276 149q3 -29 3 -59q0 -210 -135 -369.5t-338 -196.5q53 -120 163.5 -193t245.5 -73z" />
-<glyph unicode="&#xf228;" horiz-adv-x="2048" d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23 t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q146 97 320 97q201 0 359 -126l255 254h-134q-14 0 -23 9 t-9 23v64zM896 391q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM128 704q0 -185 131.5 -316.5t316.5 -131.5q117 0 218 57q-154 167 -154 391t154 391q-101 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5zM1216 256q185 0 316.5 131.5t131.5 316.5 t-131.5 316.5t-316.5 131.5q-117 0 -218 -57q154 -167 154 -391t-154 -391q101 -57 218 -57z" />
-<glyph unicode="&#xf229;" d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5 t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf22a;" horiz-adv-x="1280" d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22 t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5 t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf22b;" horiz-adv-x="2048" d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5 t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5 t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf22c;" horiz-adv-x="1280" d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5 t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf22d;" horiz-adv-x="1280" d="M1024 576q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123 t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" />
-<glyph unicode="&#xf22e;" horiz-adv-x="1792" />
-<glyph unicode="&#xf22f;" horiz-adv-x="1792" />
-<glyph unicode="&#xf230;" d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" />
-<glyph unicode="&#xf231;" horiz-adv-x="1280" d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5 l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 95t38 110.5t20 111t6.5 99.5q0 173 -109.5 269.5t-285.5 96.5 q-200 0 -334 -129.5t-134 -328.5q0 -44 12.5 -85t27 -65t27 -45.5t12.5 -30.5q0 -28 -15 -73t-37 -45q-2 0 -17 3q-51 15 -90.5 56t-61 94.5t-32.5 108t-11 106.5z" />
-<glyph unicode="&#xf232;" d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5 t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 -200.5t-50 -243.5q0 -203 120 -368l-79 -233 l242 77q158 -104 345 -104zM782 1414q153 0 292.5 -60t240.5 -161t161 -240.5t60 -292.5t-60 -292.5t-161 -240.5t-240.5 -161t-292.5 -60q-195 0 -365 94l-417 -134l136 405q-108 178 -108 389q0 153 60 292.5t161 240.5t240.5 161t292.5 60z" />
-<glyph unicode="&#xf233;" horiz-adv-x="1792" d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216 q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" />
-<glyph unicode="&#xf234;" horiz-adv-x="2048" d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5 t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h-874q-121 0 -194 69t-73 190q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q79 -61 154.5 -91.5t164.5 -30.5t164.5 30.5t154.5 91.5q20 17 39 17q132 0 217 -96h-223q-52 0 -90 -38t-38 -90v-192z" />
-<glyph unicode="&#xf235;" horiz-adv-x="2048" d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136 q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91q0 -53 37 -90l83 -83q-21 -3 -44 -3h-874q-121 0 -194 69 t-73 190q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q154 -122 319 -122t319 122q20 17 39 17q28 0 57 -6q-28 -27 -41 -50t-13 -56q0 -54 37 -91z" />
-<glyph unicode="&#xf236;" horiz-adv-x="2048" d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704 q-26 0 -45 -19t-19 -45v-384h1152z" />
-<glyph unicode="&#xf237;" d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" />
-<glyph unicode="&#xf238;" d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56 t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" />
-<glyph unicode="&#xf239;" d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47 t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" />
-<glyph unicode="&#xf23a;" horiz-adv-x="1792" d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116 q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" />
-<glyph unicode="&#xf23b;" d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" />
-<glyph unicode="&#xf23c;" horiz-adv-x="2296" d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5 q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5zM1158 1094h1q-41 0 -76 -15q27 -8 44 -30.5t17 -49.5 q0 -35 -27 -60t-65 -25q-52 0 -80 43q-5 -23 -5 -42q0 -74 56 -126.5t135 -52.5q80 0 136 52.5t56 126.5t-56 126.5t-136 52.5zM1462 1312q-99 109 -220.5 131.5t-245.5 -44.5q27 60 82.5 96.5t118 39.5t121.5 -17t99.5 -74.5t44.5 -131.5zM2212 73q8 -11 -11 -42 q7 -23 7 -40q1 -56 -44.5 -112.5t-109.5 -91.5t-118 -37q-48 -2 -92 21.5t-66 65.5q-687 -25 -1259 0q-23 -41 -66.5 -65t-92.5 -22q-86 3 -179.5 80.5t-92.5 160.5q2 22 7 40q-19 31 -11 42q6 10 31 1q14 22 41 51q-7 29 2 38q11 10 39 -4q29 20 59 34q0 29 13 37 q23 12 51 -16q35 5 61 -2q18 -4 38 -19v73q-11 0 -18 2q-53 10 -97 44.5t-55 87.5q-9 38 0 81q15 62 93 95q2 17 19 35.5t36 23.5t33 -7.5t19 -30.5h13q46 -5 60 -23q3 -3 5 -7q10 1 30.5 3.5t30.5 3.5q-15 11 -30 17q-23 40 -91 43q0 6 1 10q-62 2 -118.5 18.5t-84.5 47.5 q-32 36 -42.5 92t-2.5 112q16 126 90 179q23 16 52 4.5t32 -40.5q0 -1 1.5 -14t2.5 -21t3 -20t5.5 -19t8.5 -10q27 -14 76 -12q48 46 98 74q-40 4 -162 -14l47 46q61 58 163 111q145 73 282 86q-20 8 -41 15.5t-47 14t-42.5 10.5t-47.5 11t-43 10q595 126 904 -139 q98 -84 158 -222q85 -10 121 9h1q5 3 8.5 10t5.5 19t3 19.5t3 21.5l1 14q3 28 32 40t52 -5q73 -52 91 -178q7 -57 -3.5 -113t-42.5 -91q-28 -32 -83.5 -48.5t-115.5 -18.5v-10q-71 -2 -95 -43q-14 -5 -31 -17q11 -1 32 -3.5t30 -3.5q1 4 5 8q16 18 60 23h13q5 18 19 30t33 8 t36 -23t19 -36q79 -32 93 -95q9 -40 1 -81q-12 -53 -56 -88t-97 -44q-10 -2 -17 -2q0 -49 -1 -73q20 15 38 19q26 7 61 2q28 28 51 16q14 -9 14 -37q33 -16 59 -34q27 13 38 4q10 -10 2 -38q28 -30 41 -51q23 8 31 -1zM1937 1025q0 -29 -9 -54q82 -32 112 -132 q4 37 -9.5 98.5t-41.5 90.5q-20 19 -36 17t-16 -20zM1859 925q35 -42 47.5 -108.5t-0.5 -124.5q67 13 97 45q13 14 18 28q-3 64 -31 114.5t-79 66.5q-15 -15 -52 -21zM1822 921q-30 0 -44 1q42 -115 53 -239q21 0 43 3q16 68 1 135t-53 100zM258 839q30 100 112 132 q-9 25 -9 54q0 18 -16.5 20t-35.5 -17q-28 -29 -41.5 -90.5t-9.5 -98.5zM294 737q29 -31 97 -45q-13 58 -0.5 124.5t47.5 108.5v0q-37 6 -52 21q-51 -16 -78.5 -66t-31.5 -115q9 -17 18 -28zM471 683q14 124 73 235q-19 -4 -55 -18l-45 -19v1q-46 -89 -20 -196q25 -3 47 -3z M1434 644q8 -38 16.5 -108.5t11.5 -89.5q3 -18 9.5 -21.5t23.5 4.5q40 20 62 85.5t23 125.5q-24 2 -146 4zM1152 1285q-116 0 -199 -82.5t-83 -198.5q0 -117 83 -199.5t199 -82.5t199 82.5t83 199.5q0 116 -83 198.5t-199 82.5zM1380 646q-106 2 -211 0v1q-1 -27 2.5 -86 t13.5 -66q29 -14 93.5 -14.5t95.5 10.5q9 3 11 39t-0.5 69.5t-4.5 46.5zM1112 447q8 4 9.5 48t-0.5 88t-4 63v1q-212 -3 -214 -3q-4 -20 -7 -62t0 -83t14 -46q34 -15 101 -16t101 10zM718 636q-16 -59 4.5 -118.5t77.5 -84.5q15 -8 24 -5t12 21q3 16 8 90t10 103 q-69 -2 -136 -6zM591 510q3 -23 -34 -36q132 -141 271.5 -240t305.5 -154q172 49 310.5 146t293.5 250q-33 13 -30 34l3 9v1v-1q-17 2 -50 5.5t-48 4.5q-26 -90 -82 -132q-51 -38 -82 1q-5 6 -9 14q-7 13 -17 62q-2 -5 -5 -9t-7.5 -7t-8 -5.5t-9.5 -4l-10 -2.5t-12 -2 l-12 -1.5t-13.5 -1t-13.5 -0.5q-106 -9 -163 11q-4 -17 -10 -26.5t-21 -15t-23 -7t-36 -3.5q-2 0 -3 -0.5t-3 -0.5h-3q-179 -17 -203 40q-2 -63 -56 -54q-47 8 -91 54q-12 13 -20 26q-17 29 -26 65q-58 -6 -87 -10q1 -2 4 -10zM507 -118q3 14 3 30q-17 71 -51 130t-73 70 q-41 12 -101.5 -14.5t-104.5 -80t-39 -107.5q35 -53 100 -93t119 -42q51 -2 94 28t53 79zM510 53q23 -63 27 -119q195 113 392 174q-98 52 -180.5 120t-179.5 165q-6 -4 -29 -13q0 -2 -1 -5t-1 -4q31 -18 22 -37q-12 -23 -56 -34q-10 -13 -29 -24h-1q-2 -83 1 -150 q19 -34 35 -73zM579 -113q532 -21 1145 0q-254 147 -428 196q-76 -35 -156 -57q-8 -3 -16 0q-65 21 -129 49q-208 -60 -416 -188h-1v-1q1 0 1 1zM1763 -67q4 54 28 120q14 38 33 71l-1 -1q3 77 3 153q-15 8 -30 25q-42 9 -56 33q-9 20 22 38q-2 4 -2 9q-16 4 -28 12 q-204 -190 -383 -284q198 -59 414 -176zM2155 -90q5 54 -39 107.5t-104 80t-102 14.5q-38 -11 -72.5 -70.5t-51.5 -129.5q0 -16 3 -30q10 -49 53 -79t94 -28q54 2 119 42t100 93z" />
-<glyph unicode="&#xf23d;" horiz-adv-x="2304" d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5 t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98.5t83 91.5t54 80.5t13 70t-45.5 55.5t-116.5 41t-204 23.5 t-304 5q-168 -2 -314 6t-256 23t-204.5 41t-159.5 51.5t-122.5 62.5t-91.5 66.5t-68 71.5t-50.5 69.5t-40 68t-36.5 59.5z" />
-<glyph unicode="&#xf23e;" horiz-adv-x="1792" d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348 t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 -90.5q0 -35 -17.5 -64t-46.5 -46v-114q0 -14 -9 -23 t-23 -9h-64q-14 0 -23 9t-9 23v114q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5zM896 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM544 928v-96 q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 93 65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5v-96q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 146 -103 249t-249 103t-249 -103t-103 -249zM1408 192v512q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-512 q0 -26 19 -45t45 -19h896q26 0 45 19t19 45z" />
-<glyph unicode="&#xf240;" horiz-adv-x="2304" d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113 v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf241;" horiz-adv-x="2304" d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
-<glyph unicode="&#xf242;" horiz-adv-x="2304" d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
-<glyph unicode="&#xf243;" horiz-adv-x="2304" d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
-<glyph unicode="&#xf244;" horiz-adv-x="2304" d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23 v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
-<glyph unicode="&#xf245;" horiz-adv-x="1280" d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" />
-<glyph unicode="&#xf246;" horiz-adv-x="1024" d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" />
-<glyph unicode="&#xf247;" horiz-adv-x="2048" d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128 h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" />
-<glyph unicode="&#xf248;" horiz-adv-x="2304" d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256 v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v-384h128v-384h-384v128h-384v-128h128v-128h896v128h128z" />
-<glyph unicode="&#xf249;" d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" />
-<glyph unicode="&#xf24a;" d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68 z" />
-<glyph unicode="&#xf24b;" horiz-adv-x="2304" d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5 t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-127 6 -218.5 -14t-140.5 -60t-71 -88t-22 -106t22 -106t71 -88 t140.5 -60t218.5 -14q101 4 208 31zM2176 518q0 54 -43 88.5t-109 39.5v3q57 8 89 41.5t32 79.5q0 55 -41 88t-107 36q-3 0 -12 0.5t-14 0.5h-455v-510h491q74 0 121.5 36.5t47.5 96.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90 t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf24c;" horiz-adv-x="2304" d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294 t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323 -85h301q129 0 251.5 50.5t214.5 135t147.5 202.5t55.5 246z M2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf24d;" horiz-adv-x="1792" d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113 zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf24e;" horiz-adv-x="2304" d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64 q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5zM2176 384q0 -73 -46.5 -131t-117.5 -91 t-144.5 -49.5t-139.5 -16.5t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81zM896 384q0 -73 -46.5 -131t-117.5 -91t-144.5 -49.5t-139.5 -16.5 t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81z" />
-<glyph unicode="&#xf250;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-77 -29 -149 -92.5 t-129.5 -152.5t-92.5 -210t-35 -253h1024q0 132 -35 253t-92.5 210t-129.5 152.5t-149 92.5q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
-<glyph unicode="&#xf251;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -152t-90.5 -208t-34 -249.5h1024z" />
-<glyph unicode="&#xf252;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" />
-<glyph unicode="&#xf253;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-137 -51 -244 -196 h700q-107 145 -244 196q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
-<glyph unicode="&#xf254;" d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87 t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9 h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472z" />
-<glyph unicode="&#xf255;" d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25 q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 -50q57 34 123 34q59 0 111 -27 t86 -76q27 7 59 7q100 0 170 -71.5t70 -171.5v-246q0 -51 -13 -108l-109 -436q-6 -24 -6 -71q0 -80 -56 -136t-136 -56h-640q-84 0 -138 58.5t-54 142.5l-308 296q-76 73 -76 175v224q0 99 70.5 169.5t169.5 70.5q11 0 16 -1q6 95 75.5 160t164.5 65q52 0 98 -21 q72 69 174 69z" />
-<glyph unicode="&#xf256;" horiz-adv-x="1792" d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33 t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -175v-498q0 -40 -8 -83l-76 -404q-14 -79 -76.5 -131t-143.5 -52 h-688q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 106 75 181t181 75q78 0 128 -34v434q0 99 70.5 169.5t169.5 70.5q23 0 42 -4q31 61 88.5 96.5t125.5 35.5z" />
-<glyph unicode="&#xf257;" horiz-adv-x="1792" d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668 q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79t-79 33q-26 0 -46 -10l-290 -132q-28 -13 -37 -17 t-30.5 -17t-29.5 -23.5t-16 -29t-8 -40.5q0 -50 31.5 -82t81.5 -32q20 0 38 9l352 160q30 14 48 41.5t18 60.5zM1112 1024l-650 248q-24 8 -46 8q-53 0 -90.5 -37.5t-37.5 -90.5q0 -40 22.5 -73t59.5 -47l526 -200v-64h-640q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5 t90.5 -37.5h535l233 106v198q0 63 46 106l111 102h-69zM1073 0q82 0 155 19l339 85q43 11 70 45.5t27 78.5v668q0 53 -37.5 90.5t-90.5 37.5h-308l-136 -126q-36 -33 -36 -82v-296q0 -46 33 -77t79 -31t79 35t33 81v208h32v-208q0 -70 -57 -114q52 -8 86.5 -48.5t34.5 -93.5 q0 -42 -23 -78t-61 -53l-310 -141h91z" />
-<glyph unicode="&#xf258;" horiz-adv-x="2048" d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32 q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 -44 3 -58q8 -44 44 -73t81 -29h640h91q40 0 68 -28t28 -68 q0 -15 -5 -30l-64 -192q-10 -29 -35 -47.5t-56 -18.5h-443q-66 0 -113 -47t-47 -113v-32q0 -26 19 -45t45 -19h561q16 0 29 -7l317 -158q24 -13 38.5 -36t14.5 -50v-197q0 -26 19 -45t45 -19h384q26 0 45 19t19 45z" />
-<glyph unicode="&#xf259;" horiz-adv-x="2048" d="M816 1408q-48 0 -79.5 -34t-31.5 -82q0 -14 3 -28l150 -624h-26l-116 482q-9 38 -39.5 62t-69.5 24q-47 0 -79 -34t-32 -81q0 -11 4 -29q3 -13 39 -161t68 -282t32 -138v-227l-307 230q-34 26 -77 26q-52 0 -89.5 -36.5t-37.5 -88.5q0 -67 56 -110l507 -379 q34 -26 76 -26h694q33 0 59 20.5t34 52.5l100 401q8 30 10 88t9 86l116 478q3 12 3 26q0 46 -33 79t-80 33q-38 0 -69 -25.5t-40 -62.5l-99 -408h-26l132 547q3 14 3 28q0 47 -32 80t-80 33q-38 0 -68.5 -24t-39.5 -62l-145 -602h-127l-164 682q-9 38 -39.5 62t-68.5 24z M1461 -256h-694q-85 0 -153 51l-507 380q-50 38 -78.5 94t-28.5 118q0 105 75 179t180 74q25 0 49.5 -5.5t41.5 -11t41 -20.5t35 -23t38.5 -29.5t37.5 -28.5l-123 512q-7 35 -7 59q0 93 60 162t152 79q14 87 80.5 144.5t155.5 57.5q83 0 148 -51.5t85 -132.5l103 -428 l83 348q20 81 85 132.5t148 51.5q87 0 152.5 -54t82.5 -139q93 -10 155 -78t62 -161q0 -30 -7 -57l-116 -477q-5 -22 -5 -67q0 -51 -13 -108l-101 -401q-19 -75 -79.5 -122.5t-137.5 -47.5z" />
-<glyph unicode="&#xf25a;" horiz-adv-x="1792" d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5 q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47 21 99 21q113 0 184 -87q27 7 56 7q94 0 159 -67.5t65 -161.5 v-217q0 -116 -28 -225l-92 -368q-16 -64 -68 -104.5t-118 -40.5h-718q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 105 74.5 180.5t179.5 75.5q71 0 130 -35v547q0 106 75 181t181 75zM768 128v384h-32v-384h32zM1024 128v384h-32v-384h32zM1280 128v384h-32 v-384h32z" />
-<glyph unicode="&#xf25b;" d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181 v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 -30.5t-17 -37l-132 -290q-10 -20 -10 -46 q0 -46 33 -79t79 -33q33 0 60.5 18t41.5 48l160 352q9 18 9 38q0 50 -32 81.5t-82 31.5zM128 1120q0 -22 8 -46l248 -650v-69l102 111q43 46 106 46h198l106 233v535q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-640h-64l-200 526q-14 37 -47 59.5t-73 22.5 q-53 0 -90.5 -37.5t-37.5 -90.5zM1180 -128q44 0 78.5 27t45.5 70l85 339q19 73 19 155v91l-141 -310q-17 -38 -53 -61t-78 -23q-53 0 -93.5 34.5t-48.5 86.5q-44 -57 -114 -57h-208v32h208q46 0 81 33t35 79t-31 79t-77 33h-296q-49 0 -82 -36l-126 -136v-308 q0 -53 37.5 -90.5t90.5 -37.5h668z" />
-<glyph unicode="&#xf25c;" horiz-adv-x="1973" d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5 t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51q3 7 9.5 24.5t10.5 26.5l221 520q9 19 29 19h141 q13 0 22 -8.5t10 -20.5z" />
-<glyph unicode="&#xf25d;" horiz-adv-x="1792" d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109 t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM1792 640 q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf25e;" horiz-adv-x="1792" d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13t-23.5 -14.5t-28.5 -13.5t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78 q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13t-23.5 -14.5t-28.5 -13.5t-33.5 -9.5 t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-147 0 -245.5 -96.5t-98.5 -240.5q0 -146 97 -241.5t247 -95.5zM896 1376 q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191 t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71z" />
-<glyph unicode="&#xf260;" horiz-adv-x="2048" d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" />
-<glyph unicode="&#xf261;" horiz-adv-x="1792" d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191 t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf262;" horiz-adv-x="2304" d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57 t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q0 -116 -81.5 -197.5t-196.5 -81.5q-116 0 -197.5 82t-81.5 197 t82 196.5t197 81.5t196.5 -81.5t81.5 -196.5zM2004 540q0 -115 -81.5 -196.5t-197.5 -81.5q-115 0 -196.5 81.5t-81.5 196.5t81.5 196.5t196.5 81.5q116 0 197.5 -81.5t81.5 -196.5zM1040 537q0 191 -135.5 326.5t-326.5 135.5q-125 0 -231 -62t-168 -168.5t-62 -231.5 t62 -231.5t168 -168.5t231 -62q191 0 326.5 135.5t135.5 326.5zM1708 1110q-254 111 -556 111q-319 0 -573 -110q117 0 223 -45.5t182.5 -122.5t122 -183t45.5 -223q0 115 43.5 219.5t118 180.5t177.5 123t217 50zM2187 537q0 191 -135 326.5t-326 135.5t-326.5 -135.5 t-135.5 -326.5t135.5 -326.5t326.5 -135.5t326 135.5t135 326.5zM1921 1103h383q-44 -51 -75 -114.5t-40 -114.5q110 -151 110 -337q0 -156 -77 -288t-209 -208.5t-287 -76.5q-133 0 -249 56t-196 155q-47 -56 -129 -179q-11 22 -53.5 82.5t-74.5 97.5 q-80 -99 -196.5 -155.5t-249.5 -56.5q-155 0 -287 76.5t-209 208.5t-77 288q0 186 110 337q-9 51 -40 114.5t-75 114.5h365q149 100 355 156.5t432 56.5q224 0 421 -56t348 -157z" />
-<glyph unicode="&#xf263;" horiz-adv-x="1280" d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5 t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 30 -31 73t31 74l267 267l72 72q-203 21 -317 94 q-39 25 -61.5 41.5t-42.5 37t-26.5 38.5t-4.5 40.5t15 49.5q10 20 28 35t42 22t56 -2t65 -35q5 -4 15 -11t43 -24.5t69 -30.5t92 -24t113 -11q91 0 174 25.5t120 50.5l38 25q33 26 65 35t56 2t42 -22t28 -35z" />
-<glyph unicode="&#xf264;" d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32 q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 52q141 14 225 67q67 44 87 73.5t-2 74.5 zM1092 956q0 134 -95 229t-229 95t-229 -95t-95 -229t95 -229t229 -95t229 95t95 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf265;" horiz-adv-x="1720" d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33 l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" />
-<glyph unicode="&#xf266;" horiz-adv-x="2304" d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540 q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5 0.5t180 1t92.5 0.5v-49q-62 -2 -119 -33t-90 -81 l-213 -442q13 -33 127.5 -290t121.5 -274l441 1017q-14 38 -49.5 62.5t-65 31.5t-55.5 8v50l460 -4l1 -2l-1 -44q-139 -4 -201 -145q-526 -1216 -559 -1291h-49z" />
-<glyph unicode="&#xf267;" horiz-adv-x="1792" d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640 q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 13 20.5t21.5 33.5t9.5 19q0 13 -13 13q-6 0 -17 -14.5 t-22.5 -34.5t-13.5 -23q-113 75 -192 187.5t-110 244.5l69 15q10 3 10 15q0 5 -5.5 8t-10.5 2l-68 -15q-14 72 -14 139q0 206 109 379q2 -1 18.5 -12t30 -19t17.5 -8q13 0 13 12q0 6 -12.5 15.5t-32.5 21.5l-20 12q77 112 189 189t244 107l15 -67q2 -10 15 -10q5 0 8 5.5 t2 10.5l-15 66q71 13 134 13q204 0 379 -109q-39 -56 -39 -65q0 -13 12 -13q11 0 48 64q111 -75 187.5 -186t107.5 -241l-56 -12q-10 -2 -10 -16q0 -5 5.5 -8t9.5 -2l57 13q14 -72 14 -140zM1696 640q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5 t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191 t191 -286t71 -348z" />
-<glyph unicode="&#xf268;" horiz-adv-x="1792" d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962 q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5 213.5t213.5 88.5z" />
-<glyph unicode="&#xf269;" horiz-adv-x="1792" d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5 q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31.5 -10.5t-46.5 -1q-60 -95 -144.5 -135.5t-209.5 -29.5 q74 -61 162.5 -82.5t168.5 -6t154.5 52t128 87.5t80.5 104q43 91 39 192.5t-37.5 188.5t-78.5 125q87 -38 137 -79.5t77 -112.5q15 170 -57.5 343t-209.5 284q265 -77 412 -279.5t151 -517.5q2 -127 -40.5 -255t-123.5 -238t-189 -196t-247.5 -135.5t-288.5 -49.5z" />
-<glyph unicode="&#xf26a;" horiz-adv-x="1792" d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339 q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83 254 83q119 0 226 -65q135 -125 210.5 -295t75.5 -361z " />
-<glyph unicode="&#xf26b;" horiz-adv-x="1792" d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606 q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 222.5 -131.5t170.5 -195.5q51 135 51 216z M128 2q0 -86 48.5 -132.5t134.5 -46.5q115 0 266 83q-122 72 -213.5 183t-137.5 245q-98 -205 -98 -332zM632 715h728q-5 142 -113 237t-251 95q-144 0 -251.5 -95t-112.5 -237z" />
-<glyph unicode="&#xf26c;" horiz-adv-x="2048" d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23 v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf26d;" horiz-adv-x="1792" d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34 h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12 83.5 6.5t67 -17t54 -35t43 -48t34.5 -56.5l468 100 q-68 175 -180 287z" />
-<glyph unicode="&#xf26e;" d="M1401 -11l-6 -6q-113 -114 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6 q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q6 0 13 -5l65 -66l65 65q18 17 48 -13 q27 -27 11 -44zM1400 547q0 -118 -46 -228q-45 -105 -126 -186q-80 -80 -187 -126t-228 -46t-228 46t-187 126q-82 82 -125 186q-15 32 -15 40h-1q-9 27 43 44q50 16 60 -12q37 -99 97 -167h1v339v2q3 136 102 232q105 103 253 103q147 0 251 -103t104 -249 q0 -147 -104.5 -251t-250.5 -104q-58 0 -112 16q-28 11 -13 61q16 51 44 43l14 -3q14 -3 32.5 -6t30.5 -3q104 0 176 71.5t72 174.5q0 101 -72 171q-71 71 -175 71q-107 0 -178 -80q-64 -72 -64 -160v-413q110 -67 242 -67q96 0 185 36.5t156 103.5t103.5 155t36.5 183 q0 198 -141 339q-140 140 -339 140q-200 0 -340 -140q-53 -53 -77 -87l-2 -2q-8 -11 -13 -15.5t-21.5 -9.5t-38.5 3q-21 5 -36.5 16.5t-15.5 26.5v680q0 15 10.5 26.5t27.5 11.5h877q30 0 30 -55t-30 -55h-811v-483h1q40 42 102 84t108 61q109 46 231 46q121 0 228 -46 t187 -126q81 -81 126 -186q46 -112 46 -229zM1369 1128q9 -8 9 -18t-5.5 -18t-16.5 -21q-26 -26 -39 -26q-9 0 -16 7q-106 91 -207 133q-128 56 -276 56q-133 0 -262 -49q-27 -10 -45 37q-9 25 -8 38q3 16 16 20q130 57 299 57q164 0 316 -64q137 -58 235 -152z" />
-<glyph unicode="&#xf270;" horiz-adv-x="1792" d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 -0.5h-5.5h-4.5t-3 0.5t-2 1.5l-1.5 3q-6 16 47 40t103 30 q46 7 108 1t76 -24zM1364 618q0 -31 13.5 -64t32 -58t37.5 -46t33 -32l13 -11l-227 -224q-40 37 -79 75.5t-58 58.5l-19 20q-11 11 -25 33q-38 -59 -97.5 -102.5t-127.5 -63.5t-140 -23t-137.5 21t-117.5 65.5t-83 113t-31 162.5q0 84 28 154t72 116.5t106.5 83t122.5 57 t130 34.5t119.5 18.5t99.5 6.5v127q0 65 -21 97q-34 53 -121 53q-6 0 -16.5 -1t-40.5 -12t-56 -29.5t-56 -59.5t-48 -96l-294 27q0 60 22 119t67 113t108 95t151.5 65.5t190.5 24.5q100 0 181 -25t129.5 -61.5t81 -83t45 -86t12.5 -73.5v-589zM692 597q0 -86 70 -133 q66 -44 139 -22q84 25 114 123q14 45 14 101v162q-59 -2 -111 -12t-106.5 -33.5t-87 -71t-32.5 -114.5z" />
-<glyph unicode="&#xf271;" horiz-adv-x="1792" d="M1536 1280q52 0 90 -38t38 -90v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9 h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408zM896 448h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224 v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224z" />
-<glyph unicode="&#xf272;" horiz-adv-x="1792" d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23 t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47 t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf273;" horiz-adv-x="1792" d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf274;" horiz-adv-x="1792" d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23 t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47 t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf275;" horiz-adv-x="1792" d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" />
-<glyph unicode="&#xf276;" horiz-adv-x="1024" d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q61 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249 q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" />
-<glyph unicode="&#xf277;" horiz-adv-x="1792" d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768 q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" />
-<glyph unicode="&#xf278;" horiz-adv-x="2048" d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173 v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" />
-<glyph unicode="&#xf279;" horiz-adv-x="1792" d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472 q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" />
-<glyph unicode="&#xf27a;" horiz-adv-x="1792" d="M640 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5 t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5 5 23.5 21.5t25.5 23.5t23.5 25.5t24 31.5t20.5 37 t20 48t14.5 57.5t12.5 72.5q-146 90 -229.5 216.5t-83.5 269.5q0 174 120 321.5t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
-<glyph unicode="&#xf27b;" horiz-adv-x="1792" d="M640 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5 t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5 t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51 t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 130 71 248.5t191 204.5t286 136.5t348 50.5t348 -50.5t286 -136.5t191 -204.5t71 -248.5z" />
-<glyph unicode="&#xf27c;" horiz-adv-x="1024" d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" />
-<glyph unicode="&#xf27d;" horiz-adv-x="1792" d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246 q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" />
-<glyph unicode="&#xf27e;" d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" />
-<glyph unicode="&#xf280;" d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72 h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 1 -9.5 2.5t-2.5 3t1 7.5t1 12v520h-275 l-23 -101l83 -22q23 -7 23 -27v-370q0 -14 -6 -18.5t-20 -6.5l-70 -9v-86h352z" />
-<glyph unicode="&#xf281;" horiz-adv-x="1792" d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5 l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105.5 -44t106 44t44 106t-44 105.5t-106 43.5q-61 0 -105 -44 t-44 -105zM1228 136q11 11 11 26t-11 26q-10 10 -25 10t-26 -10q-41 -42 -121 -62t-160 -20t-160 20t-121 62q-11 10 -26 10t-25 -10q-11 -10 -11 -25.5t11 -26.5q43 -43 118.5 -68t122.5 -29.5t91 -4.5t91 4.5t122.5 29.5t118.5 68zM1225 341q62 0 105.5 44t43.5 106 q0 61 -44 105t-105 44q-62 0 -106 -43.5t-44 -105.5t44 -106t106 -44z" />
-<glyph unicode="&#xf282;" horiz-adv-x="1792" d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53 q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -163.5z" />
-<glyph unicode="&#xf283;" horiz-adv-x="2304" d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" />
-<glyph unicode="&#xf284;" horiz-adv-x="1792" d="M1549 857q55 0 85.5 -28.5t30.5 -83.5t-34 -82t-91 -27h-136v-177h-25v398h170zM1710 267l-4 -11l-5 -10q-113 -230 -330.5 -366t-474.5 -136q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q244 0 454.5 -124t329.5 -338l2 -4l8 -16 q-30 -15 -136.5 -68.5t-163.5 -84.5q-6 -3 -479 -268q384 -183 799 -366zM896 -234q250 0 462.5 132.5t322.5 357.5l-287 129q-72 -140 -206 -222t-292 -82q-151 0 -280 75t-204 204t-75 280t75 280t204 204t280 75t280 -73.5t204 -204.5l280 143q-116 208 -321 329 t-443 121q-119 0 -232.5 -31.5t-209 -87.5t-176.5 -137t-137 -176.5t-87.5 -209t-31.5 -232.5t31.5 -232.5t87.5 -209t137 -176.5t176.5 -137t209 -87.5t232.5 -31.5z" />
-<glyph unicode="&#xf285;" horiz-adv-x="1792" d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" />
-<glyph unicode="&#xf286;" horiz-adv-x="1792" d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96 q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 6 2.5 9.5t8.5 5t9.5 2t11.5 0t9 -0.5v391q-32 15 -32 50q0 23 16.5 39t38.5 16t38.5 -16t16.5 -39q0 -35 -32 -50v-17q45 10 83 10q21 0 59.5 -7.5t54.5 -7.5 q17 0 47 7.5t37 7.5q16 0 16 -16v-210q0 -15 -35 -21.5t-62 -6.5q-18 0 -54.5 7.5t-55.5 7.5q-40 0 -90 -12v-133q1 0 9 0.5t11.5 0t9.5 -2t8.5 -5t2.5 -9.5v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-624h128v112q0 16 16 16h96 q16 0 16 -16z" />
-<glyph unicode="&#xf287;" horiz-adv-x="2304" d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96 q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t91 -138h104q24 0 46.5 17t44.5 53.5t36 65t37 81.5q19 41 28 60.5 t28.5 57.5t33.5 57t37 46t45 40.5t51 23.5t61 10h107q21 57 70 92.5t111 35.5q80 0 136 -56t56 -136t-56 -136t-136 -56q-62 0 -111 35.5t-70 92.5h-107q-17 0 -33 -8t-31.5 -26t-27 -34t-27 -47t-24 -49t-24.5 -55q-46 -107 -83 -165h1114v128q0 18 16 28t32 -1z" />
-<glyph unicode="&#xf288;" horiz-adv-x="1792" d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348 t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf289;" horiz-adv-x="2304" d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22 q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 221 298t354 114q235 0 408.5 -158.5t196.5 -389.5 q116 -25 192.5 -118.5t76.5 -214.5zM2048 438q0 -175 -97 -319q-23 -33 -64 -33q-24 0 -43 13q-26 17 -32 48.5t12 57.5q71 104 71 233t-71 233q-18 26 -12 57t32 49t57.5 11.5t49.5 -32.5q97 -142 97 -318zM2304 438q0 -244 -134 -443q-23 -34 -64 -34q-23 0 -42 13 q-26 18 -32.5 49t11.5 57q108 164 108 358q0 195 -108 357q-18 26 -11.5 57.5t32.5 48.5q26 18 57 12t49 -33q134 -198 134 -442z" />
-<glyph unicode="&#xf28a;" d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83 t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t-119.5 56.5q-28 13 -43 20 q-116 55 -187 100t-122.5 102t-72 125.5t-20.5 162.5q0 78 20.5 150t66 137.5t112.5 114t166.5 77t221.5 28.5q120 0 220 -26t164.5 -67t109.5 -94t64 -105.5t19 -103.5q0 -46 -15 -82.5t-36.5 -58t-48.5 -36t-49 -19.5t-39 -5h-8h-32t-39 5t-44 14t-41 28t-37 46t-24 70.5 t-10 97.5q-15 16 -59 25.5t-81 10.5l-37 1q-68 0 -117.5 -31t-70.5 -70t-21 -76q0 -24 5 -43t24 -46t53 -51t97 -53.5t150 -58.5q76 -25 138.5 -53.5t109 -55.5t83 -59t60.5 -59.5t41 -62.5t26.5 -62t14.5 -63.5t6 -62t1 -62.5z" />
-<glyph unicode="&#xf28b;" d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103 t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf28c;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" />
-<glyph unicode="&#xf28d;" d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
-<glyph unicode="&#xf28e;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" />
-<glyph unicode="&#xf290;" horiz-adv-x="1792" d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf291;" horiz-adv-x="2048" d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5 t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1632 27l32 416 q2 26 -15.5 46.5t-43.5 22.5t-46.5 -15.5t-22.5 -43.5l-32 -416q-2 -26 15.5 -46.5t43.5 -22.5h5q25 0 43.5 17t20.5 42zM476 1244l-93 -412h-132l101 441q19 88 89 143.5t160 55.5h167q0 26 19 45t45 19h384q26 0 45 -19t19 -45h167q90 0 160 -55.5t89 -143.5l101 -441 h-132l-93 412q-11 44 -45.5 72t-79.5 28h-167q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45h-167q-45 0 -79.5 -28t-45.5 -72z" />
-<glyph unicode="&#xf292;" horiz-adv-x="1792" d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12 q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h311 q15 0 25 -12q9 -12 6 -28z" />
-<glyph unicode="&#xf293;" d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5 t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" />
-<glyph unicode="&#xf294;" horiz-adv-x="1024" d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" />
-<glyph unicode="&#xf295;" d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5 t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf296;" horiz-adv-x="1792" d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" />
-<glyph unicode="&#xf297;" horiz-adv-x="1792" d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111 q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -385.5z" />
-<glyph unicode="&#xf298;" d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14 t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" />
-<glyph unicode="&#xf299;" horiz-adv-x="1792" d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57 q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9.5 -173t-20 -143.5t-13 -107l323 -327h-104l-281 285 q-22 -2 -91.5 -14t-121.5 -19t-138 -6t-160.5 17t-167.5 59t-179 111z" />
-<glyph unicode="&#xf29a;" horiz-adv-x="1792" d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42 q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z M1600 640q0 -143 -55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5zM896 1408q-156 0 -298 -61t-245 -164t-164 -245t-61 -298t61 -298 t164 -245t245 -164t298 -61t298 61t245 164t164 245t61 298t-61 298t-164 245t-245 164t-298 61zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf29b;" d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300 l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -52t52.5 -126t-52.5 -126t-126.5 -52z M613 -62q106 0 196 61l139 -139q-146 -116 -335 -116q-148 0 -273.5 73t-198.5 198t-73 273q0 188 116 336l139 -139q-60 -88 -60 -197q0 -145 102.5 -247.5t247.5 -102.5z" />
-<glyph unicode="&#xf29c;" d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5 t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768 1280q-130 0 -248.5 -51t-204 -136.5 t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5 t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf29d;" horiz-adv-x="1408" d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457 q-67 -192 -92 -234q-16 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 299l211 381q23 34 113 34q75 0 107 -40l424 -521 q7 -5 14 -17l3 -3l-1 -1q7 -13 7 -29zM514 433q43 -113 88.5 -225t69.5 -168l24 -55q36 -93 42 -125q11 -70 -36 -97q-35 -22 -66 -16t-51 22t-29 35h-1q-6 16 -8 25l-124 351zM1338 -159q31 -49 31 -57q0 -5 -3 -7q-9 -5 -14.5 0.5t-15.5 26t-16 30.5q-114 172 -423 661 q3 -1 7 1t7 4l3 2q11 9 11 17z" />
-<glyph unicode="&#xf29e;" horiz-adv-x="2304" d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10 t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5 t-7.5 60t-20 91.5t-41 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2123 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-45 -108t-74 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5 h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2304 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66 104.5t41 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96 t9.5 -70.5z" />
-<glyph unicode="&#xf2a0;" horiz-adv-x="1408" d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5 q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t-19 -244t19 -244t68 -216q56 -122 83 -161q63 -91 179 -127 l6 -2q64 -18 98 -18q25 0 45 8q32 12 75.5 42.5t43.5 52.5zM776 760q-26 0 -45 19t-19 45.5t19 45.5q37 37 37 90q0 52 -37 91q-19 19 -19 45t19 45t45 19t45 -19q75 -75 75 -181t-75 -181q-21 -19 -45 -19zM957 579q-27 0 -45 19q-19 19 -19 45t19 45q112 114 112 272 t-112 272q-19 19 -19 45t19 45t45 19t45 -19q150 -150 150 -362t-150 -362q-18 -19 -45 -19zM1138 398q-27 0 -45 19q-19 19 -19 45t19 45q90 91 138.5 208t48.5 245t-48.5 245t-138.5 208q-19 19 -19 45t19 45t45 19t45 -19q109 -109 167 -249t58 -294t-58 -294t-167 -249 q-18 -19 -45 -19z" />
-<glyph unicode="&#xf2a1;" horiz-adv-x="2176" d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352 q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 864 q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 1376q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 192q0 -80 -56 -136 t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 1216q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 192q0 -80 -56 -136t-136 -56t-136 56 t-56 136t56 136t136 56t136 -56t56 -136zM1664 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136 t56 136t136 56t136 -56t56 -136zM2176 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z" />
-<glyph unicode="&#xf2a2;" horiz-adv-x="1792" d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 57 11.5 105.5t37 91t43.5 66.5t52 63q40 46 59.5 72 t37.5 74.5t18 103.5q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM896 576q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45 t45 19t45 -19t19 -45zM1184 704q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 93 -65.5 158.5t-158.5 65.5q-92 0 -158 -65.5t-66 -158.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 146 103 249t249 103t249 -103t103 -249zM1578 993q10 -25 -1 -49t-36 -34q-9 -4 -23 -4 q-19 0 -35.5 11t-23.5 30q-68 178 -224 295q-21 16 -25 42t12 47q17 21 43 25t47 -12q183 -137 266 -351zM1788 1074q9 -25 -1.5 -49t-35.5 -34q-11 -4 -23 -4q-44 0 -60 41q-92 238 -297 393q-22 16 -25.5 42t12.5 47q16 22 42 25.5t47 -12.5q235 -175 341 -449z" />
-<glyph unicode="&#xf2a3;" horiz-adv-x="2304" d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55 q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 0 39 -9q36 -17 49.5 -54.5t-3.5 -73.5 q-40 -83 -118.5 -133t-170.5 -50h-6q-16 2 -44 4l-290 27l-239 -120q-14 -7 -29 -7q-40 0 -57 35l-160 320q-11 23 -4 47.5t29 37.5l209 119l148 267q17 155 91.5 291.5t195.5 236.5q31 25 70.5 21.5t64.5 -34.5t21.5 -70t-34.5 -65q-70 -59 -117 -128q123 84 267 101 q40 5 71.5 -19t35.5 -64q5 -40 -19 -71.5t-64 -35.5q-84 -10 -159 -55q46 10 99 10q115 0 218 -50q36 -18 49 -55.5t-5 -73.5zM2137 1085l160 -320q11 -23 4 -47.5t-29 -37.5l-209 -119l-148 -267q-17 -155 -91.5 -291.5t-195.5 -236.5q-26 -22 -61 -22q-45 0 -74 35 q-25 31 -21.5 70t34.5 65q70 59 117 128q-123 -84 -267 -101q-4 -1 -12 -1q-36 0 -63.5 24t-31.5 60q-5 40 19 71.5t64 35.5q84 10 159 55q-46 -10 -99 -10q-115 0 -218 50q-36 18 -49 55.5t5 73.5q17 35 55 48t73 -4q62 -31 134 -31q51 0 99 17q-3 0 -9.5 -0.5t-9.5 -0.5 q-92 0 -170.5 50t-118.5 133q-17 36 -3.5 73.5t49.5 54.5q18 9 39 9q-21 0 -39 9q-36 17 -49.5 54.5t3.5 73.5q40 83 118.5 133t170.5 50h6h1q14 -2 42 -4l291 -27l239 120q14 7 29 7q40 0 57 -35z" />
-<glyph unicode="&#xf2a4;" horiz-adv-x="1792" d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19 t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19 -45t19 -45t45 -19q159 0 271.5 112.5t112.5 271.5q0 41 7.5 74 t26.5 64t33.5 50t45.5 54q35 41 53 64.5t44 67.5t37.5 93.5t11.5 108.5q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5zM591 561l226 -226l-579 -579q-12 -12 -29 -12t-29 12l-168 168q-12 12 -12 29t12 29zM1612 1524l168 -168q12 -12 12 -29t-12 -30l-233 -233 l-26 -25l-71 -71q-66 153 -195 258l91 91l207 207q13 12 30 12t29 -12z" />
-<glyph unicode="&#xf2a5;" d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2 q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39.5t29.5 28.5t26 20t11 8.5q0 3 -7 10 q-24 22 -58.5 36.5t-65.5 14.5q-35 0 -63.5 -34t-41 -75t-12.5 -75q0 -88 51.5 -142t138.5 -54q82 0 155 53t117.5 126t65.5 153q6 22 15.5 66.5t14.5 66.5q3 12 14 18q118 60 227 60q48 0 127 -18q1 -1 4 -1q5 0 9.5 4.5t4.5 8.5zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf2a6;" horiz-adv-x="1535" d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5 l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19.5 117t63 116.5t97.5 52.5q38 0 120 -33.5t83 -61.5 q0 -1 -16.5 -12.5t-39.5 -31t-46 -44.5t-39 -61t-16 -74q0 -33 16.5 -53t48.5 -20q45 0 85 31.5t66.5 78t48 105.5t32.5 107t16 90v9q0 2 -3.5 3.5t-8.5 1.5h-10t-10 -0.5t-6 -0.5q-227 0 -352 122.5t-125 348.5q0 108 34.5 221t96 210t156 167.5t204.5 89.5q52 9 106 9 q374 0 374 -360q0 -98 -38 -273t-43 -211l3 -3q101 57 182.5 88t167.5 31q22 0 53 -13q19 -7 80 -102.5t61 -116.5z" />
-<glyph unicode="&#xf2a7;" horiz-adv-x="1664" d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37 t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 73.5q27 38 76 38zM761 661l186 -125l-218 37l-5 2l-36 38 l-238 262q-1 1 -2.5 3.5t-2.5 3.5q-24 31 -18.5 70t37.5 64q31 23 68 17.5t64 -33.5l142 -147l-4 -4t-5 -4q-32 -45 -23 -99t55 -85zM1648 1115l15 -266q4 -73 -11 -147l-48 -219q-12 -59 -67 -87l-106 -54q2 62 -39 109l-146 170q-53 61 -117 103l-222 148q-34 23 -76 23 q-51 0 -88 -37l-235 312q-25 33 -18 73.5t41 63.5q33 22 71.5 14t62.5 -40l266 -352l-262 455q-21 35 -10.5 75t47.5 59q35 18 72.5 6t57.5 -46l241 -420l-136 337q-15 35 -4.5 74t44.5 56q37 19 76 6t56 -51l193 -415l101 -196q8 -15 23 -17.5t27 7.5t11 26l-12 224 q-2 41 26 71t69 31q39 0 67 -28.5t30 -67.5z" />
-<glyph unicode="&#xf2a8;" horiz-adv-x="1792" d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5 q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q0 -7 -9 -9q-13 -3 -72 -3q-57 0 -60 7l-456 841 q-39 -28 -82 -68q24 -43 214 -393.5t190 -354.5q0 -10 -11 -10q-14 0 -82.5 22t-72.5 28l-106 197l-224 413q-44 -53 -78 -106q2 -3 18 -25t23 -34l176 -327q0 -10 -10 -10zM1165 282l49 -91q273 111 450 385q-180 277 -459 389q67 -64 103 -148.5t36 -176.5 q0 -106 -47 -200.5t-132 -157.5zM848 896q0 -20 14 -34t34 -14q86 0 147 -61t61 -147q0 -20 14 -34t34 -14t34 14t14 34q0 126 -89 215t-215 89q-20 0 -34 -14t-14 -34zM1214 961l-9 4l7 -7z" />
-<glyph unicode="&#xf2a9;" horiz-adv-x="1280" d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5 q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 214 -206 440q88 -59 142.5 -186.5t63.5 -251.5z M1035 744q-83 0 -160 75q218 120 290 247q19 37 21 56q-42 -94 -139.5 -166.5t-204.5 -97.5q-35 54 -35 113q0 37 17 79t43 68q46 44 157 74q59 16 106 58.5t74 100.5q74 -105 74 -253q0 -109 -24 -170q-32 -77 -88.5 -130.5t-130.5 -53.5z" />
-<glyph unicode="&#xf2aa;" d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86 -124 -109q-69 -19 -109 -53.5t-40 -99.5 q0 -40 24 -77q74 17 140.5 67t95.5 115q-4 -52 -74.5 -111.5t-138.5 -97.5q52 -52 110 -52q51 0 90 37t60 90q17 43 17 117zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
-<glyph unicode="&#xf2ab;" d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114 q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39.5 4.5q35 0 67 -15t54 -32.5t57.5 -32.5 t76.5 -15q43 0 79 15t57.5 32.5t53.5 32.5t67 15q14 0 39.5 -4t38.5 -4q16 0 23 10t11 30t6 25q137 22 137 68zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
-<glyph unicode="&#xf2ac;" horiz-adv-x="1664" d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35 q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q-24 0 -65.5 -7.5t-58.5 -7.5q-25 0 -35 18.5 t-14 47.5t-11 40q-219 33 -219 103q0 29 28 35q52 11 80 23q78 32 144.5 101t102.5 150q12 28 12 43q0 28 -31.5 47.5t-69.5 29.5t-69.5 31.5t-31.5 52.5q0 27 26 45.5t55 18.5q15 0 48 -13t53 -13q18 0 32 7q-9 142 -9 190q0 122 27 180q64 137 172 198t264 63z" />
-<glyph unicode="&#xf2ad;" d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115 q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 0 38.5 5t38.5 5q35 0 67.5 -15 t54.5 -32.5t57.5 -32.5t76.5 -15q43 0 79 15t57.5 32.5t54 32.5t67.5 15q13 0 39 -4.5t39 -4.5q15 0 22.5 9.5t11.5 31t5 24.5q138 22 138 69zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf2ae;" horiz-adv-x="2304" d="M2304 1536q-69 -46 -125 -92t-89 -81t-59.5 -71.5t-37.5 -57.5t-22 -44.5t-14 -29.5q-10 -18 -35.5 -136.5t-48.5 -164.5q-15 -29 -50 -60.5t-67.5 -50.5t-72.5 -41t-48 -28q-47 -31 -151 -231q-341 14 -630 -158q-92 -53 -303 -179q47 16 86 31t55 22l15 7 q71 27 163 64.5t133.5 53.5t108 34.5t142.5 31.5q186 31 465 -7q1 0 10 -3q11 -6 14 -17t-3 -22l-194 -345q-15 -29 -47 -22q-128 24 -354 24q-146 0 -402 -44.5t-392 -46.5q-82 -1 -149 13t-107 37t-61 40t-33 34l-1 1v2q0 6 6 6q138 0 371 55q192 366 374.5 524t383.5 158 q5 0 14.5 -0.5t38 -5t55 -12t61.5 -24.5t63 -39.5t54 -59t40 -82.5l102 177q2 4 21 42.5t44.5 86.5t61 109.5t84 133.5t100.5 137q66 82 128 141.5t121.5 96.5t92.5 53.5t88 39.5z" />
-<glyph unicode="&#xf2b0;" d="M1322 640q0 -45 -5 -76l-236 14l224 -78q-19 -73 -58 -141l-214 103l177 -158q-44 -61 -107 -108l-157 178l103 -215q-61 -37 -140 -59l-79 228l14 -240q-38 -6 -76 -6t-76 6l14 238l-78 -226q-74 19 -140 59l103 215l-157 -178q-59 43 -108 108l178 158l-214 -104 q-39 69 -58 141l224 79l-237 -14q-5 42 -5 76q0 35 5 77l238 -14l-225 79q19 73 58 140l214 -104l-177 159q46 61 107 108l158 -178l-103 215q67 39 140 58l77 -224l-13 236q36 6 75 6q38 0 76 -6l-14 -237l78 225q74 -19 140 -59l-103 -214l158 178q61 -47 107 -108 l-177 -159l213 104q37 -62 58 -141l-224 -78l237 14q5 -31 5 -77zM1352 640q0 160 -78.5 295.5t-213 214t-292.5 78.5q-119 0 -227 -46.5t-186.5 -125t-124.5 -187.5t-46 -229q0 -119 46 -228t124.5 -187.5t186.5 -125t227 -46.5q158 0 292.5 78.5t213 214t78.5 294.5z M1425 1023v-766l-657 -383l-657 383v766l657 383zM768 -183l708 412v823l-708 411l-708 -411v-823zM1536 1088v-896l-768 -448l-768 448v896l768 448z" />
-<glyph unicode="&#xf2b1;" horiz-adv-x="1664" d="M339 1318h691l-26 -72h-665q-110 0 -188.5 -79t-78.5 -189v-771q0 -95 60.5 -169.5t153.5 -93.5q23 -5 98 -5v-72h-45q-140 0 -239.5 100t-99.5 240v771q0 140 99.5 240t239.5 100zM1190 1536h247l-482 -1294q-23 -61 -40.5 -103.5t-45 -98t-54 -93.5t-64.5 -78.5 t-79.5 -65t-95.5 -41t-116 -18.5v195q163 26 220 182q20 52 20 105q0 54 -20 106l-285 733h228l187 -585zM1664 978v-1111h-795q37 55 45 73h678v1038q0 85 -49.5 155t-129.5 99l25 67q101 -34 163.5 -123.5t62.5 -197.5z" />
-<glyph unicode="&#xf2b2;" horiz-adv-x="1792" d="M852 1227q0 -29 -17 -52.5t-45 -23.5t-45 23.5t-17 52.5t17 52.5t45 23.5t45 -23.5t17 -52.5zM688 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50 -21.5t-20 -51.5v-114q0 -30 20.5 -52t49.5 -22q30 0 50.5 22t20.5 52zM860 -149v114q0 30 -20 51.5t-50 21.5t-50.5 -21.5 t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22q29 0 49.5 22t20.5 52zM1034 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1208 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114 q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1476 535q-84 -160 -232 -259.5t-323 -99.5q-123 0 -229.5 51.5t-178.5 137t-113 197.5t-41 232q0 88 21 174q-104 -175 -104 -390q0 -162 65 -312t185 -251q30 57 91 57q56 0 86 -50q32 50 87 50q56 0 86 -50q32 50 87 50t87 -50 q30 50 86 50q28 0 52.5 -15.5t37.5 -40.5q112 94 177 231.5t73 287.5zM1326 564q0 75 -72 75q-17 0 -47 -6q-95 -19 -149 -19q-226 0 -226 243q0 86 30 204q-83 -127 -83 -275q0 -150 89 -260.5t235 -110.5q111 0 210 70q13 48 13 79zM884 1223q0 50 -32 89.5t-81 39.5 t-81 -39.5t-32 -89.5q0 -51 31.5 -90.5t81.5 -39.5t81.5 39.5t31.5 90.5zM1513 884q0 96 -37.5 179t-113 137t-173.5 54q-77 0 -149 -35t-127 -94q-48 -159 -48 -268q0 -104 45.5 -157t147.5 -53q53 0 142 19q36 6 53 6q51 0 77.5 -28t26.5 -80q0 -26 -4 -46 q75 68 117.5 165.5t42.5 200.5zM1792 667q0 -111 -33.5 -249.5t-93.5 -204.5q-58 -64 -195 -142.5t-228 -104.5l-4 -1v-114q0 -43 -29.5 -75t-72.5 -32q-56 0 -86 50q-32 -50 -87 -50t-87 50q-30 -50 -86 -50q-55 0 -87 50q-30 -50 -86 -50q-47 0 -75 33.5t-28 81.5 q-90 -68 -198 -68q-118 0 -211 80q54 1 106 20q-113 31 -182 127q32 -7 71 -7q89 0 164 46q-192 192 -240 306q-24 56 -24 160q0 57 9 125.5t31.5 146.5t55 141t86.5 105t120 42q59 0 81 -52q19 29 42 54q2 3 12 13t13 16q10 15 23 38t25 42t28 39q87 111 211.5 177 t260.5 66q35 0 62 -4q59 64 146 64q83 0 140 -57q5 -5 5 -12q0 -5 -6 -13.5t-12.5 -16t-16 -17l-10.5 -10.5q17 -6 36 -18t19 -24q0 -6 -16 -25q157 -138 197 -378q25 30 60 30q45 0 100 -49q90 -80 90 -279z" />
-<glyph unicode="&#xf2b3;" d="M917 631q0 33 -6 64h-362v-132h217q-12 -76 -74.5 -120.5t-142.5 -44.5q-99 0 -169 71.5t-70 170.5t70 170.5t169 71.5q93 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585h109v110 h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf2b4;" d="M1536 1024v-839q0 -48 -49 -62q-174 -52 -338 -52q-73 0 -215.5 29.5t-227.5 29.5q-164 0 -370 -48v-338h-160v1368q-63 25 -101 81t-38 124q0 91 64 155t155 64t155 -64t64 -155q0 -68 -38 -124t-101 -81v-68q190 44 343 44q99 0 198 -15q14 -2 111.5 -22.5t149.5 -20.5 q77 0 165 18q11 2 80 21t89 19q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf2b5;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2b6;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2b7;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2b8;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2b9;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2ba;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2bb;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2bc;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2bd;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2be;" horiz-adv-x="1792" />
-<glyph unicode="&#xf500;" horiz-adv-x="1792" />
-</font>
-</defs></svg> 
\ No newline at end of file
diff --git a/admin-guide/gitbook/fonts/fontawesome/fontawesome-webfont.ttf b/admin-guide/gitbook/fonts/fontawesome/fontawesome-webfont.ttf
deleted file mode 100644
index f221e50..0000000
--- a/admin-guide/gitbook/fonts/fontawesome/fontawesome-webfont.ttf
+++ /dev/null
Binary files differ
diff --git a/admin-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff b/admin-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff
deleted file mode 100644
index 6e7483c..0000000
--- a/admin-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff
+++ /dev/null
Binary files differ
diff --git a/admin-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 b/admin-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff2
deleted file mode 100644
index 7eb74fd..0000000
--- a/admin-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff2
+++ /dev/null
Binary files differ
diff --git a/admin-guide/gitbook/gitbook-plugin-fontsettings/fontsettings.js b/admin-guide/gitbook/gitbook-plugin-fontsettings/fontsettings.js
deleted file mode 100644
index ff7be71..0000000
--- a/admin-guide/gitbook/gitbook-plugin-fontsettings/fontsettings.js
+++ /dev/null
@@ -1,240 +0,0 @@
-require(['gitbook', 'jquery'], function(gitbook, $) {
-    // Configuration
-    var MAX_SIZE       = 4,
-        MIN_SIZE       = 0,
-        BUTTON_ID;
-
-    // Current fontsettings state
-    var fontState;
-
-    // Default themes
-    var THEMES = [
-        {
-            config: 'white',
-            text: 'White',
-            id: 0
-        },
-        {
-            config: 'sepia',
-            text: 'Sepia',
-            id: 1
-        },
-        {
-            config: 'night',
-            text: 'Night',
-            id: 2
-        }
-    ];
-
-    // Default font families
-    var FAMILIES = [
-        {
-            config: 'serif',
-            text: 'Serif',
-            id: 0
-        },
-        {
-            config: 'sans',
-            text: 'Sans',
-            id: 1
-        }
-    ];
-
-    // Return configured themes
-    function getThemes() {
-        return THEMES;
-    }
-
-    // Modify configured themes
-    function setThemes(themes) {
-        THEMES = themes;
-        updateButtons();
-    }
-
-    // Return configured font families
-    function getFamilies() {
-        return FAMILIES;
-    }
-
-    // Modify configured font families
-    function setFamilies(families) {
-        FAMILIES = families;
-        updateButtons();
-    }
-
-    // Save current font settings
-    function saveFontSettings() {
-        gitbook.storage.set('fontState', fontState);
-        update();
-    }
-
-    // Increase font size
-    function enlargeFontSize(e) {
-        e.preventDefault();
-        if (fontState.size >= MAX_SIZE) return;
-
-        fontState.size++;
-        saveFontSettings();
-    }
-
-    // Decrease font size
-    function reduceFontSize(e) {
-        e.preventDefault();
-        if (fontState.size <= MIN_SIZE) return;
-
-        fontState.size--;
-        saveFontSettings();
-    }
-
-    // Change font family
-    function changeFontFamily(configName, e) {
-        if (e && e instanceof Event) {
-            e.preventDefault();
-        }
-
-        var familyId = getFontFamilyId(configName);
-        fontState.family = familyId;
-        saveFontSettings();
-    }
-
-    // Change type of color theme
-    function changeColorTheme(configName, e) {
-        if (e && e instanceof Event) {
-            e.preventDefault();
-        }
-
-        var $book = gitbook.state.$book;
-
-        // Remove currently applied color theme
-        if (fontState.theme !== 0)
-            $book.removeClass('color-theme-'+fontState.theme);
-
-        // Set new color theme
-        var themeId = getThemeId(configName);
-        fontState.theme = themeId;
-        if (fontState.theme !== 0)
-            $book.addClass('color-theme-'+fontState.theme);
-
-        saveFontSettings();
-    }
-
-    // Return the correct id for a font-family config key
-    // Default to first font-family
-    function getFontFamilyId(configName) {
-        // Search for plugin configured font family
-        var configFamily = $.grep(FAMILIES, function(family) {
-            return family.config == configName;
-        })[0];
-        // Fallback to default font family
-        return (!!configFamily)? configFamily.id : 0;
-    }
-
-    // Return the correct id for a theme config key
-    // Default to first theme
-    function getThemeId(configName) {
-        // Search for plugin configured theme
-        var configTheme = $.grep(THEMES, function(theme) {
-            return theme.config == configName;
-        })[0];
-        // Fallback to default theme
-        return (!!configTheme)? configTheme.id : 0;
-    }
-
-    function update() {
-        var $book = gitbook.state.$book;
-
-        $('.font-settings .font-family-list li').removeClass('active');
-        $('.font-settings .font-family-list li:nth-child('+(fontState.family+1)+')').addClass('active');
-
-        $book[0].className = $book[0].className.replace(/\bfont-\S+/g, '');
-        $book.addClass('font-size-'+fontState.size);
-        $book.addClass('font-family-'+fontState.family);
-
-        if(fontState.theme !== 0) {
-            $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, '');
-            $book.addClass('color-theme-'+fontState.theme);
-        }
-    }
-
-    function init(config) {
-        // Search for plugin configured font family
-        var configFamily = getFontFamilyId(config.family),
-            configTheme = getThemeId(config.theme);
-
-        // Instantiate font state object
-        fontState = gitbook.storage.get('fontState', {
-            size:   config.size || 2,
-            family: configFamily,
-            theme:  configTheme
-        });
-
-        update();
-    }
-
-    function updateButtons() {
-        // Remove existing fontsettings buttons
-        if (!!BUTTON_ID) {
-            gitbook.toolbar.removeButton(BUTTON_ID);
-        }
-
-        // Create buttons in toolbar
-        BUTTON_ID = gitbook.toolbar.createButton({
-            icon: 'fa fa-font',
-            label: 'Font Settings',
-            className: 'font-settings',
-            dropdown: [
-                [
-                    {
-                        text: 'A',
-                        className: 'font-reduce',
-                        onClick: reduceFontSize
-                    },
-                    {
-                        text: 'A',
-                        className: 'font-enlarge',
-                        onClick: enlargeFontSize
-                    }
-                ],
-                $.map(FAMILIES, function(family) {
-                    family.onClick = function(e) {
-                        return changeFontFamily(family.config, e);
-                    };
-
-                    return family;
-                }),
-                $.map(THEMES, function(theme) {
-                    theme.onClick = function(e) {
-                        return changeColorTheme(theme.config, e);
-                    };
-
-                    return theme;
-                })
-            ]
-        });
-    }
-
-    // Init configuration at start
-    gitbook.events.bind('start', function(e, config) {
-        var opts = config.fontsettings;
-
-        // Generate buttons at start
-        updateButtons();
-
-        // Init current settings
-        init(opts);
-    });
-
-    // Expose API
-    gitbook.fontsettings = {
-        enlargeFontSize: enlargeFontSize,
-        reduceFontSize:  reduceFontSize,
-        setTheme:        changeColorTheme,
-        setFamily:       changeFontFamily,
-        getThemes:       getThemes,
-        setThemes:       setThemes,
-        getFamilies:     getFamilies,
-        setFamilies:     setFamilies
-    };
-});
-
-
diff --git a/admin-guide/gitbook/gitbook-plugin-fontsettings/website.css b/admin-guide/gitbook/gitbook-plugin-fontsettings/website.css
deleted file mode 100644
index 26591fe..0000000
--- a/admin-guide/gitbook/gitbook-plugin-fontsettings/website.css
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- * Theme 1
- */
-.color-theme-1 .dropdown-menu {
-  background-color: #111111;
-  border-color: #7e888b;
-}
-.color-theme-1 .dropdown-menu .dropdown-caret .caret-inner {
-  border-bottom: 9px solid #111111;
-}
-.color-theme-1 .dropdown-menu .buttons {
-  border-color: #7e888b;
-}
-.color-theme-1 .dropdown-menu .button {
-  color: #afa790;
-}
-.color-theme-1 .dropdown-menu .button:hover {
-  color: #73553c;
-}
-/*
- * Theme 2
- */
-.color-theme-2 .dropdown-menu {
-  background-color: #2d3143;
-  border-color: #272a3a;
-}
-.color-theme-2 .dropdown-menu .dropdown-caret .caret-inner {
-  border-bottom: 9px solid #2d3143;
-}
-.color-theme-2 .dropdown-menu .buttons {
-  border-color: #272a3a;
-}
-.color-theme-2 .dropdown-menu .button {
-  color: #62677f;
-}
-.color-theme-2 .dropdown-menu .button:hover {
-  color: #f4f4f5;
-}
-.book .book-header .font-settings .font-enlarge {
-  line-height: 30px;
-  font-size: 1.4em;
-}
-.book .book-header .font-settings .font-reduce {
-  line-height: 30px;
-  font-size: 1em;
-}
-.book.color-theme-1 .book-body {
-  color: #704214;
-  background: #f3eacb;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section {
-  background: #f3eacb;
-}
-.book.color-theme-2 .book-body {
-  color: #bdcadb;
-  background: #1c1f2b;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section {
-  background: #1c1f2b;
-}
-.book.font-size-0 .book-body .page-inner section {
-  font-size: 1.2rem;
-}
-.book.font-size-1 .book-body .page-inner section {
-  font-size: 1.4rem;
-}
-.book.font-size-2 .book-body .page-inner section {
-  font-size: 1.6rem;
-}
-.book.font-size-3 .book-body .page-inner section {
-  font-size: 2.2rem;
-}
-.book.font-size-4 .book-body .page-inner section {
-  font-size: 4rem;
-}
-.book.font-family-0 {
-  font-family: Georgia, serif;
-}
-.book.font-family-1 {
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal {
-  color: #704214;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal a {
-  color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h3,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h4,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h5,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2 {
-  border-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal hr {
-  background-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal blockquote {
-  border-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code {
-  background: #fdf6e3;
-  color: #657b83;
-  border-color: #f8df9c;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal .highlight {
-  background-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table th,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table td {
-  border-color: #f5d06c;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr {
-  color: inherit;
-  background-color: #fdf6e3;
-  border-color: #444444;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) {
-  background-color: #fbeecb;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal {
-  color: #bdcadb;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal a {
-  color: #3eb1d0;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h3,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h4,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h5,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: #fffffa;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2 {
-  border-color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal hr {
-  background-color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal blockquote {
-  border-color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code {
-  color: #9dbed8;
-  background: #2d3143;
-  border-color: #2d3143;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal .highlight {
-  background-color: #282a39;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table th,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table td {
-  border-color: #3b3f54;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr {
-  color: #b6c2d2;
-  background-color: #2d3143;
-  border-color: #3b3f54;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) {
-  background-color: #35394b;
-}
-.book.color-theme-1 .book-header {
-  color: #afa790;
-  background: transparent;
-}
-.book.color-theme-1 .book-header .btn {
-  color: #afa790;
-}
-.book.color-theme-1 .book-header .btn:hover {
-  color: #73553c;
-  background: none;
-}
-.book.color-theme-1 .book-header h1 {
-  color: #704214;
-}
-.book.color-theme-2 .book-header {
-  color: #7e888b;
-  background: transparent;
-}
-.book.color-theme-2 .book-header .btn {
-  color: #3b3f54;
-}
-.book.color-theme-2 .book-header .btn:hover {
-  color: #fffff5;
-  background: none;
-}
-.book.color-theme-2 .book-header h1 {
-  color: #bdcadb;
-}
-.book.color-theme-1 .book-body .navigation {
-  color: #afa790;
-}
-.book.color-theme-1 .book-body .navigation:hover {
-  color: #73553c;
-}
-.book.color-theme-2 .book-body .navigation {
-  color: #383f52;
-}
-.book.color-theme-2 .book-body .navigation:hover {
-  color: #fffff5;
-}
-/*
- * Theme 1
- */
-.book.color-theme-1 .book-summary {
-  color: #afa790;
-  background: #111111;
-  border-right: 1px solid rgba(0, 0, 0, 0.07);
-}
-.book.color-theme-1 .book-summary .book-search {
-  background: transparent;
-}
-.book.color-theme-1 .book-summary .book-search input,
-.book.color-theme-1 .book-summary .book-search input:focus {
-  border: 1px solid transparent;
-}
-.book.color-theme-1 .book-summary ul.summary li.divider {
-  background: #7e888b;
-  box-shadow: none;
-}
-.book.color-theme-1 .book-summary ul.summary li i.fa-check {
-  color: #33cc33;
-}
-.book.color-theme-1 .book-summary ul.summary li.done > a {
-  color: #877f6a;
-}
-.book.color-theme-1 .book-summary ul.summary li a,
-.book.color-theme-1 .book-summary ul.summary li span {
-  color: #877f6a;
-  background: transparent;
-  font-weight: normal;
-}
-.book.color-theme-1 .book-summary ul.summary li.active > a,
-.book.color-theme-1 .book-summary ul.summary li a:hover {
-  color: #704214;
-  background: transparent;
-  font-weight: normal;
-}
-/*
- * Theme 2
- */
-.book.color-theme-2 .book-summary {
-  color: #bcc1d2;
-  background: #2d3143;
-  border-right: none;
-}
-.book.color-theme-2 .book-summary .book-search {
-  background: transparent;
-}
-.book.color-theme-2 .book-summary .book-search input,
-.book.color-theme-2 .book-summary .book-search input:focus {
-  border: 1px solid transparent;
-}
-.book.color-theme-2 .book-summary ul.summary li.divider {
-  background: #272a3a;
-  box-shadow: none;
-}
-.book.color-theme-2 .book-summary ul.summary li i.fa-check {
-  color: #33cc33;
-}
-.book.color-theme-2 .book-summary ul.summary li.done > a {
-  color: #62687f;
-}
-.book.color-theme-2 .book-summary ul.summary li a,
-.book.color-theme-2 .book-summary ul.summary li span {
-  color: #c1c6d7;
-  background: transparent;
-  font-weight: 600;
-}
-.book.color-theme-2 .book-summary ul.summary li.active > a,
-.book.color-theme-2 .book-summary ul.summary li a:hover {
-  color: #f4f4f5;
-  background: #252737;
-  font-weight: 600;
-}
diff --git a/admin-guide/gitbook/gitbook-plugin-highlight/ebook.css b/admin-guide/gitbook/gitbook-plugin-highlight/ebook.css
deleted file mode 100644
index cecaaab..0000000
--- a/admin-guide/gitbook/gitbook-plugin-highlight/ebook.css
+++ /dev/null
@@ -1,135 +0,0 @@
-pre,
-code {
-  /* http://jmblog.github.io/color-themes-for-highlightjs */
-  /* Tomorrow Comment */
-  /* Tomorrow Red */
-  /* Tomorrow Orange */
-  /* Tomorrow Yellow */
-  /* Tomorrow Green */
-  /* Tomorrow Aqua */
-  /* Tomorrow Blue */
-  /* Tomorrow Purple */
-}
-pre .hljs-comment,
-code .hljs-comment,
-pre .hljs-title,
-code .hljs-title {
-  color: #8e908c;
-}
-pre .hljs-variable,
-code .hljs-variable,
-pre .hljs-attribute,
-code .hljs-attribute,
-pre .hljs-tag,
-code .hljs-tag,
-pre .hljs-regexp,
-code .hljs-regexp,
-pre .hljs-deletion,
-code .hljs-deletion,
-pre .ruby .hljs-constant,
-code .ruby .hljs-constant,
-pre .xml .hljs-tag .hljs-title,
-code .xml .hljs-tag .hljs-title,
-pre .xml .hljs-pi,
-code .xml .hljs-pi,
-pre .xml .hljs-doctype,
-code .xml .hljs-doctype,
-pre .html .hljs-doctype,
-code .html .hljs-doctype,
-pre .css .hljs-id,
-code .css .hljs-id,
-pre .css .hljs-class,
-code .css .hljs-class,
-pre .css .hljs-pseudo,
-code .css .hljs-pseudo {
-  color: #c82829;
-}
-pre .hljs-number,
-code .hljs-number,
-pre .hljs-preprocessor,
-code .hljs-preprocessor,
-pre .hljs-pragma,
-code .hljs-pragma,
-pre .hljs-built_in,
-code .hljs-built_in,
-pre .hljs-literal,
-code .hljs-literal,
-pre .hljs-params,
-code .hljs-params,
-pre .hljs-constant,
-code .hljs-constant {
-  color: #f5871f;
-}
-pre .ruby .hljs-class .hljs-title,
-code .ruby .hljs-class .hljs-title,
-pre .css .hljs-rules .hljs-attribute,
-code .css .hljs-rules .hljs-attribute {
-  color: #eab700;
-}
-pre .hljs-string,
-code .hljs-string,
-pre .hljs-value,
-code .hljs-value,
-pre .hljs-inheritance,
-code .hljs-inheritance,
-pre .hljs-header,
-code .hljs-header,
-pre .hljs-addition,
-code .hljs-addition,
-pre .ruby .hljs-symbol,
-code .ruby .hljs-symbol,
-pre .xml .hljs-cdata,
-code .xml .hljs-cdata {
-  color: #718c00;
-}
-pre .css .hljs-hexcolor,
-code .css .hljs-hexcolor {
-  color: #3e999f;
-}
-pre .hljs-function,
-code .hljs-function,
-pre .python .hljs-decorator,
-code .python .hljs-decorator,
-pre .python .hljs-title,
-code .python .hljs-title,
-pre .ruby .hljs-function .hljs-title,
-code .ruby .hljs-function .hljs-title,
-pre .ruby .hljs-title .hljs-keyword,
-code .ruby .hljs-title .hljs-keyword,
-pre .perl .hljs-sub,
-code .perl .hljs-sub,
-pre .javascript .hljs-title,
-code .javascript .hljs-title,
-pre .coffeescript .hljs-title,
-code .coffeescript .hljs-title {
-  color: #4271ae;
-}
-pre .hljs-keyword,
-code .hljs-keyword,
-pre .javascript .hljs-function,
-code .javascript .hljs-function {
-  color: #8959a8;
-}
-pre .hljs,
-code .hljs {
-  display: block;
-  background: white;
-  color: #4d4d4c;
-  padding: 0.5em;
-}
-pre .coffeescript .javascript,
-code .coffeescript .javascript,
-pre .javascript .xml,
-code .javascript .xml,
-pre .tex .hljs-formula,
-code .tex .hljs-formula,
-pre .xml .javascript,
-code .xml .javascript,
-pre .xml .vbscript,
-code .xml .vbscript,
-pre .xml .css,
-code .xml .css,
-pre .xml .hljs-cdata,
-code .xml .hljs-cdata {
-  opacity: 0.5;
-}
diff --git a/admin-guide/gitbook/gitbook-plugin-highlight/website.css b/admin-guide/gitbook/gitbook-plugin-highlight/website.css
deleted file mode 100644
index 6674448..0000000
--- a/admin-guide/gitbook/gitbook-plugin-highlight/website.css
+++ /dev/null
@@ -1,434 +0,0 @@
-.book .book-body .page-wrapper .page-inner section.normal pre,
-.book .book-body .page-wrapper .page-inner section.normal code {
-  /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
-  /* Tomorrow Comment */
-  /* Tomorrow Red */
-  /* Tomorrow Orange */
-  /* Tomorrow Yellow */
-  /* Tomorrow Green */
-  /* Tomorrow Aqua */
-  /* Tomorrow Blue */
-  /* Tomorrow Purple */
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-comment,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-comment,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-title {
-  color: #8e908c;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-variable,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-variable,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-attribute,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-tag,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-tag,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-regexp,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-deletion,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-id,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-class,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo {
-  color: #c82829;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-number,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-number,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-pragma,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-built_in,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-literal,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-literal,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-params,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-params,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-constant,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-constant {
-  color: #f5871f;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute {
-  color: #eab700;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-string,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-string,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-value,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-value,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-header,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-header,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-addition,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-addition,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  color: #718c00;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor {
-  color: #3e999f;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-function,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-function,
-.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator,
-.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator,
-.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub,
-.book .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub,
-.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title {
-  color: #4271ae;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function,
-.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function {
-  color: #8959a8;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs {
-  display: block;
-  background: white;
-  color: #4d4d4c;
-  padding: 0.5em;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript,
-.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript,
-.book .book-body .page-wrapper .page-inner section.normal pre .javascript .xml,
-.book .book-body .page-wrapper .page-inner section.normal code .javascript .xml,
-.book .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .javascript,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .javascript,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .vbscript,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .css,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .css,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  opacity: 0.5;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code {
-  /*
-
-Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull <sourdrums@gmail.com>
-
-*/
-  /* Solarized Green */
-  /* Solarized Cyan */
-  /* Solarized Blue */
-  /* Solarized Yellow */
-  /* Solarized Orange */
-  /* Solarized Red */
-  /* Solarized Violet */
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs {
-  display: block;
-  padding: 0.5em;
-  background: #fdf6e3;
-  color: #657b83;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-template_comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-template_comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-header,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-header,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-doctype,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-doctype,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pi,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pi,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-javadoc,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-javadoc {
-  color: #93a1a1;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-winutils,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-winutils,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .method,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .method,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-addition,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-tag,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-tag,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-request,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-request,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-status,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-status,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .nginx .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .nginx .hljs-title {
-  color: #859900;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-command,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-command,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-tag .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-rules .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-rules .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-phpdoc,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-phpdoc,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-hexcolor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-hexcolor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_url,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_url {
-  color: #2aa198;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-localvars,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-localvars,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-chunk,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-chunk,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-decorator,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-decorator,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-identifier,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-identifier,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .vhdl .hljs-literal,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .vhdl .hljs-literal,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-id,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-id,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-function,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-function {
-  color: #268bd2;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-variable,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-body,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-body,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .smalltalk .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .smalltalk .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-constant,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-class .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-class .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-parent,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-parent,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .haskell .hljs-type,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .haskell .hljs-type,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_reference,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_reference {
-  color: #b58900;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-shebang,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-shebang,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-change,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-change,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-special,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-special,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attr_selector,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attr_selector,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-subst,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-subst,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-cdata,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-cdata,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .clojure .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .clojure .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-header,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-header {
-  color: #cb4b16;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-important,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-important {
-  color: #dc322f;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_label,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_label {
-  color: #6c71c4;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula {
-  background: #eee8d5;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code {
-  /* Tomorrow Night Bright Theme */
-  /* Original theme - https://github.com/chriskempson/tomorrow-theme */
-  /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
-  /* Tomorrow Comment */
-  /* Tomorrow Red */
-  /* Tomorrow Orange */
-  /* Tomorrow Yellow */
-  /* Tomorrow Green */
-  /* Tomorrow Aqua */
-  /* Tomorrow Blue */
-  /* Tomorrow Purple */
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-comment,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-title {
-  color: #969896;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-variable,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-tag,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-id,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-class,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo {
-  color: #d54e53;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-number,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-number,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-literal,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-literal,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-params,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-params,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-constant {
-  color: #e78c45;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute {
-  color: #e7c547;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-string,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-string,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-value,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-value,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-header,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-header,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-addition,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  color: #b9ca4a;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor {
-  color: #70c0b1;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-function,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-function,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title {
-  color: #7aa6da;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function {
-  color: #c397d8;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs {
-  display: block;
-  background: black;
-  color: #eaeaea;
-  padding: 0.5em;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .xml,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .xml,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .vbscript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .css,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .css,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  opacity: 0.5;
-}
diff --git a/admin-guide/gitbook/gitbook-plugin-lunr/lunr.min.js b/admin-guide/gitbook/gitbook-plugin-lunr/lunr.min.js
deleted file mode 100644
index 6aa6bc7..0000000
--- a/admin-guide/gitbook/gitbook-plugin-lunr/lunr.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.12
- * Copyright (C) 2015 Oliver Nightingale
- * MIT Licensed
- * @license
- */
-!function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.5.12",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(t){return arguments.length&&null!=t&&void 0!=t?Array.isArray(t)?t.map(function(t){return t.toLowerCase()}):t.toString().trim().toLowerCase().split(/[\s\-]+/):[]},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,o=0;n>o;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(e<i.idx)return this.list=new t.Vector.Node(e,n,i),this.length++;for(var o=i,r=i.next;void 0!=r;){if(e<r.idx)return o.next=new t.Vector.Node(e,n,r),this.length++;o=r,r=r.next}return o.next=new t.Vector.Node(e,n,r),this.length++},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var t,e=this.list,n=0;e;)t=e.val,n+=t*t,e=e.next;return this._magnitude=Math.sqrt(n)},t.Vector.prototype.dot=function(t){for(var e=this.list,n=t.list,i=0;e&&n;)e.idx<n.idx?e=e.next:e.idx>n.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t<arguments.length;t++)e=arguments[t],~this.indexOf(e)||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},t.SortedSet.prototype.toArray=function(){return this.elements.slice()},t.SortedSet.prototype.map=function(t,e){return this.elements.map(t,e)},t.SortedSet.prototype.forEach=function(t,e){return this.elements.forEach(t,e)},t.SortedSet.prototype.indexOf=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]<h[o]?i++:a[i]>h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s<o.length;s++){var a=o.elements[s],h=this._fields.reduce(function(t,e){var n=i[e.name].length;if(!n)return t;var o=i[e.name].filter(function(t){return t===a}).length;return t+o/n*e.boost},0);this.tokenStore.add(a,{ref:r,tf:h})}n&&this.eventEmitter.emit("add",e,this)},t.Index.prototype.remove=function(t,e){var n=t[this._ref],e=void 0===e?!0:e;if(this.documentStore.has(n)){var i=this.documentStore.get(n);this.documentStore.remove(n),i.forEach(function(t){this.tokenStore.remove(t,n)},this),e&&this.eventEmitter.emit("remove",t,this)}},t.Index.prototype.update=function(t,e){var e=void 0===e?!0:e;this.remove(t,!1),this.add(t,!1),e&&this.eventEmitter.emit("update",t,this)},t.Index.prototype.idf=function(t){var e="@"+t;if(Object.prototype.hasOwnProperty.call(this._idfCache,e))return this._idfCache[e];var n=this.tokenStore.count(t),i=1;return n>0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(l),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,g=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,a=m,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=v,a=y,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=g,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=g,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=g,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==e?e:void 0},t.stopWordFilter.stopWords={a:"a",able:"able",about:"about",across:"across",after:"after",all:"all",almost:"almost",also:"also",am:"am",among:"among",an:"an",and:"and",any:"any",are:"are",as:"as",at:"at",be:"be",because:"because",been:"been",but:"but",by:"by",can:"can",cannot:"cannot",could:"could",dear:"dear",did:"did","do":"do",does:"does",either:"either","else":"else",ever:"ever",every:"every","for":"for",from:"from",get:"get",got:"got",had:"had",has:"has",have:"have",he:"he",her:"her",hers:"hers",him:"him",his:"his",how:"how",however:"however",i:"i","if":"if","in":"in",into:"into",is:"is",it:"it",its:"its",just:"just",least:"least",let:"let",like:"like",likely:"likely",may:"may",me:"me",might:"might",most:"most",must:"must",my:"my",neither:"neither",no:"no",nor:"nor",not:"not",of:"of",off:"off",often:"often",on:"on",only:"only",or:"or",other:"other",our:"our",own:"own",rather:"rather",said:"said",say:"say",says:"says",she:"she",should:"should",since:"since",so:"so",some:"some",than:"than",that:"that",the:"the",their:"their",them:"them",then:"then",there:"there",these:"these",they:"they","this":"this",tis:"tis",to:"to",too:"too",twas:"twas",us:"us",wants:"wants",was:"was",we:"we",were:"were",what:"what",when:"when",where:"where",which:"which","while":"while",who:"who",whom:"whom",why:"why",will:"will","with":"with",would:"would",yet:"yet",you:"you",your:"your"},t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){var e=t.replace(/^\W+/,"").replace(/\W+$/,"");return""===e?void 0:e},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return!1;e=e[t[n]]}return!0},t.TokenStore.prototype.getNode=function(t){if(!t)return{};for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return{};e=e[t[n]]}return e},t.TokenStore.prototype.get=function(t,e){return this.getNode(t,e).docs||{}},t.TokenStore.prototype.count=function(t,e){return Object.keys(this.get(t,e)).length},t.TokenStore.prototype.remove=function(t,e){if(t){for(var n=this.root,i=0;i<t.length;i++){if(!(t[i]in n))return;n=n[t[i]]}delete n.docs[e]}},t.TokenStore.prototype.expand=function(t,e){var n=this.getNode(t),i=n.docs||{},e=e||[];return Object.keys(i).length&&e.push(t),Object.keys(n).forEach(function(n){"docs"!==n&&e.concat(this.expand(t+n,e))},this),e},t.TokenStore.prototype.toJSON=function(){return{root:this.root,length:this.length}},function(t,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():t.lunr=e()}(this,function(){return t})}();
\ No newline at end of file
diff --git a/admin-guide/gitbook/gitbook-plugin-lunr/search-lunr.js b/admin-guide/gitbook/gitbook-plugin-lunr/search-lunr.js
deleted file mode 100644
index d6ec76f..0000000
--- a/admin-guide/gitbook/gitbook-plugin-lunr/search-lunr.js
+++ /dev/null
@@ -1,59 +0,0 @@
-require([
-    'gitbook',
-    'jquery'
-], function(gitbook, $) {
-    // Define global search engine
-    function LunrSearchEngine() {
-        this.index = null;
-        this.store = {};
-        this.name = 'LunrSearchEngine';
-    }
-
-    // Initialize lunr by fetching the search index
-    LunrSearchEngine.prototype.init = function() {
-        var that = this;
-        var d = $.Deferred();
-
-        $.getJSON(gitbook.state.basePath+'/search_index.json')
-        .then(function(data) {
-            // eslint-disable-next-line no-undef
-            that.index = lunr.Index.load(data.index);
-            that.store = data.store;
-            d.resolve();
-        });
-
-        return d.promise();
-    };
-
-    // Search for a term and return results
-    LunrSearchEngine.prototype.search = function(q, offset, length) {
-        var that = this;
-        var results = [];
-
-        if (this.index) {
-            results = $.map(this.index.search(q), function(result) {
-                var doc = that.store[result.ref];
-
-                return {
-                    title: doc.title,
-                    url: doc.url,
-                    body: doc.summary || doc.body
-                };
-            });
-        }
-
-        return $.Deferred().resolve({
-            query: q,
-            results: results.slice(0, length),
-            count: results.length
-        }).promise();
-    };
-
-    // Set gitbook research
-    gitbook.events.bind('start', function(e, config) {
-        var engine = gitbook.search.getEngine();
-        if (!engine) {
-            gitbook.search.setEngine(LunrSearchEngine, config);
-        }
-    });
-});
diff --git a/admin-guide/gitbook/gitbook-plugin-search/lunr.min.js b/admin-guide/gitbook/gitbook-plugin-search/lunr.min.js
deleted file mode 100644
index 6aa6bc7..0000000
--- a/admin-guide/gitbook/gitbook-plugin-search/lunr.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.12
- * Copyright (C) 2015 Oliver Nightingale
- * MIT Licensed
- * @license
- */
-!function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.5.12",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(t){return arguments.length&&null!=t&&void 0!=t?Array.isArray(t)?t.map(function(t){return t.toLowerCase()}):t.toString().trim().toLowerCase().split(/[\s\-]+/):[]},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,o=0;n>o;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(e<i.idx)return this.list=new t.Vector.Node(e,n,i),this.length++;for(var o=i,r=i.next;void 0!=r;){if(e<r.idx)return o.next=new t.Vector.Node(e,n,r),this.length++;o=r,r=r.next}return o.next=new t.Vector.Node(e,n,r),this.length++},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var t,e=this.list,n=0;e;)t=e.val,n+=t*t,e=e.next;return this._magnitude=Math.sqrt(n)},t.Vector.prototype.dot=function(t){for(var e=this.list,n=t.list,i=0;e&&n;)e.idx<n.idx?e=e.next:e.idx>n.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t<arguments.length;t++)e=arguments[t],~this.indexOf(e)||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},t.SortedSet.prototype.toArray=function(){return this.elements.slice()},t.SortedSet.prototype.map=function(t,e){return this.elements.map(t,e)},t.SortedSet.prototype.forEach=function(t,e){return this.elements.forEach(t,e)},t.SortedSet.prototype.indexOf=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]<h[o]?i++:a[i]>h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s<o.length;s++){var a=o.elements[s],h=this._fields.reduce(function(t,e){var n=i[e.name].length;if(!n)return t;var o=i[e.name].filter(function(t){return t===a}).length;return t+o/n*e.boost},0);this.tokenStore.add(a,{ref:r,tf:h})}n&&this.eventEmitter.emit("add",e,this)},t.Index.prototype.remove=function(t,e){var n=t[this._ref],e=void 0===e?!0:e;if(this.documentStore.has(n)){var i=this.documentStore.get(n);this.documentStore.remove(n),i.forEach(function(t){this.tokenStore.remove(t,n)},this),e&&this.eventEmitter.emit("remove",t,this)}},t.Index.prototype.update=function(t,e){var e=void 0===e?!0:e;this.remove(t,!1),this.add(t,!1),e&&this.eventEmitter.emit("update",t,this)},t.Index.prototype.idf=function(t){var e="@"+t;if(Object.prototype.hasOwnProperty.call(this._idfCache,e))return this._idfCache[e];var n=this.tokenStore.count(t),i=1;return n>0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(l),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,g=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,a=m,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=v,a=y,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=g,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=g,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=g,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==e?e:void 0},t.stopWordFilter.stopWords={a:"a",able:"able",about:"about",across:"across",after:"after",all:"all",almost:"almost",also:"also",am:"am",among:"among",an:"an",and:"and",any:"any",are:"are",as:"as",at:"at",be:"be",because:"because",been:"been",but:"but",by:"by",can:"can",cannot:"cannot",could:"could",dear:"dear",did:"did","do":"do",does:"does",either:"either","else":"else",ever:"ever",every:"every","for":"for",from:"from",get:"get",got:"got",had:"had",has:"has",have:"have",he:"he",her:"her",hers:"hers",him:"him",his:"his",how:"how",however:"however",i:"i","if":"if","in":"in",into:"into",is:"is",it:"it",its:"its",just:"just",least:"least",let:"let",like:"like",likely:"likely",may:"may",me:"me",might:"might",most:"most",must:"must",my:"my",neither:"neither",no:"no",nor:"nor",not:"not",of:"of",off:"off",often:"often",on:"on",only:"only",or:"or",other:"other",our:"our",own:"own",rather:"rather",said:"said",say:"say",says:"says",she:"she",should:"should",since:"since",so:"so",some:"some",than:"than",that:"that",the:"the",their:"their",them:"them",then:"then",there:"there",these:"these",they:"they","this":"this",tis:"tis",to:"to",too:"too",twas:"twas",us:"us",wants:"wants",was:"was",we:"we",were:"were",what:"what",when:"when",where:"where",which:"which","while":"while",who:"who",whom:"whom",why:"why",will:"will","with":"with",would:"would",yet:"yet",you:"you",your:"your"},t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){var e=t.replace(/^\W+/,"").replace(/\W+$/,"");return""===e?void 0:e},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return!1;e=e[t[n]]}return!0},t.TokenStore.prototype.getNode=function(t){if(!t)return{};for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return{};e=e[t[n]]}return e},t.TokenStore.prototype.get=function(t,e){return this.getNode(t,e).docs||{}},t.TokenStore.prototype.count=function(t,e){return Object.keys(this.get(t,e)).length},t.TokenStore.prototype.remove=function(t,e){if(t){for(var n=this.root,i=0;i<t.length;i++){if(!(t[i]in n))return;n=n[t[i]]}delete n.docs[e]}},t.TokenStore.prototype.expand=function(t,e){var n=this.getNode(t),i=n.docs||{},e=e||[];return Object.keys(i).length&&e.push(t),Object.keys(n).forEach(function(n){"docs"!==n&&e.concat(this.expand(t+n,e))},this),e},t.TokenStore.prototype.toJSON=function(){return{root:this.root,length:this.length}},function(t,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():t.lunr=e()}(this,function(){return t})}();
\ No newline at end of file
diff --git a/admin-guide/gitbook/gitbook-plugin-search/search-engine.js b/admin-guide/gitbook/gitbook-plugin-search/search-engine.js
deleted file mode 100644
index 5088346..0000000
--- a/admin-guide/gitbook/gitbook-plugin-search/search-engine.js
+++ /dev/null
@@ -1,50 +0,0 @@
-require([
-    'gitbook',
-    'jquery'
-], function(gitbook, $) {
-    // Global search objects
-    var engine      = null;
-    var initialized = false;
-
-    // Set a new search engine
-    function setEngine(Engine, config) {
-        initialized = false;
-        engine      = new Engine(config);
-
-        init(config);
-    }
-
-    // Initialize search engine with config
-    function init(config) {
-        if (!engine) throw new Error('No engine set for research. Set an engine using gitbook.research.setEngine(Engine).');
-
-        return engine.init(config)
-        .then(function() {
-            initialized = true;
-            gitbook.events.trigger('search.ready');
-        });
-    }
-
-    // Launch search for query q
-    function query(q, offset, length) {
-        if (!initialized) throw new Error('Search has not been initialized');
-        return engine.search(q, offset, length);
-    }
-
-    // Get stats about search
-    function getEngine() {
-        return engine? engine.name : null;
-    }
-
-    function isInitialized() {
-        return initialized;
-    }
-
-    // Initialize gitbook.search
-    gitbook.search = {
-        setEngine:     setEngine,
-        getEngine:     getEngine,
-        query:         query,
-        isInitialized: isInitialized
-    };
-});
\ No newline at end of file
diff --git a/admin-guide/gitbook/gitbook-plugin-search/search.css b/admin-guide/gitbook/gitbook-plugin-search/search.css
deleted file mode 100644
index 5d47a3c..0000000
--- a/admin-guide/gitbook/gitbook-plugin-search/search.css
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-    This CSS only styled the search results section, not the search input
-    It defines the basic interraction to hide content when displaying results, etc
-*/
-#book-search-results .search-results {
-  display: none;
-}
-#book-search-results .search-results ul.search-results-list {
-  list-style-type: none;
-  padding-left: 0;
-}
-#book-search-results .search-results ul.search-results-list li {
-  margin-bottom: 1.5rem;
-  padding-bottom: 0.5rem;
-  /* Highlight results */
-}
-#book-search-results .search-results ul.search-results-list li p em {
-  background-color: rgba(255, 220, 0, 0.4);
-  font-style: normal;
-}
-#book-search-results .search-results .no-results {
-  display: none;
-}
-#book-search-results.open .search-results {
-  display: block;
-}
-#book-search-results.open .search-noresults {
-  display: none;
-}
-#book-search-results.no-results .search-results .has-results {
-  display: none;
-}
-#book-search-results.no-results .search-results .no-results {
-  display: block;
-}
diff --git a/admin-guide/gitbook/gitbook-plugin-search/search.js b/admin-guide/gitbook/gitbook-plugin-search/search.js
deleted file mode 100644
index 7a0c232..0000000
--- a/admin-guide/gitbook/gitbook-plugin-search/search.js
+++ /dev/null
@@ -1,213 +0,0 @@
-require([
-    'gitbook',
-    'jquery'
-], function(gitbook, $) {
-    var MAX_RESULTS = 15;
-    var MAX_DESCRIPTION_SIZE = 500;
-
-    var usePushState = (typeof history.pushState !== 'undefined');
-
-    // DOM Elements
-    var $body = $('body');
-    var $bookSearchResults;
-    var $searchInput;
-    var $searchList;
-    var $searchTitle;
-    var $searchResultsCount;
-    var $searchQuery;
-
-    // Throttle search
-    function throttle(fn, wait) {
-        var timeout;
-
-        return function() {
-            var ctx = this, args = arguments;
-            if (!timeout) {
-                timeout = setTimeout(function() {
-                    timeout = null;
-                    fn.apply(ctx, args);
-                }, wait);
-            }
-        };
-    }
-
-    function displayResults(res) {
-        $bookSearchResults.addClass('open');
-
-        var noResults = res.count == 0;
-        $bookSearchResults.toggleClass('no-results', noResults);
-
-        // Clear old results
-        $searchList.empty();
-
-        // Display title for research
-        $searchResultsCount.text(res.count);
-        $searchQuery.text(res.query);
-
-        // Create an <li> element for each result
-        res.results.forEach(function(res) {
-            var $li = $('<li>', {
-                'class': 'search-results-item'
-            });
-
-            var $title = $('<h3>');
-
-            var $link = $('<a>', {
-                'href': gitbook.state.basePath + '/' + res.url,
-                'text': res.title
-            });
-
-            var content = res.body.trim();
-            if (content.length > MAX_DESCRIPTION_SIZE) {
-                content = content.slice(0, MAX_DESCRIPTION_SIZE).trim()+'...';
-            }
-            var $content = $('<p>').html(content);
-
-            $link.appendTo($title);
-            $title.appendTo($li);
-            $content.appendTo($li);
-            $li.appendTo($searchList);
-        });
-    }
-
-    function launchSearch(q) {
-        // Add class for loading
-        $body.addClass('with-search');
-        $body.addClass('search-loading');
-
-        // Launch search query
-        throttle(gitbook.search.query(q, 0, MAX_RESULTS)
-        .then(function(results) {
-            displayResults(results);
-        })
-        .always(function() {
-            $body.removeClass('search-loading');
-        }), 1000);
-    }
-
-    function closeSearch() {
-        $body.removeClass('with-search');
-        $bookSearchResults.removeClass('open');
-    }
-
-    function launchSearchFromQueryString() {
-        var q = getParameterByName('q');
-        if (q && q.length > 0) {
-            // Update search input
-            $searchInput.val(q);
-
-            // Launch search
-            launchSearch(q);
-        }
-    }
-
-    function bindSearch() {
-        // Bind DOM
-        $searchInput        = $('#book-search-input input');
-        $bookSearchResults  = $('#book-search-results');
-        $searchList         = $bookSearchResults.find('.search-results-list');
-        $searchTitle        = $bookSearchResults.find('.search-results-title');
-        $searchResultsCount = $searchTitle.find('.search-results-count');
-        $searchQuery        = $searchTitle.find('.search-query');
-
-        // Launch query based on input content
-        function handleUpdate() {
-            var q = $searchInput.val();
-
-            if (q.length == 0) {
-                closeSearch();
-            }
-            else {
-                launchSearch(q);
-            }
-        }
-
-        // Detect true content change in search input
-        // Workaround for IE < 9
-        var propertyChangeUnbound = false;
-        $searchInput.on('propertychange', function(e) {
-            if (e.originalEvent.propertyName == 'value') {
-                handleUpdate();
-            }
-        });
-
-        // HTML5 (IE9 & others)
-        $searchInput.on('input', function(e) {
-            // Unbind propertychange event for IE9+
-            if (!propertyChangeUnbound) {
-                $(this).unbind('propertychange');
-                propertyChangeUnbound = true;
-            }
-
-            handleUpdate();
-        });
-
-        // Push to history on blur
-        $searchInput.on('blur', function(e) {
-            // Update history state
-            if (usePushState) {
-                var uri = updateQueryString('q', $(this).val());
-                history.pushState({ path: uri }, null, uri);
-            }
-        });
-    }
-
-    gitbook.events.on('page.change', function() {
-        bindSearch();
-        closeSearch();
-
-        // Launch search based on query parameter
-        if (gitbook.search.isInitialized()) {
-            launchSearchFromQueryString();
-        }
-    });
-
-    gitbook.events.on('search.ready', function() {
-        bindSearch();
-
-        // Launch search from query param at start
-        launchSearchFromQueryString();
-    });
-
-    function getParameterByName(name) {
-        var url = window.location.href;
-        name = name.replace(/[\[\]]/g, '\\$&');
-        var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)', 'i'),
-            results = regex.exec(url);
-        if (!results) return null;
-        if (!results[2]) return '';
-        return decodeURIComponent(results[2].replace(/\+/g, ' '));
-    }
-
-    function updateQueryString(key, value) {
-        value = encodeURIComponent(value);
-
-        var url = window.location.href;
-        var re = new RegExp('([?&])' + key + '=.*?(&|#|$)(.*)', 'gi'),
-            hash;
-
-        if (re.test(url)) {
-            if (typeof value !== 'undefined' && value !== null)
-                return url.replace(re, '$1' + key + '=' + value + '$2$3');
-            else {
-                hash = url.split('#');
-                url = hash[0].replace(re, '$1$3').replace(/(&|\?)$/, '');
-                if (typeof hash[1] !== 'undefined' && hash[1] !== null)
-                    url += '#' + hash[1];
-                return url;
-            }
-        }
-        else {
-            if (typeof value !== 'undefined' && value !== null) {
-                var separator = url.indexOf('?') !== -1 ? '&' : '?';
-                hash = url.split('#');
-                url = hash[0] + separator + key + '=' + value;
-                if (typeof hash[1] !== 'undefined' && hash[1] !== null)
-                    url += '#' + hash[1];
-                return url;
-            }
-            else
-                return url;
-        }
-    }
-});
diff --git a/admin-guide/gitbook/gitbook-plugin-sharing/buttons.js b/admin-guide/gitbook/gitbook-plugin-sharing/buttons.js
deleted file mode 100644
index 709a4e4..0000000
--- a/admin-guide/gitbook/gitbook-plugin-sharing/buttons.js
+++ /dev/null
@@ -1,90 +0,0 @@
-require(['gitbook', 'jquery'], function(gitbook, $) {
-    var SITES = {
-        'facebook': {
-            'label': 'Facebook',
-            'icon': 'fa fa-facebook',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://www.facebook.com/sharer/sharer.php?s=100&p[url]='+encodeURIComponent(location.href));
-            }
-        },
-        'twitter': {
-            'label': 'Twitter',
-            'icon': 'fa fa-twitter',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://twitter.com/home?status='+encodeURIComponent(document.title+' '+location.href));
-            }
-        },
-        'google': {
-            'label': 'Google+',
-            'icon': 'fa fa-google-plus',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('https://plus.google.com/share?url='+encodeURIComponent(location.href));
-            }
-        },
-        'weibo': {
-            'label': 'Weibo',
-            'icon': 'fa fa-weibo',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://service.weibo.com/share/share.php?content=utf-8&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title));
-            }
-        },
-        'instapaper': {
-            'label': 'Instapaper',
-            'icon': 'fa fa-instapaper',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://www.instapaper.com/text?u='+encodeURIComponent(location.href));
-            }
-        },
-        'vk': {
-            'label': 'VK',
-            'icon': 'fa fa-vk',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://vkontakte.ru/share.php?url='+encodeURIComponent(location.href));
-            }
-        }
-    };
-
-
-
-    gitbook.events.bind('start', function(e, config) {
-        var opts = config.sharing;
-
-        // Create dropdown menu
-        var menu = $.map(opts.all, function(id) {
-            var site = SITES[id];
-
-            return {
-                text: site.label,
-                onClick: site.onClick
-            };
-        });
-
-        // Create main button with dropdown
-        if (menu.length > 0) {
-            gitbook.toolbar.createButton({
-                icon: 'fa fa-share-alt',
-                label: 'Share',
-                position: 'right',
-                dropdown: [menu]
-            });
-        }
-
-        // Direct actions to share
-        $.each(SITES, function(sideId, site) {
-            if (!opts[sideId]) return;
-
-            gitbook.toolbar.createButton({
-                icon: site.icon,
-                label: site.text,
-                position: 'right',
-                onClick: site.onClick
-            });
-        });
-    });
-});
diff --git a/admin-guide/gitbook/gitbook.js b/admin-guide/gitbook/gitbook.js
deleted file mode 100644
index 10000c7..0000000
--- a/admin-guide/gitbook/gitbook.js
+++ /dev/null
@@ -1,4 +0,0 @@
-!function e(t,n,r){function o(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[s]={exports:{}};t[s][0].call(l.exports,function(e){var n=t[s][1][e];return o(n?n:e)},l,l.exports,e,t,n,r)}return n[s].exports}for(var i="function"==typeof require&&require,s=0;s<r.length;s++)o(r[s]);return o}({1:[function(e,t,n){!function(e,n){"use strict";"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(e,t){t=t||te;var n=t.createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function r(e){var t=!!e&&"length"in e&&e.length,n=de.type(e);return"function"!==n&&!de.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function o(e,t,n){return de.isFunction(t)?de.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?de.grep(e,function(e){return e===t!==n}):"string"!=typeof t?de.grep(e,function(e){return se.call(t,e)>-1!==n}):je.test(t)?de.filter(t,e,n):(t=de.filter(t,e),de.grep(e,function(e){return se.call(t,e)>-1!==n&&1===e.nodeType}))}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function s(e){var t={};return de.each(e.match(qe)||[],function(e,n){t[n]=!0}),t}function a(e){return e}function u(e){throw e}function c(e,t,n){var r;try{e&&de.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&de.isFunction(r=e.then)?r.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function l(){te.removeEventListener("DOMContentLoaded",l),e.removeEventListener("load",l),de.ready()}function f(){this.expando=de.expando+f.uid++}function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Ie.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Pe,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n=p(n)}catch(e){}Re.set(e,t,n)}else n=void 0;return n}function d(e,t,n,r){var o,i=1,s=20,a=r?function(){return r.cur()}:function(){return de.css(e,t,"")},u=a(),c=n&&n[3]||(de.cssNumber[t]?"":"px"),l=(de.cssNumber[t]||"px"!==c&&+u)&&$e.exec(de.css(e,t));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do i=i||".5",l/=i,de.style(e,t,l+c);while(i!==(i=a()/u)&&1!==i&&--s)}return n&&(l=+l||+u||0,o=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=o)),o}function g(e){var t,n=e.ownerDocument,r=e.nodeName,o=Ue[r];return o?o:(t=n.body.appendChild(n.createElement(r)),o=de.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),Ue[r]=o,o)}function m(e,t){for(var n,r,o=[],i=0,s=e.length;i<s;i++)r=e[i],r.style&&(n=r.style.display,t?("none"===n&&(o[i]=Fe.get(r,"display")||null,o[i]||(r.style.display="")),""===r.style.display&&Be(r)&&(o[i]=g(r))):"none"!==n&&(o[i]="none",Fe.set(r,"display",n)));for(i=0;i<s;i++)null!=o[i]&&(e[i].style.display=o[i]);return e}function v(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&de.nodeName(e,t)?de.merge([e],n):n}function y(e,t){for(var n=0,r=e.length;n<r;n++)Fe.set(e[n],"globalEval",!t||Fe.get(t[n],"globalEval"))}function x(e,t,n,r,o){for(var i,s,a,u,c,l,f=t.createDocumentFragment(),p=[],h=0,d=e.length;h<d;h++)if(i=e[h],i||0===i)if("object"===de.type(i))de.merge(p,i.nodeType?[i]:i);else if(Ye.test(i)){for(s=s||f.appendChild(t.createElement("div")),a=(Xe.exec(i)||["",""])[1].toLowerCase(),u=Ge[a]||Ge._default,s.innerHTML=u[1]+de.htmlPrefilter(i)+u[2],l=u[0];l--;)s=s.lastChild;de.merge(p,s.childNodes),s=f.firstChild,s.textContent=""}else p.push(t.createTextNode(i));for(f.textContent="",h=0;i=p[h++];)if(r&&de.inArray(i,r)>-1)o&&o.push(i);else if(c=de.contains(i.ownerDocument,i),s=v(f.appendChild(i),"script"),c&&y(s),n)for(l=0;i=s[l++];)Ve.test(i.type||"")&&n.push(i);return f}function b(){return!0}function w(){return!1}function T(){try{return te.activeElement}catch(e){}}function C(e,t,n,r,o,i){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(a in t)C(e,a,n,r,t[a],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),o===!1)o=w;else if(!o)return e;return 1===i&&(s=o,o=function(e){return de().off(e),s.apply(this,arguments)},o.guid=s.guid||(s.guid=de.guid++)),e.each(function(){de.event.add(this,t,o,r,n)})}function j(e,t){return de.nodeName(e,"table")&&de.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function E(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function S(e,t){var n,r,o,i,s,a,u,c;if(1===t.nodeType){if(Fe.hasData(e)&&(i=Fe.access(e),s=Fe.set(t,i),c=i.events)){delete s.handle,s.events={};for(o in c)for(n=0,r=c[o].length;n<r;n++)de.event.add(t,o,c[o][n])}Re.hasData(e)&&(a=Re.access(e),u=de.extend({},a),Re.set(t,u))}}function N(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ze.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function A(e,t,r,o){t=oe.apply([],t);var i,s,a,u,c,l,f=0,p=e.length,h=p-1,d=t[0],g=de.isFunction(d);if(g||p>1&&"string"==typeof d&&!pe.checkClone&&nt.test(d))return e.each(function(n){var i=e.eq(n);g&&(t[0]=d.call(this,n,i.html())),A(i,t,r,o)});if(p&&(i=x(t,e[0].ownerDocument,!1,e,o),s=i.firstChild,1===i.childNodes.length&&(i=s),s||o)){for(a=de.map(v(i,"script"),k),u=a.length;f<p;f++)c=i,f!==h&&(c=de.clone(c,!0,!0),u&&de.merge(a,v(c,"script"))),r.call(e[f],c,f);if(u)for(l=a[a.length-1].ownerDocument,de.map(a,E),f=0;f<u;f++)c=a[f],Ve.test(c.type||"")&&!Fe.access(c,"globalEval")&&de.contains(l,c)&&(c.src?de._evalUrl&&de._evalUrl(c.src):n(c.textContent.replace(ot,""),l))}return e}function q(e,t,n){for(var r,o=t?de.filter(t,e):e,i=0;null!=(r=o[i]);i++)n||1!==r.nodeType||de.cleanData(v(r)),r.parentNode&&(n&&de.contains(r.ownerDocument,r)&&y(v(r,"script")),r.parentNode.removeChild(r));return e}function D(e,t,n){var r,o,i,s,a=e.style;return n=n||at(e),n&&(s=n.getPropertyValue(t)||n[t],""!==s||de.contains(e.ownerDocument,e)||(s=de.style(e,t)),!pe.pixelMarginRight()&&st.test(s)&&it.test(t)&&(r=a.width,o=a.minWidth,i=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=r,a.minWidth=o,a.maxWidth=i)),void 0!==s?s+"":s}function O(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function L(e){if(e in pt)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=ft.length;n--;)if(e=ft[n]+t,e in pt)return e}function H(e,t,n){var r=$e.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function F(e,t,n,r,o){var i,s=0;for(i=n===(r?"border":"content")?4:"width"===t?1:0;i<4;i+=2)"margin"===n&&(s+=de.css(e,n+We[i],!0,o)),r?("content"===n&&(s-=de.css(e,"padding"+We[i],!0,o)),"margin"!==n&&(s-=de.css(e,"border"+We[i]+"Width",!0,o))):(s+=de.css(e,"padding"+We[i],!0,o),"padding"!==n&&(s+=de.css(e,"border"+We[i]+"Width",!0,o)));return s}function R(e,t,n){var r,o=!0,i=at(e),s="border-box"===de.css(e,"boxSizing",!1,i);if(e.getClientRects().length&&(r=e.getBoundingClientRect()[t]),r<=0||null==r){if(r=D(e,t,i),(r<0||null==r)&&(r=e.style[t]),st.test(r))return r;o=s&&(pe.boxSizingReliable()||r===e.style[t]),r=parseFloat(r)||0}return r+F(e,t,n||(s?"border":"content"),o,i)+"px"}function I(e,t,n,r,o){return new I.prototype.init(e,t,n,r,o)}function P(){dt&&(e.requestAnimationFrame(P),de.fx.tick())}function M(){return e.setTimeout(function(){ht=void 0}),ht=de.now()}function $(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)n=We[r],o["margin"+n]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function W(e,t,n){for(var r,o=(U.tweeners[t]||[]).concat(U.tweeners["*"]),i=0,s=o.length;i<s;i++)if(r=o[i].call(n,t,e))return r}function B(e,t,n){var r,o,i,s,a,u,c,l,f="width"in t||"height"in t,p=this,h={},d=e.style,g=e.nodeType&&Be(e),v=Fe.get(e,"fxshow");n.queue||(s=de._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,a=s.empty.fire,s.empty.fire=function(){s.unqueued||a()}),s.unqueued++,p.always(function(){p.always(function(){s.unqueued--,de.queue(e,"fx").length||s.empty.fire()})}));for(r in t)if(o=t[r],gt.test(o)){if(delete t[r],i=i||"toggle"===o,o===(g?"hide":"show")){if("show"!==o||!v||void 0===v[r])continue;g=!0}h[r]=v&&v[r]||de.style(e,r)}if(u=!de.isEmptyObject(t),u||!de.isEmptyObject(h)){f&&1===e.nodeType&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],c=v&&v.display,null==c&&(c=Fe.get(e,"display")),l=de.css(e,"display"),"none"===l&&(c?l=c:(m([e],!0),c=e.style.display||c,l=de.css(e,"display"),m([e]))),("inline"===l||"inline-block"===l&&null!=c)&&"none"===de.css(e,"float")&&(u||(p.done(function(){d.display=c}),null==c&&(l=d.display,c="none"===l?"":l)),d.display="inline-block")),n.overflow&&(d.overflow="hidden",p.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]})),u=!1;for(r in h)u||(v?"hidden"in v&&(g=v.hidden):v=Fe.access(e,"fxshow",{display:c}),i&&(v.hidden=!g),g&&m([e],!0),p.done(function(){g||m([e]),Fe.remove(e,"fxshow");for(r in h)de.style(e,r,h[r])})),u=W(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}}function _(e,t){var n,r,o,i,s;for(n in e)if(r=de.camelCase(n),o=t[r],i=e[n],de.isArray(i)&&(o=i[1],i=e[n]=i[0]),n!==r&&(e[r]=i,delete e[n]),s=de.cssHooks[r],s&&"expand"in s){i=s.expand(i),delete e[r];for(n in i)n in e||(e[n]=i[n],t[n]=o)}else t[r]=o}function U(e,t,n){var r,o,i=0,s=U.prefilters.length,a=de.Deferred().always(function(){delete u.elem}),u=function(){if(o)return!1;for(var t=ht||M(),n=Math.max(0,c.startTime+c.duration-t),r=n/c.duration||0,i=1-r,s=0,u=c.tweens.length;s<u;s++)c.tweens[s].run(i);return a.notifyWith(e,[c,i,n]),i<1&&u?n:(a.resolveWith(e,[c]),!1)},c=a.promise({elem:e,props:de.extend({},t),opts:de.extend(!0,{specialEasing:{},easing:de.easing._default},n),originalProperties:t,originalOptions:n,startTime:ht||M(),duration:n.duration,tweens:[],createTween:function(t,n){var r=de.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(r),r},stop:function(t){var n=0,r=t?c.tweens.length:0;if(o)return this;for(o=!0;n<r;n++)c.tweens[n].run(1);return t?(a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c,t])):a.rejectWith(e,[c,t]),this}}),l=c.props;for(_(l,c.opts.specialEasing);i<s;i++)if(r=U.prefilters[i].call(c,e,l,c.opts))return de.isFunction(r.stop)&&(de._queueHooks(c.elem,c.opts.queue).stop=de.proxy(r.stop,r)),r;return de.map(l,W,c),de.isFunction(c.opts.start)&&c.opts.start.call(e,c),de.fx.timer(de.extend(u,{elem:e,anim:c,queue:c.opts.queue})),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always)}function z(e){var t=e.match(qe)||[];return t.join(" ")}function X(e){return e.getAttribute&&e.getAttribute("class")||""}function V(e,t,n,r){var o;if(de.isArray(t))de.each(t,function(t,o){n||Et.test(e)?r(e,o):V(e+"["+("object"==typeof o&&null!=o?t:"")+"]",o,n,r)});else if(n||"object"!==de.type(t))r(e,t);else for(o in t)V(e+"["+o+"]",t[o],n,r)}function G(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,o=0,i=t.toLowerCase().match(qe)||[];if(de.isFunction(n))for(;r=i[o++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Y(e,t,n,r){function o(a){var u;return i[a]=!0,de.each(e[a]||[],function(e,a){var c=a(t,n,r);return"string"!=typeof c||s||i[c]?s?!(u=c):void 0:(t.dataTypes.unshift(c),o(c),!1)}),u}var i={},s=e===Pt;return o(t.dataTypes[0])||!i["*"]&&o("*")}function Q(e,t){var n,r,o=de.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:r||(r={}))[n]=t[n]);return r&&de.extend(!0,e,r),e}function J(e,t,n){for(var r,o,i,s,a=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(o in a)if(a[o]&&a[o].test(r)){u.unshift(o);break}if(u[0]in n)i=u[0];else{for(o in n){if(!u[0]||e.converters[o+" "+u[0]]){i=o;break}s||(s=o)}i=i||s}if(i)return i!==u[0]&&u.unshift(i),n[i]}function K(e,t,n,r){var o,i,s,a,u,c={},l=e.dataTypes.slice();if(l[1])for(s in e.converters)c[s.toLowerCase()]=e.converters[s];for(i=l.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=i,i=l.shift())if("*"===i)i=u;else if("*"!==u&&u!==i){if(s=c[u+" "+i]||c["* "+i],!s)for(o in c)if(a=o.split(" "),a[1]===i&&(s=c[u+" "+a[0]]||c["* "+a[0]])){s===!0?s=c[o]:c[o]!==!0&&(i=a[0],l.unshift(a[1]));break}if(s!==!0)if(s&&e.throws)t=s(t);else try{t=s(t)}catch(e){return{state:"parsererror",error:s?e:"No conversion from "+u+" to "+i}}}return{state:"success",data:t}}function Z(e){return de.isWindow(e)?e:9===e.nodeType&&e.defaultView}var ee=[],te=e.document,ne=Object.getPrototypeOf,re=ee.slice,oe=ee.concat,ie=ee.push,se=ee.indexOf,ae={},ue=ae.toString,ce=ae.hasOwnProperty,le=ce.toString,fe=le.call(Object),pe={},he="3.1.1",de=function(e,t){return new de.fn.init(e,t)},ge=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,me=/^-ms-/,ve=/-([a-z])/g,ye=function(e,t){return t.toUpperCase()};de.fn=de.prototype={jquery:he,constructor:de,length:0,toArray:function(){return re.call(this)},get:function(e){return null==e?re.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=de.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return de.each(this,e)},map:function(e){return this.pushStack(de.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(re.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:ie,sort:ee.sort,splice:ee.splice},de.extend=de.fn.extend=function(){var e,t,n,r,o,i,s=arguments[0]||{},a=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[a]||{},a++),"object"==typeof s||de.isFunction(s)||(s={}),a===u&&(s=this,a--);a<u;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(c&&r&&(de.isPlainObject(r)||(o=de.isArray(r)))?(o?(o=!1,i=n&&de.isArray(n)?n:[]):i=n&&de.isPlainObject(n)?n:{},s[t]=de.extend(c,i,r)):void 0!==r&&(s[t]=r));return s},de.extend({expando:"jQuery"+(he+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===de.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=de.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==ue.call(e))&&(!(t=ne(e))||(n=ce.call(t,"constructor")&&t.constructor,"function"==typeof n&&le.call(n)===fe))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?ae[ue.call(e)]||"object":typeof e},globalEval:function(e){n(e)},camelCase:function(e){return e.replace(me,"ms-").replace(ve,ye)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var n,o=0;if(r(e))for(n=e.length;o<n&&t.call(e[o],o,e[o])!==!1;o++);else for(o in e)if(t.call(e[o],o,e[o])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(ge,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(r(Object(e))?de.merge(n,"string"==typeof e?[e]:e):ie.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:se.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,o=e.length;r<n;r++)e[o++]=t[r];return e.length=o,e},grep:function(e,t,n){for(var r,o=[],i=0,s=e.length,a=!n;i<s;i++)r=!t(e[i],i),r!==a&&o.push(e[i]);return o},map:function(e,t,n){var o,i,s=0,a=[];if(r(e))for(o=e.length;s<o;s++)i=t(e[s],s,n),null!=i&&a.push(i);else for(s in e)i=t(e[s],s,n),null!=i&&a.push(i);return oe.apply([],a)},guid:1,proxy:function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),de.isFunction(e))return r=re.call(arguments,2),o=function(){return e.apply(t||this,r.concat(re.call(arguments)))},o.guid=e.guid=e.guid||de.guid++,o},now:Date.now,support:pe}),"function"==typeof Symbol&&(de.fn[Symbol.iterator]=ee[Symbol.iterator]),de.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){ae["[object "+t+"]"]=t.toLowerCase()});var xe=function(e){function t(e,t,n,r){var o,i,s,a,u,c,l,p=t&&t.ownerDocument,d=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==d&&9!==d&&11!==d)return n;if(!r&&((t?t.ownerDocument||t:W)!==L&&O(t),t=t||L,F)){if(11!==d&&(u=ve.exec(e)))if(o=u[1]){if(9===d){if(!(s=t.getElementById(o)))return n;if(s.id===o)return n.push(s),n}else if(p&&(s=p.getElementById(o))&&M(t,s)&&s.id===o)return n.push(s),n}else{if(u[2])return K.apply(n,t.getElementsByTagName(e)),n;if((o=u[3])&&T.getElementsByClassName&&t.getElementsByClassName)return K.apply(n,t.getElementsByClassName(o)),n}if(T.qsa&&!X[e+" "]&&(!R||!R.test(e))){if(1!==d)p=t,l=e;else if("object"!==t.nodeName.toLowerCase()){for((a=t.getAttribute("id"))?a=a.replace(we,Te):t.setAttribute("id",a=$),c=E(e),i=c.length;i--;)c[i]="#"+a+" "+h(c[i]);l=c.join(","),p=ye.test(e)&&f(t.parentNode)||t}if(l)try{return K.apply(n,p.querySelectorAll(l)),n}catch(e){}finally{a===$&&t.removeAttribute("id")}}}return N(e.replace(ae,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>C.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[$]=!0,e}function o(e){var t=L.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split("|"),r=n.length;r--;)C.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&je(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var o,i=e([],n.length,t),s=i.length;s--;)n[o=i[s]]&&(n[o]=!(r[o]=n[o]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function h(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function d(e,t,n){var r=t.dir,o=t.next,i=o||r,s=n&&"parentNode"===i,a=_++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||s)return e(t,n,o);return!1}:function(t,n,u){var c,l,f,p=[B,a];if(u){for(;t=t[r];)if((1===t.nodeType||s)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||s)if(f=t[$]||(t[$]={}),l=f[t.uniqueID]||(f[t.uniqueID]={}),o&&o===t.nodeName.toLowerCase())t=t[r]||t;else{if((c=l[i])&&c[0]===B&&c[1]===a)return p[2]=c[2];if(l[i]=p,p[2]=e(t,n,u))return!0}return!1}}function g(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var o=0,i=n.length;o<i;o++)t(e,n[o],r);return r}function v(e,t,n,r,o){for(var i,s=[],a=0,u=e.length,c=null!=t;a<u;a++)(i=e[a])&&(n&&!n(i,r,o)||(s.push(i),c&&t.push(a)));return s}function y(e,t,n,o,i,s){return o&&!o[$]&&(o=y(o)),i&&!i[$]&&(i=y(i,s)),r(function(r,s,a,u){var c,l,f,p=[],h=[],d=s.length,g=r||m(t||"*",a.nodeType?[a]:a,[]),y=!e||!r&&t?g:v(g,p,e,a,u),x=n?i||(r?e:d||o)?[]:s:y;if(n&&n(y,x,a,u),o)for(c=v(x,h),o(c,[],a,u),l=c.length;l--;)(f=c[l])&&(x[h[l]]=!(y[h[l]]=f));if(r){if(i||e){if(i){for(c=[],l=x.length;l--;)(f=x[l])&&c.push(y[l]=f);i(null,x=[],c,u)}for(l=x.length;l--;)(f=x[l])&&(c=i?ee(r,f):p[l])>-1&&(r[c]=!(s[c]=f))}}else x=v(x===s?x.splice(d,x.length):x),i?i(null,s,x,u):K.apply(s,x)})}function x(e){for(var t,n,r,o=e.length,i=C.relative[e[0].type],s=i||C.relative[" "],a=i?1:0,u=d(function(e){return e===t},s,!0),c=d(function(e){return ee(t,e)>-1},s,!0),l=[function(e,n,r){var o=!i&&(r||n!==A)||((t=n).nodeType?u(e,n,r):c(e,n,r));return t=null,o}];a<o;a++)if(n=C.relative[e[a].type])l=[d(g(l),n)];else{if(n=C.filter[e[a].type].apply(null,e[a].matches),n[$]){for(r=++a;r<o&&!C.relative[e[r].type];r++);return y(a>1&&g(l),a>1&&h(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ae,"$1"),n,a<r&&x(e.slice(a,r)),r<o&&x(e=e.slice(r)),r<o&&h(e))}l.push(n)}return g(l)}function b(e,n){var o=n.length>0,i=e.length>0,s=function(r,s,a,u,c){var l,f,p,h=0,d="0",g=r&&[],m=[],y=A,x=r||i&&C.find.TAG("*",c),b=B+=null==y?1:Math.random()||.1,w=x.length;for(c&&(A=s===L||s||c);d!==w&&null!=(l=x[d]);d++){if(i&&l){for(f=0,s||l.ownerDocument===L||(O(l),a=!F);p=e[f++];)if(p(l,s||L,a)){u.push(l);break}c&&(B=b)}o&&((l=!p&&l)&&h--,r&&g.push(l))}if(h+=d,o&&d!==h){for(f=0;p=n[f++];)p(g,m,s,a);if(r){if(h>0)for(;d--;)g[d]||m[d]||(m[d]=Q.call(u));m=v(m)}K.apply(u,m),c&&!r&&m.length>0&&h+n.length>1&&t.uniqueSort(u)}return c&&(B=b,A=y),g};return o?r(s):s}var w,T,C,j,k,E,S,N,A,q,D,O,L,H,F,R,I,P,M,$="sizzle"+1*new Date,W=e.document,B=0,_=0,U=n(),z=n(),X=n(),V=function(e,t){return e===t&&(D=!0),0},G={}.hasOwnProperty,Y=[],Q=Y.pop,J=Y.push,K=Y.push,Z=Y.slice,ee=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",oe="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+re+"))|)"+ne+"*\\]",ie=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+oe+")*)|.*)\\)|)",se=new RegExp(ne+"+","g"),ae=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),ue=new RegExp("^"+ne+"*,"+ne+"*"),ce=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),le=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(ie),pe=new RegExp("^"+re+"$"),he={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},de=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,xe=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),be=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},we=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Te=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Ce=function(){O()},je=d(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{K.apply(Y=Z.call(W.childNodes),W.childNodes),Y[W.childNodes.length].nodeType}catch(e){K={apply:Y.length?function(e,t){J.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}T=t.support={},k=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},O=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:W;return r!==L&&9===r.nodeType&&r.documentElement?(L=r,H=L.documentElement,F=!k(L),W!==L&&(n=L.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Ce,!1):n.attachEvent&&n.attachEvent("onunload",Ce)),T.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),T.getElementsByTagName=o(function(e){return e.appendChild(L.createComment("")),!e.getElementsByTagName("*").length}),T.getElementsByClassName=me.test(L.getElementsByClassName),T.getById=o(function(e){return H.appendChild(e).id=$,!L.getElementsByName||!L.getElementsByName($).length}),T.getById?(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){return e.getAttribute("id")===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n=t.getElementById(e);return n?[n]:[]}}):(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n,r,o,i=t.getElementById(e);if(i){if(n=i.getAttributeNode("id"),n&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if(n=i.getAttributeNode("id"),n&&n.value===e)return[i]}return[]}}),C.find.TAG=T.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):T.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},C.find.CLASS=T.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&F)return t.getElementsByClassName(e)},I=[],R=[],(T.qsa=me.test(L.querySelectorAll))&&(o(function(e){H.appendChild(e).innerHTML="<a id='"+$+"'></a><select id='"+$+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&R.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||R.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+$+"-]").length||R.push("~="),e.querySelectorAll(":checked").length||R.push(":checked"),e.querySelectorAll("a#"+$+"+*").length||R.push(".#.+[+~]")}),o(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=L.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&R.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&R.push(":enabled",":disabled"),H.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&R.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),R.push(",.*:")})),(T.matchesSelector=me.test(P=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&o(function(e){T.disconnectedMatch=P.call(e,"*"),P.call(e,"[s!='']:x"),I.push("!=",ie)}),R=R.length&&new RegExp(R.join("|")),I=I.length&&new RegExp(I.join("|")),t=me.test(H.compareDocumentPosition),M=t||me.test(H.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},V=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!T.sortDetached&&t.compareDocumentPosition(e)===n?e===L||e.ownerDocument===W&&M(W,e)?-1:t===L||t.ownerDocument===W&&M(W,t)?1:q?ee(q,e)-ee(q,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,a=[e],u=[t];if(!o||!i)return e===L?-1:t===L?1:o?-1:i?1:q?ee(q,e)-ee(q,t):0;if(o===i)return s(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]===W?-1:u[r]===W?1:0},L):L},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==L&&O(e),n=n.replace(le,"='$1']"),T.matchesSelector&&F&&!X[n+" "]&&(!I||!I.test(n))&&(!R||!R.test(n)))try{var r=P.call(e,n);if(r||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,L,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==L&&O(e),M(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==L&&O(e);var n=C.attrHandle[t.toLowerCase()],r=n&&G.call(C.attrHandle,t.toLowerCase())?n(e,t,!F):void 0;return void 0!==r?r:T.attributes||!F?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(we,Te)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,o=0;if(D=!T.detectDuplicates,q=!T.sortStable&&e.slice(0),e.sort(V),D){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)e.splice(n[r],1)}return q=null,e},j=t.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=j(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=j(t);return n},C=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xe,be),e[3]=(e[3]||e[4]||e[5]||"").replace(xe,be),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=E(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(xe,be).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(o){var i=t.attr(o,e);return null==i?"!="===n:!n||(i+="","="===n?i===r:"!="===n?i!==r:"^="===n?r&&0===i.indexOf(r):"*="===n?r&&i.indexOf(r)>-1:"$="===n?r&&i.slice(-r.length)===r:"~="===n?(" "+i.replace(se," ")+" ").indexOf(r)>-1:"|="===n&&(i===r||i.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,p,h,d,g=i!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!u&&!a,x=!1;if(m){if(i){for(;g;){for(p=t;p=p[g];)if(a?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&y){for(p=m,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h&&c[2],p=h&&m.childNodes[h];p=++h&&p&&p[g]||(x=h=0)||d.pop();)if(1===p.nodeType&&++x&&p===t){l[e]=[B,h,x];break}}else if(y&&(p=t,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h),x===!1)for(;(p=++h&&p&&p[g]||(x=h=0)||d.pop())&&((a?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++x||(y&&(f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),l[e]=[B,x]),p!==t)););return x-=o,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var o,i=C.pseudos[e]||C.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return i[$]?i(n):i.length>1?(o=[e,e,"",n],C.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,o=i(e,n),s=o.length;s--;)r=ee(e,o[s]),e[r]=!(t[r]=o[s])}):function(e){return i(e,0,o)}):i}},pseudos:{not:r(function(e){var t=[],n=[],o=S(e.replace(ae,"$1"));return o[$]?r(function(e,t,n,r){for(var i,s=o(e,null,r,[]),a=e.length;a--;)(i=s[a])&&(e[a]=!(t[a]=i))}):function(e,r,i){return t[0]=e,o(t,null,i,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){
-return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(xe,be),function(t){return(t.textContent||t.innerText||j(t)).indexOf(e)>-1}}),lang:r(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(xe,be).toLowerCase(),function(t){var n;do if(n=F?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===L.activeElement&&(!L.hasFocus||L.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:c(!1),disabled:c(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!C.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return de.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:l(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:l(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},C.pseudos.nth=C.pseudos.eq;for(w in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})C.pseudos[w]=a(w);for(w in{submit:!0,reset:!0})C.pseudos[w]=u(w);return p.prototype=C.filters=C.pseudos,C.setFilters=new p,E=t.tokenize=function(e,n){var r,o,i,s,a,u,c,l=z[e+" "];if(l)return n?0:l.slice(0);for(a=e,u=[],c=C.preFilter;a;){r&&!(o=ue.exec(a))||(o&&(a=a.slice(o[0].length)||a),u.push(i=[])),r=!1,(o=ce.exec(a))&&(r=o.shift(),i.push({value:r,type:o[0].replace(ae," ")}),a=a.slice(r.length));for(s in C.filter)!(o=he[s].exec(a))||c[s]&&!(o=c[s](o))||(r=o.shift(),i.push({value:r,type:s,matches:o}),a=a.slice(r.length));if(!r)break}return n?a.length:a?t.error(e):z(e,u).slice(0)},S=t.compile=function(e,t){var n,r=[],o=[],i=X[e+" "];if(!i){for(t||(t=E(e)),n=t.length;n--;)i=x(t[n]),i[$]?r.push(i):o.push(i);i=X(e,b(o,r)),i.selector=e}return i},N=t.select=function(e,t,n,r){var o,i,s,a,u,c="function"==typeof e&&e,l=!r&&E(e=c.selector||e);if(n=n||[],1===l.length){if(i=l[0]=l[0].slice(0),i.length>2&&"ID"===(s=i[0]).type&&9===t.nodeType&&F&&C.relative[i[1].type]){if(t=(C.find.ID(s.matches[0].replace(xe,be),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=he.needsContext.test(e)?0:i.length;o--&&(s=i[o],!C.relative[a=s.type]);)if((u=C.find[a])&&(r=u(s.matches[0].replace(xe,be),ye.test(i[0].type)&&f(t.parentNode)||t))){if(i.splice(o,1),e=r.length&&h(i),!e)return K.apply(n,r),n;break}}return(c||S(e,l))(r,t,!F,n,!t||ye.test(e)&&f(t.parentNode)||t),n},T.sortStable=$.split("").sort(V).join("")===$,T.detectDuplicates=!!D,O(),T.sortDetached=o(function(e){return 1&e.compareDocumentPosition(L.createElement("fieldset"))}),o(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||i("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),T.attributes&&o(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||i("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||i(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);de.find=xe,de.expr=xe.selectors,de.expr[":"]=de.expr.pseudos,de.uniqueSort=de.unique=xe.uniqueSort,de.text=xe.getText,de.isXMLDoc=xe.isXML,de.contains=xe.contains,de.escapeSelector=xe.escape;var be=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&de(e).is(n))break;r.push(e)}return r},we=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Te=de.expr.match.needsContext,Ce=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,je=/^.[^:#\[\.,]*$/;de.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?de.find.matchesSelector(r,e)?[r]:[]:de.find.matches(e,de.grep(t,function(e){return 1===e.nodeType}))},de.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(de(e).filter(function(){for(t=0;t<r;t++)if(de.contains(o[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)de.find(e,o[t],n);return r>1?de.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Te.test(e)?de(e):e||[],!1).length}});var ke,Ee=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Se=de.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||ke,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Ee.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof de?t[0]:t,de.merge(this,de.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Ce.test(r[1])&&de.isPlainObject(t))for(r in t)de.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return o=te.getElementById(r[2]),o&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):de.isFunction(e)?void 0!==n.ready?n.ready(e):e(de):de.makeArray(e,this)};Se.prototype=de.fn,ke=de(te);var Ne=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};de.fn.extend({has:function(e){var t=de(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(de.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,o=this.length,i=[],s="string"!=typeof e&&de(e);if(!Te.test(e))for(;r<o;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&de.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?de.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?se.call(de(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(de.uniqueSort(de.merge(this.get(),de(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),de.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return be(e,"parentNode")},parentsUntil:function(e,t,n){return be(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return be(e,"nextSibling")},prevAll:function(e){return be(e,"previousSibling")},nextUntil:function(e,t,n){return be(e,"nextSibling",n)},prevUntil:function(e,t,n){return be(e,"previousSibling",n)},siblings:function(e){return we((e.parentNode||{}).firstChild,e)},children:function(e){return we(e.firstChild)},contents:function(e){return e.contentDocument||de.merge([],e.childNodes)}},function(e,t){de.fn[e]=function(n,r){var o=de.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=de.filter(r,o)),this.length>1&&(Ae[e]||de.uniqueSort(o),Ne.test(e)&&o.reverse()),this.pushStack(o)}});var qe=/[^\x20\t\r\n\f]+/g;de.Callbacks=function(e){e="string"==typeof e?s(e):de.extend({},e);var t,n,r,o,i=[],a=[],u=-1,c=function(){for(o=e.once,r=t=!0;a.length;u=-1)for(n=a.shift();++u<i.length;)i[u].apply(n[0],n[1])===!1&&e.stopOnFalse&&(u=i.length,n=!1);e.memory||(n=!1),t=!1,o&&(i=n?[]:"")},l={add:function(){return i&&(n&&!t&&(u=i.length-1,a.push(n)),function t(n){de.each(n,function(n,r){de.isFunction(r)?e.unique&&l.has(r)||i.push(r):r&&r.length&&"string"!==de.type(r)&&t(r)})}(arguments),n&&!t&&c()),this},remove:function(){return de.each(arguments,function(e,t){for(var n;(n=de.inArray(t,i,n))>-1;)i.splice(n,1),n<=u&&u--}),this},has:function(e){return e?de.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=a=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=a=[],n||t||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],a.push(n),t||c()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},de.extend({Deferred:function(t){var n=[["notify","progress",de.Callbacks("memory"),de.Callbacks("memory"),2],["resolve","done",de.Callbacks("once memory"),de.Callbacks("once memory"),0,"resolved"],["reject","fail",de.Callbacks("once memory"),de.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return de.Deferred(function(t){de.each(n,function(n,r){var o=de.isFunction(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=o&&o.apply(this,arguments);e&&de.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,r,o){function i(t,n,r,o){return function(){var c=this,l=arguments,f=function(){var e,f;if(!(t<s)){if(e=r.apply(c,l),e===n.promise())throw new TypeError("Thenable self-resolution");f=e&&("object"==typeof e||"function"==typeof e)&&e.then,de.isFunction(f)?o?f.call(e,i(s,n,a,o),i(s,n,u,o)):(s++,f.call(e,i(s,n,a,o),i(s,n,u,o),i(s,n,a,n.notifyWith))):(r!==a&&(c=void 0,l=[e]),(o||n.resolveWith)(c,l))}},p=o?f:function(){try{f()}catch(e){de.Deferred.exceptionHook&&de.Deferred.exceptionHook(e,p.stackTrace),t+1>=s&&(r!==u&&(c=void 0,l=[e]),n.rejectWith(c,l))}};t?p():(de.Deferred.getStackHook&&(p.stackTrace=de.Deferred.getStackHook()),e.setTimeout(p))}}var s=0;return de.Deferred(function(e){n[0][3].add(i(0,e,de.isFunction(o)?o:a,e.notifyWith)),n[1][3].add(i(0,e,de.isFunction(t)?t:a)),n[2][3].add(i(0,e,de.isFunction(r)?r:u))}).promise()},promise:function(e){return null!=e?de.extend(e,o):o}},i={};return de.each(n,function(e,t){var s=t[2],a=t[5];o[t[1]]=s.add,a&&s.add(function(){r=a},n[3-e][2].disable,n[0][2].lock),s.add(t[3].fire),i[t[0]]=function(){return i[t[0]+"With"](this===i?void 0:this,arguments),this},i[t[0]+"With"]=s.fireWith}),o.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=re.call(arguments),i=de.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?re.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&(c(e,i.done(s(n)).resolve,i.reject),"pending"===i.state()||de.isFunction(o[n]&&o[n].then)))return i.then();for(;n--;)c(o[n],s(n),i.reject);return i.promise()}});var De=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;de.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&De.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},de.readyException=function(t){e.setTimeout(function(){throw t})};var Oe=de.Deferred();de.fn.ready=function(e){return Oe.then(e).catch(function(e){de.readyException(e)}),this},de.extend({isReady:!1,readyWait:1,holdReady:function(e){e?de.readyWait++:de.ready(!0)},ready:function(e){(e===!0?--de.readyWait:de.isReady)||(de.isReady=!0,e!==!0&&--de.readyWait>0||Oe.resolveWith(te,[de]))}}),de.ready.then=Oe.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(de.ready):(te.addEventListener("DOMContentLoaded",l),e.addEventListener("load",l));var Le=function(e,t,n,r,o,i,s){var a=0,u=e.length,c=null==n;if("object"===de.type(n)){o=!0;for(a in n)Le(e,t,a,n[a],!0,i,s)}else if(void 0!==r&&(o=!0,de.isFunction(r)||(s=!0),c&&(s?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(de(e),n)})),t))for(;a<u;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return o?e:c?t.call(e):u?t(e[0],n):i},He=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};f.uid=1,f.prototype={cache:function(e){var t=e[this.expando];return t||(t={},He(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,o=this.cache(e);if("string"==typeof t)o[de.camelCase(t)]=n;else for(r in t)o[de.camelCase(r)]=t[r];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][de.camelCase(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){de.isArray(t)?t=t.map(de.camelCase):(t=de.camelCase(t),t=t in r?[t]:t.match(qe)||[]),n=t.length;for(;n--;)delete r[t[n]]}(void 0===t||de.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!de.isEmptyObject(t)}};var Fe=new f,Re=new f,Ie=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Pe=/[A-Z]/g;de.extend({hasData:function(e){return Re.hasData(e)||Fe.hasData(e)},data:function(e,t,n){return Re.access(e,t,n)},removeData:function(e,t){Re.remove(e,t)},_data:function(e,t,n){return Fe.access(e,t,n)},_removeData:function(e,t){Fe.remove(e,t)}}),de.fn.extend({data:function(e,t){var n,r,o,i=this[0],s=i&&i.attributes;if(void 0===e){if(this.length&&(o=Re.get(i),1===i.nodeType&&!Fe.get(i,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&(r=s[n].name,0===r.indexOf("data-")&&(r=de.camelCase(r.slice(5)),h(i,r,o[r])));Fe.set(i,"hasDataAttrs",!0)}return o}return"object"==typeof e?this.each(function(){Re.set(this,e)}):Le(this,function(t){var n;if(i&&void 0===t){if(n=Re.get(i,e),void 0!==n)return n;if(n=h(i,e),void 0!==n)return n}else this.each(function(){Re.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Re.remove(this,e)})}}),de.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||de.isArray(n)?r=Fe.access(e,t,de.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=de.queue(e,t),r=n.length,o=n.shift(),i=de._queueHooks(e,t),s=function(){de.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,s,i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:de.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),de.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?de.queue(this[0],e):void 0===t?this:this.each(function(){var n=de.queue(this,e,t);de._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&de.dequeue(this,e)})},dequeue:function(e){return this.each(function(){de.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,o=de.Deferred(),i=this,s=this.length,a=function(){--r||o.resolveWith(i,[i])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";s--;)n=Fe.get(i[s],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(a));return a(),o.promise(t)}});var Me=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,$e=new RegExp("^(?:([+-])=|)("+Me+")([a-z%]*)$","i"),We=["Top","Right","Bottom","Left"],Be=function(e,t){return e=t||e,"none"===e.style.display||""===e.style.display&&de.contains(e.ownerDocument,e)&&"none"===de.css(e,"display")},_e=function(e,t,n,r){var o,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];o=n.apply(e,r||[]);for(i in t)e.style[i]=s[i];return o},Ue={};de.fn.extend({show:function(){return m(this,!0)},hide:function(){return m(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Be(this)?de(this).show():de(this).hide()})}});var ze=/^(?:checkbox|radio)$/i,Xe=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,Ve=/^$|\/(?:java|ecma)script/i,Ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Ge.optgroup=Ge.option,Ge.tbody=Ge.tfoot=Ge.colgroup=Ge.caption=Ge.thead,Ge.th=Ge.td;var Ye=/<|&#?\w+;/;!function(){var e=te.createDocumentFragment(),t=e.appendChild(te.createElement("div")),n=te.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),pe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",pe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Qe=te.documentElement,Je=/^key/,Ke=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ze=/^([^.]*)(?:\.(.+)|)/;de.event={global:{},add:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.get(e);if(m)for(n.handler&&(i=n,n=i.handler,o=i.selector),o&&de.find.matchesSelector(Qe,o),n.guid||(n.guid=de.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(t){return"undefined"!=typeof de&&de.event.triggered!==t.type?de.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(qe)||[""],c=t.length;c--;)a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h&&(f=de.event.special[h]||{},h=(o?f.delegateType:f.bindType)||h,f=de.event.special[h]||{},l=de.extend({type:h,origType:g,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&de.expr.match.needsContext.test(o),namespace:d.join(".")},i),(p=u[h])||(p=u[h]=[],p.delegateCount=0,f.setup&&f.setup.call(e,r,d,s)!==!1||e.addEventListener&&e.addEventListener(h,s)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),o?p.splice(p.delegateCount++,0,l):p.push(l),de.event.global[h]=!0)},remove:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.hasData(e)&&Fe.get(e);if(m&&(u=m.events)){for(t=(t||"").match(qe)||[""],c=t.length;c--;)if(a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){for(f=de.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,p=u[h]||[],a=a[2]&&new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=i=p.length;i--;)l=p[i],!o&&g!==l.origType||n&&n.guid!==l.guid||a&&!a.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(p.splice(i,1),l.selector&&p.delegateCount--,f.remove&&f.remove.call(e,l));s&&!p.length&&(f.teardown&&f.teardown.call(e,d,m.handle)!==!1||de.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)de.event.remove(e,h+t[c],n,r,!0);de.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,s,a=de.event.fix(e),u=new Array(arguments.length),c=(Fe.get(this,"events")||{})[a.type]||[],l=de.event.special[a.type]||{};for(u[0]=a,t=1;t<arguments.length;t++)u[t]=arguments[t];if(a.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,a)!==!1){for(s=de.event.handlers.call(this,a,c),t=0;(o=s[t++])&&!a.isPropagationStopped();)for(a.currentTarget=o.elem,n=0;(i=o.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(i.namespace)||(a.handleObj=i,a.data=i.data,r=((de.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),void 0!==r&&(a.result=r)===!1&&(a.preventDefault(),a.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,a),a.result}},handlers:function(e,t){var n,r,o,i,s,a=[],u=t.delegateCount,c=e.target;if(u&&c.nodeType&&!("click"===e.type&&e.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||c.disabled!==!0)){for(i=[],s={},n=0;n<u;n++)r=t[n],o=r.selector+" ",void 0===s[o]&&(s[o]=r.needsContext?de(o,this).index(c)>-1:de.find(o,this,null,[c]).length),s[o]&&i.push(r);i.length&&a.push({elem:c,handlers:i})}return c=this,u<t.length&&a.push({elem:c,handlers:t.slice(u)}),a},addProp:function(e,t){Object.defineProperty(de.Event.prototype,e,{enumerable:!0,configurable:!0,get:de.isFunction(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[de.expando]?e:new de.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==T()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===T()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&de.nodeName(this,"input"))return this.click(),!1},_default:function(e){return de.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},de.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},de.Event=function(e,t){return this instanceof de.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?b:w,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&de.extend(this,t),this.timeStamp=e&&e.timeStamp||de.now(),void(this[de.expando]=!0)):new de.Event(e,t)},de.Event.prototype={constructor:de.Event,isDefaultPrevented:w,isPropagationStopped:w,isImmediatePropagationStopped:w,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=b,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=b,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=b,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},de.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Je.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ke.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},de.event.addProp),de.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){de.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,o=e.relatedTarget,i=e.handleObj;return o&&(o===r||de.contains(r,o))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}}),de.fn.extend({on:function(e,t,n,r){return C(this,e,t,n,r)},one:function(e,t,n,r){return C(this,e,t,n,r,1)},off:function(e,t,n){var r,o;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,de(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(o in e)this.off(o,t,e[o]);return this}return t!==!1&&"function"!=typeof t||(n=t,t=void 0),n===!1&&(n=w),this.each(function(){de.event.remove(this,e,n,t)})}});var et=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/<script|<style|<link/i,nt=/checked\s*(?:[^=]|=\s*.checked.)/i,rt=/^true\/(.*)/,ot=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;de.extend({htmlPrefilter:function(e){return e.replace(et,"<$1></$2>")},clone:function(e,t,n){var r,o,i,s,a=e.cloneNode(!0),u=de.contains(e.ownerDocument,e);if(!(pe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||de.isXMLDoc(e)))for(s=v(a),i=v(e),r=0,o=i.length;r<o;r++)N(i[r],s[r]);if(t)if(n)for(i=i||v(e),s=s||v(a),r=0,o=i.length;r<o;r++)S(i[r],s[r]);else S(e,a);return s=v(a,"script"),s.length>0&&y(s,!u&&v(e,"script")),a},cleanData:function(e){for(var t,n,r,o=de.event.special,i=0;void 0!==(n=e[i]);i++)if(He(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)o[r]?de.event.remove(n,r):de.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[Re.expando]&&(n[Re.expando]=void 0)}}}),de.fn.extend({detach:function(e){return q(this,e,!0)},remove:function(e){return q(this,e)},text:function(e){return Le(this,function(e){return void 0===e?de.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.appendChild(e)}})},prepend:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(de.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return de.clone(this,e,t)})},html:function(e){return Le(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!tt.test(e)&&!Ge[(Xe.exec(e)||["",""])[1].toLowerCase()]){e=de.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(de.cleanData(v(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return A(this,arguments,function(t){var n=this.parentNode;de.inArray(this,e)<0&&(de.cleanData(v(this)),n&&n.replaceChild(t,this))},e)}}),de.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){de.fn[e]=function(e){for(var n,r=[],o=de(e),i=o.length-1,s=0;s<=i;s++)n=s===i?this:this.clone(!0),de(o[s])[t](n),ie.apply(r,n.get());return this.pushStack(r)}});var it=/^margin/,st=new RegExp("^("+Me+")(?!px)[a-z%]+$","i"),at=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)};!function(){function t(){if(a){a.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",Qe.appendChild(s);var t=e.getComputedStyle(a);n="1%"!==t.top,i="2px"===t.marginLeft,r="4px"===t.width,a.style.marginRight="50%",o="4px"===t.marginRight,Qe.removeChild(s),a=null}}var n,r,o,i,s=te.createElement("div"),a=te.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",pe.clearCloneStyle="content-box"===a.style.backgroundClip,s.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",s.appendChild(a),de.extend(pe,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return t(),r},pixelMarginRight:function(){return t(),o},reliableMarginLeft:function(){return t(),i}}))}();var ut=/^(none|table(?!-c[ea]).+)/,ct={position:"absolute",visibility:"hidden",display:"block"},lt={letterSpacing:"0",fontWeight:"400"},ft=["Webkit","Moz","ms"],pt=te.createElement("div").style;de.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=D(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,i,s,a=de.camelCase(t),u=e.style;return t=de.cssProps[a]||(de.cssProps[a]=L(a)||a),s=de.cssHooks[t]||de.cssHooks[a],void 0===n?s&&"get"in s&&void 0!==(o=s.get(e,!1,r))?o:u[t]:(i=typeof n,"string"===i&&(o=$e.exec(n))&&o[1]&&(n=d(e,t,o),i="number"),null!=n&&n===n&&("number"===i&&(n+=o&&o[3]||(de.cssNumber[a]?"":"px")),pe.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,r))||(u[t]=n)),void 0)}},css:function(e,t,n,r){var o,i,s,a=de.camelCase(t);return t=de.cssProps[a]||(de.cssProps[a]=L(a)||a),s=de.cssHooks[t]||de.cssHooks[a],s&&"get"in s&&(o=s.get(e,!0,n)),void 0===o&&(o=D(e,t,r)),"normal"===o&&t in lt&&(o=lt[t]),""===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),de.each(["height","width"],function(e,t){de.cssHooks[t]={get:function(e,n,r){if(n)return!ut.test(de.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?R(e,t,r):_e(e,ct,function(){return R(e,t,r)})},set:function(e,n,r){var o,i=r&&at(e),s=r&&F(e,t,r,"border-box"===de.css(e,"boxSizing",!1,i),i);return s&&(o=$e.exec(n))&&"px"!==(o[3]||"px")&&(e.style[t]=n,n=de.css(e,t)),H(e,n,s)}}}),de.cssHooks.marginLeft=O(pe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(D(e,"marginLeft"))||e.getBoundingClientRect().left-_e(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),de.each({margin:"",padding:"",border:"Width"},function(e,t){de.cssHooks[e+t]={expand:function(n){for(var r=0,o={},i="string"==typeof n?n.split(" "):[n];r<4;r++)o[e+We[r]+t]=i[r]||i[r-2]||i[0];return o}},it.test(e)||(de.cssHooks[e+t].set=H)}),de.fn.extend({css:function(e,t){return Le(this,function(e,t,n){var r,o,i={},s=0;if(de.isArray(t)){for(r=at(e),o=t.length;s<o;s++)i[t[s]]=de.css(e,t[s],!1,r);return i}return void 0!==n?de.style(e,t,n):de.css(e,t)},e,t,arguments.length>1)}}),de.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||de.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(de.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.options.duration?this.pos=t=de.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=de.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){de.fx.step[e.prop]?de.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[de.cssProps[e.prop]]&&!de.cssHooks[e.prop]?e.elem[e.prop]=e.now:de.style(e.elem,e.prop,e.now+e.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},de.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},de.fx=I.prototype.init,de.fx.step={};var ht,dt,gt=/^(?:toggle|show|hide)$/,mt=/queueHooks$/;de.Animation=de.extend(U,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,$e.exec(t),n),n}]},tweener:function(e,t){de.isFunction(e)?(t=e,e=["*"]):e=e.match(qe);for(var n,r=0,o=e.length;r<o;r++)n=e[r],U.tweeners[n]=U.tweeners[n]||[],U.tweeners[n].unshift(t)},prefilters:[B],prefilter:function(e,t){t?U.prefilters.unshift(e):U.prefilters.push(e)}}),de.speed=function(e,t,n){var r=e&&"object"==typeof e?de.extend({},e):{complete:n||!n&&t||de.isFunction(e)&&e,duration:e,easing:n&&t||t&&!de.isFunction(t)&&t};return de.fx.off||te.hidden?r.duration=0:"number"!=typeof r.duration&&(r.duration in de.fx.speeds?r.duration=de.fx.speeds[r.duration]:r.duration=de.fx.speeds._default),null!=r.queue&&r.queue!==!0||(r.queue="fx"),r.old=r.complete,r.complete=function(){de.isFunction(r.old)&&r.old.call(this),r.queue&&de.dequeue(this,r.queue)},r},de.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Be).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){
-var o=de.isEmptyObject(e),i=de.speed(t,n,r),s=function(){var t=U(this,de.extend({},e),i);(o||Fe.get(this,"finish"))&&t.stop(!0)};return s.finish=s,o||i.queue===!1?this.each(s):this.queue(i.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,o=null!=e&&e+"queueHooks",i=de.timers,s=Fe.get(this);if(o)s[o]&&s[o].stop&&r(s[o]);else for(o in s)s[o]&&s[o].stop&&mt.test(o)&&r(s[o]);for(o=i.length;o--;)i[o].elem!==this||null!=e&&i[o].queue!==e||(i[o].anim.stop(n),t=!1,i.splice(o,1));!t&&n||de.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=Fe.get(this),r=n[e+"queue"],o=n[e+"queueHooks"],i=de.timers,s=r?r.length:0;for(n.finish=!0,de.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<s;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),de.each(["toggle","show","hide"],function(e,t){var n=de.fn[t];de.fn[t]=function(e,r,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate($(t,!0),e,r,o)}}),de.each({slideDown:$("show"),slideUp:$("hide"),slideToggle:$("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){de.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),de.timers=[],de.fx.tick=function(){var e,t=0,n=de.timers;for(ht=de.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);n.length||de.fx.stop(),ht=void 0},de.fx.timer=function(e){de.timers.push(e),e()?de.fx.start():de.timers.pop()},de.fx.interval=13,de.fx.start=function(){dt||(dt=e.requestAnimationFrame?e.requestAnimationFrame(P):e.setInterval(de.fx.tick,de.fx.interval))},de.fx.stop=function(){e.cancelAnimationFrame?e.cancelAnimationFrame(dt):e.clearInterval(dt),dt=null},de.fx.speeds={slow:600,fast:200,_default:400},de.fn.delay=function(t,n){return t=de.fx?de.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var o=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(o)}})},function(){var e=te.createElement("input"),t=te.createElement("select"),n=t.appendChild(te.createElement("option"));e.type="checkbox",pe.checkOn=""!==e.value,pe.optSelected=n.selected,e=te.createElement("input"),e.value="t",e.type="radio",pe.radioValue="t"===e.value}();var vt,yt=de.expr.attrHandle;de.fn.extend({attr:function(e,t){return Le(this,de.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){de.removeAttr(this,e)})}}),de.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return"undefined"==typeof e.getAttribute?de.prop(e,t,n):(1===i&&de.isXMLDoc(e)||(o=de.attrHooks[t.toLowerCase()]||(de.expr.match.bool.test(t)?vt:void 0)),void 0!==n?null===n?void de.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:(r=de.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&de.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(qe);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),vt={set:function(e,t,n){return t===!1?de.removeAttr(e,n):e.setAttribute(n,n),n}},de.each(de.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||de.find.attr;yt[t]=function(e,t,r){var o,i,s=t.toLowerCase();return r||(i=yt[s],yt[s]=o,o=null!=n(e,t,r)?s:null,yt[s]=i),o}});var xt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;de.fn.extend({prop:function(e,t){return Le(this,de.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[de.propFix[e]||e]})}}),de.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&de.isXMLDoc(e)||(t=de.propFix[t]||t,o=de.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=de.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),pe.optSelected||(de.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),de.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){de.propFix[this.toLowerCase()]=this}),de.fn.extend({addClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).addClass(e.call(this,t,X(this)))});if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).removeClass(e.call(this,t,X(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):de.isFunction(e)?this.each(function(n){de(this).toggleClass(e.call(this,n,X(this),t),t)}):this.each(function(){var t,r,o,i;if("string"===n)for(r=0,o=de(this),i=e.match(qe)||[];t=i[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||(t=X(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(X(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;de.fn.extend({val:function(e){var t,n,r,o=this[0];{if(arguments.length)return r=de.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=r?e.call(this,n,de(this).val()):e,null==o?o="":"number"==typeof o?o+="":de.isArray(o)&&(o=de.map(o,function(e){return null==e?"":e+""})),t=de.valHooks[this.type]||de.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return t=de.valHooks[o.type]||de.valHooks[o.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(wt,""):null==n?"":n)}}}),de.extend({valHooks:{option:{get:function(e){var t=de.find.attr(e,"value");return null!=t?t:z(de.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,s="select-one"===e.type,a=s?null:[],u=s?i+1:o.length;for(r=i<0?u:s?i:0;r<u;r++)if(n=o[r],(n.selected||r===i)&&!n.disabled&&(!n.parentNode.disabled||!de.nodeName(n.parentNode,"optgroup"))){if(t=de(n).val(),s)return t;a.push(t)}return a},set:function(e,t){for(var n,r,o=e.options,i=de.makeArray(t),s=o.length;s--;)r=o[s],(r.selected=de.inArray(de.valHooks.option.get(r),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),de.each(["radio","checkbox"],function(){de.valHooks[this]={set:function(e,t){if(de.isArray(t))return e.checked=de.inArray(de(e).val(),t)>-1}},pe.checkOn||(de.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Tt=/^(?:focusinfocus|focusoutblur)$/;de.extend(de.event,{trigger:function(t,n,r,o){var i,s,a,u,c,l,f,p=[r||te],h=ce.call(t,"type")?t.type:t,d=ce.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||te,3!==r.nodeType&&8!==r.nodeType&&!Tt.test(h+de.event.triggered)&&(h.indexOf(".")>-1&&(d=h.split("."),h=d.shift(),d.sort()),c=h.indexOf(":")<0&&"on"+h,t=t[de.expando]?t:new de.Event(h,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=d.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:de.makeArray(n,[t]),f=de.event.special[h]||{},o||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!o&&!f.noBubble&&!de.isWindow(r)){for(u=f.delegateType||h,Tt.test(u+h)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(r.ownerDocument||te)&&p.push(a.defaultView||a.parentWindow||e)}for(i=0;(s=p[i++])&&!t.isPropagationStopped();)t.type=i>1?u:f.bindType||h,l=(Fe.get(s,"events")||{})[t.type]&&Fe.get(s,"handle"),l&&l.apply(s,n),l=c&&s[c],l&&l.apply&&He(s)&&(t.result=l.apply(s,n),t.result===!1&&t.preventDefault());return t.type=h,o||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!He(r)||c&&de.isFunction(r[h])&&!de.isWindow(r)&&(a=r[c],a&&(r[c]=null),de.event.triggered=h,r[h](),de.event.triggered=void 0,a&&(r[c]=a)),t.result}},simulate:function(e,t,n){var r=de.extend(new de.Event,n,{type:e,isSimulated:!0});de.event.trigger(r,null,t)}}),de.fn.extend({trigger:function(e,t){return this.each(function(){de.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return de.event.trigger(e,t,n,!0)}}),de.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){de.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),de.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||de.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){de.event.simulate(t,e.target,de.event.fix(e))};de.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=Fe.access(r,t);o||r.addEventListener(e,n,!0),Fe.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=Fe.access(r,t)-1;o?Fe.access(r,t,o):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var Ct=e.location,jt=de.now(),kt=/\?/;de.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||de.error("Invalid XML: "+t),n};var Et=/\[\]$/,St=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;de.param=function(e,t){var n,r=[],o=function(e,t){var n=de.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(de.isArray(e)||e.jquery&&!de.isPlainObject(e))de.each(e,function(){o(this.name,this.value)});else for(n in e)V(n,e[n],t,o);return r.join("&")},de.fn.extend({serialize:function(){return de.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=de.prop(this,"elements");return e?de.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!de(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!ze.test(e))}).map(function(e,t){var n=de(this).val();return null==n?null:de.isArray(n)?de.map(n,function(e){return{name:t.name,value:e.replace(St,"\r\n")}}):{name:t.name,value:n.replace(St,"\r\n")}}).get()}});var qt=/%20/g,Dt=/#.*$/,Ot=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ht=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ft=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Pt={},Mt="*/".concat("*"),$t=te.createElement("a");$t.href=Ct.href,de.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Ht.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Mt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":de.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Q(Q(e,de.ajaxSettings),t):Q(de.ajaxSettings,e)},ajaxPrefilter:G(It),ajaxTransport:G(Pt),ajax:function(t,n){function r(t,n,r,a){var c,p,h,b,w,T=n;l||(l=!0,u&&e.clearTimeout(u),o=void 0,s=a||"",C.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(b=J(d,C,r)),b=K(d,b,C,c),c?(d.ifModified&&(w=C.getResponseHeader("Last-Modified"),w&&(de.lastModified[i]=w),w=C.getResponseHeader("etag"),w&&(de.etag[i]=w)),204===t||"HEAD"===d.type?T="nocontent":304===t?T="notmodified":(T=b.state,p=b.data,h=b.error,c=!h)):(h=T,!t&&T||(T="error",t<0&&(t=0))),C.status=t,C.statusText=(n||T)+"",c?v.resolveWith(g,[p,T,C]):v.rejectWith(g,[C,T,h]),C.statusCode(x),x=void 0,f&&m.trigger(c?"ajaxSuccess":"ajaxError",[C,d,c?p:h]),y.fireWith(g,[C,T]),f&&(m.trigger("ajaxComplete",[C,d]),--de.active||de.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var o,i,s,a,u,c,l,f,p,h,d=de.ajaxSetup({},n),g=d.context||d,m=d.context&&(g.nodeType||g.jquery)?de(g):de.event,v=de.Deferred(),y=de.Callbacks("once memory"),x=d.statusCode||{},b={},w={},T="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Lt.exec(s);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return l?s:null},setRequestHeader:function(e,t){return null==l&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)C.always(e[C.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||T;return o&&o.abort(t),r(0,t),this}};if(v.promise(C),d.url=((t||d.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(qe)||[""],null==d.crossDomain){c=te.createElement("a");try{c.href=d.url,c.href=c.href,d.crossDomain=$t.protocol+"//"+$t.host!=c.protocol+"//"+c.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=de.param(d.data,d.traditional)),Y(It,d,n,C),l)return C;f=de.event&&d.global,f&&0===de.active++&&de.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Ft.test(d.type),i=d.url.replace(Dt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(qt,"+")):(h=d.url.slice(i.length),d.data&&(i+=(kt.test(i)?"&":"?")+d.data,delete d.data),d.cache===!1&&(i=i.replace(Ot,"$1"),h=(kt.test(i)?"&":"?")+"_="+jt++ +h),d.url=i+h),d.ifModified&&(de.lastModified[i]&&C.setRequestHeader("If-Modified-Since",de.lastModified[i]),de.etag[i]&&C.setRequestHeader("If-None-Match",de.etag[i])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",d.contentType),C.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Mt+"; q=0.01":""):d.accepts["*"]);for(p in d.headers)C.setRequestHeader(p,d.headers[p]);if(d.beforeSend&&(d.beforeSend.call(g,C,d)===!1||l))return C.abort();if(T="abort",y.add(d.complete),C.done(d.success),C.fail(d.error),o=Y(Pt,d,n,C)){if(C.readyState=1,f&&m.trigger("ajaxSend",[C,d]),l)return C;d.async&&d.timeout>0&&(u=e.setTimeout(function(){C.abort("timeout")},d.timeout));try{l=!1,o.send(b,r)}catch(e){if(l)throw e;r(-1,e)}}else r(-1,"No Transport");return C},getJSON:function(e,t,n){return de.get(e,t,n,"json")},getScript:function(e,t){return de.get(e,void 0,t,"script")}}),de.each(["get","post"],function(e,t){de[t]=function(e,n,r,o){return de.isFunction(n)&&(o=o||r,r=n,n=void 0),de.ajax(de.extend({url:e,type:t,dataType:o,data:n,success:r},de.isPlainObject(e)&&e))}}),de._evalUrl=function(e){return de.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},de.fn.extend({wrapAll:function(e){var t;return this[0]&&(de.isFunction(e)&&(e=e.call(this[0])),t=de(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return de.isFunction(e)?this.each(function(t){de(this).wrapInner(e.call(this,t))}):this.each(function(){var t=de(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=de.isFunction(e);return this.each(function(n){de(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){de(this).replaceWith(this.childNodes)}),this}}),de.expr.pseudos.hidden=function(e){return!de.expr.pseudos.visible(e)},de.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},de.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Wt={0:200,1223:204},Bt=de.ajaxSettings.xhr();pe.cors=!!Bt&&"withCredentials"in Bt,pe.ajax=Bt=!!Bt,de.ajaxTransport(function(t){var n,r;if(pe.cors||Bt&&!t.crossDomain)return{send:function(o,i){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(s in o)a.setRequestHeader(s,o[s]);n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?i(0,"error"):i(a.status,a.statusText):i(Wt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=n("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),de.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),de.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return de.globalEval(e),e}}}),de.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),de.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,o){t=de("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),te.head.appendChild(t[0])},abort:function(){n&&n()}}}});var _t=[],Ut=/(=)\?(?=&|$)|\?\?/;de.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=_t.pop()||de.expando+"_"+jt++;return this[e]=!0,e}}),de.ajaxPrefilter("json jsonp",function(t,n,r){var o,i,s,a=t.jsonp!==!1&&(Ut.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(t.data)&&"data");if(a||"jsonp"===t.dataTypes[0])return o=t.jsonpCallback=de.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(Ut,"$1"+o):t.jsonp!==!1&&(t.url+=(kt.test(t.url)?"&":"?")+t.jsonp+"="+o),t.converters["script json"]=function(){return s||de.error(o+" was not called"),s[0]},t.dataTypes[0]="json",i=e[o],e[o]=function(){s=arguments},r.always(function(){void 0===i?de(e).removeProp(o):e[o]=i,t[o]&&(t.jsonpCallback=n.jsonpCallback,_t.push(o)),s&&de.isFunction(i)&&i(s[0]),s=i=void 0}),"script"}),pe.createHTMLDocument=function(){var e=te.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),de.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var r,o,i;return t||(pe.createHTMLDocument?(t=te.implementation.createHTMLDocument(""),r=t.createElement("base"),r.href=te.location.href,t.head.appendChild(r)):t=te),o=Ce.exec(e),i=!n&&[],o?[t.createElement(o[1])]:(o=x([e],t,i),i&&i.length&&de(i).remove(),de.merge([],o.childNodes))},de.fn.load=function(e,t,n){var r,o,i,s=this,a=e.indexOf(" ");return a>-1&&(r=z(e.slice(a)),e=e.slice(0,a)),de.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(o="POST"),s.length>0&&de.ajax({url:e,type:o||"GET",dataType:"html",data:t}).done(function(e){i=arguments,s.html(r?de("<div>").append(de.parseHTML(e)).find(r):e)}).always(n&&function(e,t){s.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},de.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){de.fn[t]=function(e){return this.on(t,e)}}),de.expr.pseudos.animated=function(e){return de.grep(de.timers,function(t){return e===t.elem}).length},de.offset={setOffset:function(e,t,n){var r,o,i,s,a,u,c,l=de.css(e,"position"),f=de(e),p={};"static"===l&&(e.style.position="relative"),a=f.offset(),i=de.css(e,"top"),u=de.css(e,"left"),c=("absolute"===l||"fixed"===l)&&(i+u).indexOf("auto")>-1,c?(r=f.position(),s=r.top,o=r.left):(s=parseFloat(i)||0,o=parseFloat(u)||0),de.isFunction(t)&&(t=t.call(e,n,de.extend({},a))),null!=t.top&&(p.top=t.top-a.top+s),null!=t.left&&(p.left=t.left-a.left+o),"using"in t?t.using.call(e,p):f.css(p)}},de.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){de.offset.setOffset(this,e,t)});var t,n,r,o,i=this[0];if(i)return i.getClientRects().length?(r=i.getBoundingClientRect(),r.width||r.height?(o=i.ownerDocument,n=Z(o),t=o.documentElement,{top:r.top+n.pageYOffset-t.clientTop,left:r.left+n.pageXOffset-t.clientLeft}):r):{top:0,left:0}},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===de.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),de.nodeName(e[0],"html")||(r=e.offset()),r={top:r.top+de.css(e[0],"borderTopWidth",!0),left:r.left+de.css(e[0],"borderLeftWidth",!0)}),{top:t.top-r.top-de.css(n,"marginTop",!0),left:t.left-r.left-de.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===de.css(e,"position");)e=e.offsetParent;return e||Qe})}}),de.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;de.fn[e]=function(r){return Le(this,function(e,r,o){var i=Z(e);return void 0===o?i?i[t]:e[r]:void(i?i.scrollTo(n?i.pageXOffset:o,n?o:i.pageYOffset):e[r]=o)},e,r,arguments.length)}}),de.each(["top","left"],function(e,t){de.cssHooks[t]=O(pe.pixelPosition,function(e,n){if(n)return n=D(e,t),st.test(n)?de(e).position()[t]+"px":n})}),de.each({Height:"height",Width:"width"},function(e,t){de.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){de.fn[r]=function(o,i){var s=arguments.length&&(n||"boolean"!=typeof o),a=n||(o===!0||i===!0?"margin":"border");return Le(this,function(t,n,o){var i;return de.isWindow(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===o?de.css(t,n,a):de.style(t,n,o,a)},t,s?o:void 0,s)}})}),de.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),de.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return de});var zt=e.jQuery,Xt=e.$;return de.noConflict=function(t){return e.$===de&&(e.$=Xt),t&&e.jQuery===de&&(e.jQuery=zt),de},t||(e.jQuery=e.$=de),de})},{}],2:[function(e,t,n){(function(e){function t(e,t){for(var n=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function r(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}var o=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,i=function(e){return o.exec(e).slice(1)};n.resolve=function(){for(var n="",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var s=i>=0?arguments[i]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(n=s+"/"+n,o="/"===s.charAt(0))}return n=t(r(n.split("/"),function(e){return!!e}),!o).join("/"),(o?"/":"")+n||"."},n.normalize=function(e){var o=n.isAbsolute(e),i="/"===s(e,-1);return e=t(r(e.split("/"),function(e){return!!e}),!o).join("/"),e||o||(e="."),e&&i&&(e+="/"),(o?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(r(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},n.relative=function(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var o=r(e.split("/")),i=r(t.split("/")),s=Math.min(o.length,i.length),a=s,u=0;u<s;u++)if(o[u]!==i[u]){a=u;break}for(var c=[],u=a;u<o.length;u++)c.push("..");return c=c.concat(i.slice(a)),c.join("/")},n.sep="/",n.delimiter=":",n.dirname=function(e){var t=i(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},n.basename=function(e,t){var n=i(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},n.extname=function(e){return i(e)[3]};var s="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,e("_process"))},{_process:3}],3:[function(e,t,n){function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(f===setTimeout)return setTimeout(e,0);if((f===r||!f)&&setTimeout)return f=setTimeout,setTimeout(e,0);try{return f(e,0)}catch(t){try{return f.call(null,e,0)}catch(t){return f.call(this,e,0)}}}function s(e){if(p===clearTimeout)return clearTimeout(e);if((p===o||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(e);try{return p(e)}catch(t){try{return p.call(null,e)}catch(t){return p.call(this,e)}}}function a(){m&&d&&(m=!1,d.length?g=d.concat(g):v=-1,g.length&&u())}function u(){if(!m){var e=i(a);m=!0;for(var t=g.length;t;){for(d=g,g=[];++v<t;)d&&d[v].run();v=-1,t=g.length}d=null,m=!1,s(e)}}function c(e,t){this.fun=e,this.array=t}function l(){}var f,p,h=t.exports={};!function(){try{f="function"==typeof setTimeout?setTimeout:r}catch(e){f=r}try{p="function"==typeof clearTimeout?clearTimeout:o}catch(e){p=o}}();var d,g=[],m=!1,v=-1;h.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];g.push(new c(e,t)),1!==g.length||m||i(u)},c.prototype.run=function(){this.fun.apply(null,this.array)},h.title="browser",h.browser=!0,h.env={},h.argv=[],h.version="",h.versions={},h.on=l,h.addListener=l,h.once=l,h.off=l,h.removeListener=l,h.removeAllListeners=l,h.emit=l,h.binding=function(e){throw new Error("process.binding is not supported")},h.cwd=function(){return"/"},h.chdir=function(e){throw new Error("process.chdir is not supported")},h.umask=function(){return 0}},{}],4:[function(e,t,n){(function(e){!function(r){function o(e){throw new RangeError(L[e])}function i(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function s(e,t){var n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(O,".");var o=e.split("."),s=i(o,t).join(".");return r+s}function a(e){for(var t,n,r=[],o=0,i=e.length;o<i;)t=e.charCodeAt(o++),t>=55296&&t<=56319&&o<i?(n=e.charCodeAt(o++),56320==(64512&n)?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),o--)):r.push(t);return r}function u(e){return i(e,function(e){var t="";return e>65535&&(e-=65536,t+=R(e>>>10&1023|55296),e=56320|1023&e),t+=R(e)}).join("")}function c(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:T}function l(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function f(e,t,n){var r=0;for(e=n?F(e/E):e>>1,e+=F(e/t);e>H*j>>1;r+=T)e=F(e/H);return F(r+(H+1)*e/(e+k))}function p(e){var t,n,r,i,s,a,l,p,h,d,g=[],m=e.length,v=0,y=N,x=S;for(n=e.lastIndexOf(A),n<0&&(n=0),r=0;r<n;++r)e.charCodeAt(r)>=128&&o("not-basic"),g.push(e.charCodeAt(r));for(i=n>0?n+1:0;i<m;){for(s=v,a=1,l=T;i>=m&&o("invalid-input"),p=c(e.charCodeAt(i++)),(p>=T||p>F((w-v)/a))&&o("overflow"),v+=p*a,h=l<=x?C:l>=x+j?j:l-x,!(p<h);l+=T)d=T-h,a>F(w/d)&&o("overflow"),a*=d;t=g.length+1,x=f(v-s,t,0==s),F(v/t)>w-y&&o("overflow"),y+=F(v/t),v%=t,g.splice(v++,0,y)}return u(g)}function h(e){var t,n,r,i,s,u,c,p,h,d,g,m,v,y,x,b=[];for(e=a(e),m=e.length,t=N,n=0,s=S,u=0;u<m;++u)g=e[u],g<128&&b.push(R(g));for(r=i=b.length,i&&b.push(A);r<m;){for(c=w,u=0;u<m;++u)g=e[u],g>=t&&g<c&&(c=g);for(v=r+1,c-t>F((w-n)/v)&&o("overflow"),n+=(c-t)*v,t=c,u=0;u<m;++u)if(g=e[u],g<t&&++n>w&&o("overflow"),g==t){for(p=n,h=T;d=h<=s?C:h>=s+j?j:h-s,!(p<d);h+=T)x=p-d,y=T-d,b.push(R(l(d+x%y,0))),p=F(x/y);b.push(R(l(p,0))),s=f(n,v,r==i),n=0,++r}++n,++t}return b.join("")}function d(e){return s(e,function(e){return q.test(e)?p(e.slice(4).toLowerCase()):e})}function g(e){return s(e,function(e){return D.test(e)?"xn--"+h(e):e})}var m="object"==typeof n&&n&&!n.nodeType&&n,v="object"==typeof t&&t&&!t.nodeType&&t,y="object"==typeof e&&e;y.global!==y&&y.window!==y&&y.self!==y||(r=y);var x,b,w=2147483647,T=36,C=1,j=26,k=38,E=700,S=72,N=128,A="-",q=/^xn--/,D=/[^\x20-\x7E]/,O=/[\x2E\u3002\uFF0E\uFF61]/g,L={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},H=T-C,F=Math.floor,R=String.fromCharCode;if(x={version:"1.4.1",ucs2:{decode:a,encode:u},decode:p,encode:h,toASCII:g,toUnicode:d},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return x});else if(m&&v)if(t.exports==m)v.exports=x;else for(b in x)x.hasOwnProperty(b)&&(m[b]=x[b]);else r.punycode=x}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],5:[function(e,t,n){"use strict";function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.exports=function(e,t,n,i){t=t||"&",n=n||"=";var s={};if("string"!=typeof e||0===e.length)return s;var a=/\+/g;e=e.split(t);var u=1e3;i&&"number"==typeof i.maxKeys&&(u=i.maxKeys);var c=e.length;u>0&&c>u&&(c=u);for(var l=0;l<c;++l){var f,p,h,d,g=e[l].replace(a,"%20"),m=g.indexOf(n);m>=0?(f=g.substr(0,m),p=g.substr(m+1)):(f=g,p=""),h=decodeURIComponent(f),d=decodeURIComponent(p),r(s,h)?o(s[h])?s[h].push(d):s[h]=[s[h],d]:s[h]=d}return s};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],6:[function(e,t,n){"use strict";function r(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++)n.push(t(e[r],r));return n}var o=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};t.exports=function(e,t,n,a){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?r(s(e),function(s){var a=encodeURIComponent(o(s))+n;return i(e[s])?r(e[s],function(e){return a+encodeURIComponent(o(e))}).join(t):a+encodeURIComponent(o(e[s]))}).join(t):a?encodeURIComponent(o(a))+n+encodeURIComponent(o(e)):""};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},s=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}},{}],7:[function(e,t,n){"use strict";n.decode=n.parse=e("./decode"),n.encode=n.stringify=e("./encode")},{"./decode":5,"./encode":6}],8:[function(e,t,n){"use strict";function r(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function o(e,t,n){if(e&&c.isObject(e)&&e instanceof r)return e;var o=new r;return o.parse(e,t,n),
-o}function i(e){return c.isString(e)&&(e=o(e)),e instanceof r?e.format():r.prototype.format.call(e)}function s(e,t){return o(e,!1,!0).resolve(t)}function a(e,t){return e?o(e,!1,!0).resolveObject(t):t}var u=e("punycode"),c=e("./util");n.parse=o,n.resolve=s,n.resolveObject=a,n.format=i,n.Url=r;var l=/^([a-z0-9.+-]+:)/i,f=/:[0-9]*$/,p=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,h=["<",">",'"',"`"," ","\r","\n","\t"],d=["{","}","|","\\","^","`"].concat(h),g=["'"].concat(d),m=["%","/","?",";","#"].concat(g),v=["/","?","#"],y=255,x=/^[+a-z0-9A-Z_-]{0,63}$/,b=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,w={javascript:!0,"javascript:":!0},T={javascript:!0,"javascript:":!0},C={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},j=e("querystring");r.prototype.parse=function(e,t,n){if(!c.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var r=e.indexOf("?"),o=r!==-1&&r<e.indexOf("#")?"?":"#",i=e.split(o),s=/\\/g;i[0]=i[0].replace(s,"/"),e=i.join(o);var a=e;if(a=a.trim(),!n&&1===e.split("#").length){var f=p.exec(a);if(f)return this.path=a,this.href=a,this.pathname=f[1],f[2]?(this.search=f[2],t?this.query=j.parse(this.search.substr(1)):this.query=this.search.substr(1)):t&&(this.search="",this.query={}),this}var h=l.exec(a);if(h){h=h[0];var d=h.toLowerCase();this.protocol=d,a=a.substr(h.length)}if(n||h||a.match(/^\/\/[^@\/]+@[^@\/]+/)){var k="//"===a.substr(0,2);!k||h&&T[h]||(a=a.substr(2),this.slashes=!0)}if(!T[h]&&(k||h&&!C[h])){for(var E=-1,S=0;S<v.length;S++){var N=a.indexOf(v[S]);N!==-1&&(E===-1||N<E)&&(E=N)}var A,q;q=E===-1?a.lastIndexOf("@"):a.lastIndexOf("@",E),q!==-1&&(A=a.slice(0,q),a=a.slice(q+1),this.auth=decodeURIComponent(A)),E=-1;for(var S=0;S<m.length;S++){var N=a.indexOf(m[S]);N!==-1&&(E===-1||N<E)&&(E=N)}E===-1&&(E=a.length),this.host=a.slice(0,E),a=a.slice(E),this.parseHost(),this.hostname=this.hostname||"";var D="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!D)for(var O=this.hostname.split(/\./),S=0,L=O.length;S<L;S++){var H=O[S];if(H&&!H.match(x)){for(var F="",R=0,I=H.length;R<I;R++)F+=H.charCodeAt(R)>127?"x":H[R];if(!F.match(x)){var P=O.slice(0,S),M=O.slice(S+1),$=H.match(b);$&&(P.push($[1]),M.unshift($[2])),M.length&&(a="/"+M.join(".")+a),this.hostname=P.join(".");break}}}this.hostname.length>y?this.hostname="":this.hostname=this.hostname.toLowerCase(),D||(this.hostname=u.toASCII(this.hostname));var W=this.port?":"+this.port:"",B=this.hostname||"";this.host=B+W,this.href+=this.host,D&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==a[0]&&(a="/"+a))}if(!w[d])for(var S=0,L=g.length;S<L;S++){var _=g[S];if(a.indexOf(_)!==-1){var U=encodeURIComponent(_);U===_&&(U=escape(_)),a=a.split(_).join(U)}}var z=a.indexOf("#");z!==-1&&(this.hash=a.substr(z),a=a.slice(0,z));var X=a.indexOf("?");if(X!==-1?(this.search=a.substr(X),this.query=a.substr(X+1),t&&(this.query=j.parse(this.query)),a=a.slice(0,X)):t&&(this.search="",this.query={}),a&&(this.pathname=a),C[d]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var W=this.pathname||"",V=this.search||"";this.path=W+V}return this.href=this.format(),this},r.prototype.format=function(){var e=this.auth||"";e&&(e=encodeURIComponent(e),e=e.replace(/%3A/i,":"),e+="@");var t=this.protocol||"",n=this.pathname||"",r=this.hash||"",o=!1,i="";this.host?o=e+this.host:this.hostname&&(o=e+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&c.isObject(this.query)&&Object.keys(this.query).length&&(i=j.stringify(this.query));var s=this.search||i&&"?"+i||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||C[t])&&o!==!1?(o="//"+(o||""),n&&"/"!==n.charAt(0)&&(n="/"+n)):o||(o=""),r&&"#"!==r.charAt(0)&&(r="#"+r),s&&"?"!==s.charAt(0)&&(s="?"+s),n=n.replace(/[?#]/g,function(e){return encodeURIComponent(e)}),s=s.replace("#","%23"),t+o+n+s+r},r.prototype.resolve=function(e){return this.resolveObject(o(e,!1,!0)).format()},r.prototype.resolveObject=function(e){if(c.isString(e)){var t=new r;t.parse(e,!1,!0),e=t}for(var n=new r,o=Object.keys(this),i=0;i<o.length;i++){var s=o[i];n[s]=this[s]}if(n.hash=e.hash,""===e.href)return n.href=n.format(),n;if(e.slashes&&!e.protocol){for(var a=Object.keys(e),u=0;u<a.length;u++){var l=a[u];"protocol"!==l&&(n[l]=e[l])}return C[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname="/"),n.href=n.format(),n}if(e.protocol&&e.protocol!==n.protocol){if(!C[e.protocol]){for(var f=Object.keys(e),p=0;p<f.length;p++){var h=f[p];n[h]=e[h]}return n.href=n.format(),n}if(n.protocol=e.protocol,e.host||T[e.protocol])n.pathname=e.pathname;else{for(var d=(e.pathname||"").split("/");d.length&&!(e.host=d.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==d[0]&&d.unshift(""),d.length<2&&d.unshift(""),n.pathname=d.join("/")}if(n.search=e.search,n.query=e.query,n.host=e.host||"",n.auth=e.auth,n.hostname=e.hostname||e.host,n.port=e.port,n.pathname||n.search){var g=n.pathname||"",m=n.search||"";n.path=g+m}return n.slashes=n.slashes||e.slashes,n.href=n.format(),n}var v=n.pathname&&"/"===n.pathname.charAt(0),y=e.host||e.pathname&&"/"===e.pathname.charAt(0),x=y||v||n.host&&e.pathname,b=x,w=n.pathname&&n.pathname.split("/")||[],d=e.pathname&&e.pathname.split("/")||[],j=n.protocol&&!C[n.protocol];if(j&&(n.hostname="",n.port=null,n.host&&(""===w[0]?w[0]=n.host:w.unshift(n.host)),n.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===d[0]?d[0]=e.host:d.unshift(e.host)),e.host=null),x=x&&(""===d[0]||""===w[0])),y)n.host=e.host||""===e.host?e.host:n.host,n.hostname=e.hostname||""===e.hostname?e.hostname:n.hostname,n.search=e.search,n.query=e.query,w=d;else if(d.length)w||(w=[]),w.pop(),w=w.concat(d),n.search=e.search,n.query=e.query;else if(!c.isNullOrUndefined(e.search)){if(j){n.hostname=n.host=w.shift();var k=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");k&&(n.auth=k.shift(),n.host=n.hostname=k.shift())}return n.search=e.search,n.query=e.query,c.isNull(n.pathname)&&c.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!w.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var E=w.slice(-1)[0],S=(n.host||e.host||w.length>1)&&("."===E||".."===E)||""===E,N=0,A=w.length;A>=0;A--)E=w[A],"."===E?w.splice(A,1):".."===E?(w.splice(A,1),N++):N&&(w.splice(A,1),N--);if(!x&&!b)for(;N--;N)w.unshift("..");!x||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),S&&"/"!==w.join("/").substr(-1)&&w.push("");var q=""===w[0]||w[0]&&"/"===w[0].charAt(0);if(j){n.hostname=n.host=q?"":w.length?w.shift():"";var k=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");k&&(n.auth=k.shift(),n.host=n.hostname=k.shift())}return x=x||n.host&&w.length,x&&!q&&w.unshift(""),w.length?n.pathname=w.join("/"):(n.pathname=null,n.path=null),c.isNull(n.pathname)&&c.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},r.prototype.parseHost=function(){var e=this.host,t=f.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},{"./util":9,punycode:4,querystring:7}],9:[function(e,t,n){"use strict";t.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},{}],10:[function(e,t,n){var r=e("jquery");t.exports=r({})},{jquery:1}],11:[function(e,t,n){var r=e("jquery"),o=e("./events"),i=e("./storage"),s=e("./page"),a=!1,u=window.gitbook||[],c={events:o,page:s,state:s.getState(),storage:i,push:function(e){a?e():u.push(e)}},l={gitbook:c,jquery:r};window.gitbook=c,window.$=r,window.jQuery=r,window.require=function(e,t){e=e.map(function(e){if(e=e.toLowerCase(),!l[e])throw new Error("GitBook module "+e+" doesn't exist");return l[e]}),t.apply(null,e)},r(document).ready(function(){a=!0,r.each(u,function(e,t){t()})})},{"./events":10,"./page":12,"./storage":13,jquery:1}],12:[function(e,t,n){function r(e){console.log("page has changed",e),o(e),l||(l=!0,c.trigger("start",e.config.pluginsConfig)),c.trigger("page.change")}function o(e){f.page=e.page,f.file=e.file,f.gitbook=e.gitbook,f.config=e.config,f.basePath=e.basePath,f.book=e.book,f.$book=s(".book"),f.revision=f.gitbook.time,f.level=f.page.level,f.filepath=f.file.path,f.chapterTitle=f.page.title,f.innerLanguage=f.book.language||"",f.root=a.resolve(location.protocol+"//"+location.host,u.dirname(u.resolve(location.pathname.replace(/\/$/,"/index.html"),f.basePath))).replace(/\/?$/,"/"),f.bookRoot=f.innerLanguage?a.resolve(f.root,".."):f.root}function i(){return f}var s=e("jquery"),a=e("url"),u=e("path"),c=e("./events"),l=!1,f={};t.exports={hasChanged:r,setState:o,getState:i}},{"./events":10,jquery:1,path:2,url:8}],13:[function(e,t,n){var r="";t.exports={setBaseKey:function(e){r=e},set:function(e,t){e=r+":"+e;try{localStorage[e]=JSON.stringify(t)}catch(e){}},get:function(e,t){var n;e=r+":"+e;try{n=localStorage[e]}catch(e){}if(void 0===n)return t;try{var o=JSON.parse(n);return null==o?t:o}catch(e){return n||t}},remove:function(e){e=r+":"+e;try{localStorage.removeItem(e)}catch(e){}}}},{}]},{},[11]);
diff --git a/admin-guide/gitbook/images/apple-touch-icon-precomposed-152.png b/admin-guide/gitbook/images/apple-touch-icon-precomposed-152.png
deleted file mode 100644
index f0adcfd..0000000
--- a/admin-guide/gitbook/images/apple-touch-icon-precomposed-152.png
+++ /dev/null
Binary files differ
diff --git a/admin-guide/gitbook/images/favicon.ico b/admin-guide/gitbook/images/favicon.ico
deleted file mode 100644
index 9ee99fa..0000000
--- a/admin-guide/gitbook/images/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/admin-guide/gitbook/style.css b/admin-guide/gitbook/style.css
deleted file mode 100644
index 9dbba3d..0000000
--- a/admin-guide/gitbook/style.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.link-inherit{color:inherit}.link-inherit:focus,.link-inherit:hover{color:inherit}.hidden{display:none}.alert{padding:15px;margin-bottom:20px;color:#444;background:#eee;border-bottom:5px solid #ddd}.alert-success{background:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-info{background:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-danger{background:#f2dede;border-color:#ebccd1;color:#a94442}.alert-warning{background:#fcf8e3;border-color:#faebcc;color:#8a6d3b}/*!
- *  Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome
- *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome/fontawesome-webfont.eot?v=4.6.3);src:url(fonts/fontawesome/fontawesome-webfont.eot?#iefix&v=4.6.3) format('embedded-opentype'),url(fonts/fontawesome/fontawesome-webfont.woff2?v=4.6.3) format('woff2'),url(fonts/fontawesome/fontawesome-webfont.woff?v=4.6.3) format('woff'),url(fonts/fontawesome/fontawesome-webfont.ttf?v=4.6.3) format('truetype'),url(fonts/fontawesome/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}/*!
- * Preboot v2
- *
- * Open sourced under MIT license by @mdo.
- * Some variables and mixins from Bootstrap (Apache 2 license).
- */.book-langs-index{width:100%;height:100%;padding:40px 0;margin:0;overflow:auto}@media (max-width:600px){.book-langs-index{padding:0}}.book-langs-index .inner{max-width:600px;width:100%;margin:0 auto;padding:30px;background:#fff;border-radius:3px}.book-langs-index .inner h3{margin:0}.book-langs-index .inner .languages{list-style:none;padding:20px 30px;margin-top:20px;border-top:1px solid #eee}.book-langs-index .inner .languages:after,.book-langs-index .inner .languages:before{content:" ";display:table;line-height:0}.book-langs-index .inner .languages:after{clear:both}.book-langs-index .inner .languages li{width:50%;float:left;padding:10px 5px;font-size:16px}@media (max-width:600px){.book-langs-index .inner .languages li{width:100%;max-width:100%}}.book-header{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;overflow:visible;height:50px;padding:0 8px;z-index:2;font-size:.85em;color:#7e888b;background:0 0}.book-header .btn{display:block;height:50px;padding:0 15px;border-bottom:none;color:#ccc;text-transform:uppercase;line-height:50px;-webkit-box-shadow:none!important;box-shadow:none!important;position:relative;font-size:14px}.book-header .btn:hover{position:relative;text-decoration:none;color:#444;background:0 0}.book-header .btn:focus{outline:0}.book-header h1{margin:0;font-size:20px;font-weight:200;text-align:center;line-height:50px;opacity:0;-webkit-transition:opacity ease .4s;-moz-transition:opacity ease .4s;-o-transition:opacity ease .4s;transition:opacity ease .4s;padding-left:200px;padding-right:200px;-webkit-transition:opacity .2s ease;-moz-transition:opacity .2s ease;-o-transition:opacity .2s ease;transition:opacity .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-header h1 a,.book-header h1 a:hover{color:inherit;text-decoration:none}@media (max-width:1000px){.book-header h1{display:none}}.book-header h1 i{display:none}.book-header:hover h1{opacity:1}.book.is-loading .book-header h1 i{display:inline-block}.book.is-loading .book-header h1 a{display:none}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;z-index:100;display:none;float:left;min-width:160px;padding:0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fafafa;border:1px solid rgba(0,0,0,.07);border-radius:1px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.open{display:block}.dropdown-menu.dropdown-left{left:auto;right:4%}.dropdown-menu.dropdown-left .dropdown-caret{right:14px;left:auto}.dropdown-menu .dropdown-caret{position:absolute;top:-8px;left:14px;width:18px;height:10px;float:left;overflow:hidden}.dropdown-menu .dropdown-caret .caret-outer{position:absolute;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid rgba(0,0,0,.1);height:auto;left:0;top:0;width:auto;display:inline-block;margin-left:-1px}.dropdown-menu .dropdown-caret .caret-inner{position:absolute;display:inline-block;margin-top:-1px;top:0;top:1px;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid #fafafa}.dropdown-menu .buttons{border-bottom:1px solid rgba(0,0,0,.07)}.dropdown-menu .buttons:after,.dropdown-menu .buttons:before{content:" ";display:table;line-height:0}.dropdown-menu .buttons:after{clear:both}.dropdown-menu .buttons:last-child{border-bottom:none}.dropdown-menu .buttons .button{border:0;background-color:transparent;color:#a6a6a6;width:100%;text-align:center;float:left;line-height:1.42857143;padding:8px 4px}.dropdown-menu .buttons .button:hover{color:#444}.dropdown-menu .buttons .button:focus,.dropdown-menu .buttons .button:hover{outline:0}.dropdown-menu .buttons .button.size-2{width:50%}.dropdown-menu .buttons .button.size-3{width:33%}.book-summary{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;position:absolute;top:0;left:-300px;bottom:0;z-index:1;overflow-y:auto;width:300px;color:#364149;background:#fafafa;border-right:1px solid rgba(0,0,0,.07);-webkit-transition:left 250ms ease;-moz-transition:left 250ms ease;-o-transition:left 250ms ease;transition:left 250ms ease}.book-summary ul.summary{list-style:none;margin:0;padding:0;-webkit-transition:top .5s ease;-moz-transition:top .5s ease;-o-transition:top .5s ease;transition:top .5s ease}.book-summary ul.summary li{list-style:none}.book-summary ul.summary li.header{padding:10px 15px;padding-top:20px;text-transform:uppercase;color:#939da3}.book-summary ul.summary li.divider{height:1px;margin:7px 0;overflow:hidden;background:rgba(0,0,0,.07)}.book-summary ul.summary li i.fa-check{display:none;position:absolute;right:9px;top:16px;font-size:9px;color:#3c3}.book-summary ul.summary li.done>a{color:#364149;font-weight:400}.book-summary ul.summary li.done>a i{display:inline}.book-summary ul.summary li a,.book-summary ul.summary li span{display:block;padding:10px 15px;border-bottom:none;color:#364149;background:0 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;position:relative}.book-summary ul.summary li a:hover{text-decoration:underline}.book-summary ul.summary li a:focus{outline:0}.book-summary ul.summary li.active>a{color:#008cff;background:0 0;text-decoration:none}.book-summary ul.summary li ul{padding-left:20px}@media (max-width:600px){.book-summary{width:calc(100% - 60px);bottom:0;left:-100%}}.book.with-summary .book-summary{left:0}.book.without-animation .book-summary{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.book{position:relative;width:100%;height:100%}@media (min-width:600px){.book.with-summary .book-body{left:300px}}@media (max-width:600px){.book.with-summary{overflow:hidden}.book.with-summary .book-body{-webkit-transform:translate(calc(100% - 60px),0);-moz-transform:translate(calc(100% - 60px),0);-ms-transform:translate(calc(100% - 60px),0);-o-transform:translate(calc(100% - 60px),0);transform:translate(calc(100% - 60px),0)}}.book.without-animation .book-body{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.book-body{position:absolute;top:0;right:0;left:0;bottom:0;overflow-y:auto;color:#000;background:#fff;-webkit-transition:left 250ms ease;-moz-transition:left 250ms ease;-o-transition:left 250ms ease;transition:left 250ms ease}.book-body .body-inner{position:absolute;top:0;right:0;left:0;bottom:0;overflow-y:auto}@media (max-width:1240px){.book-body{-webkit-transition:-webkit-transform 250ms ease;-moz-transition:-moz-transform 250ms ease;-o-transition:-o-transform 250ms ease;transition:transform 250ms ease;padding-bottom:20px}.book-body .body-inner{position:static;min-height:calc(100% - 50px)}}.page-wrapper{position:relative;outline:0}.page-inner{position:relative;max-width:800px;margin:0 auto;padding:20px 15px 40px 15px}.page-inner .btn-group .btn{border-radius:0;background:#eee;border:0}.buttons:after,.buttons:before{content:" ";display:table;line-height:0}.buttons:after{clear:both}.button{border:0;background-color:transparent;background:#eee;color:#666;width:100%;text-align:center;float:left;line-height:1.42857143;padding:8px 4px}.button:hover{color:#444}.button:focus,.button:hover{outline:0}.button.size-2{width:50%}.button.size-3{width:33%}.markdown-section{display:block;word-wrap:break-word;overflow:hidden;color:#333;line-height:1.7;text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%}.markdown-section *{box-sizing:border-box;-webkit-box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section>:last-child{margin-bottom:0!important}.markdown-section blockquote,.markdown-section code,.markdown-section figure,.markdown-section img,.markdown-section pre,.markdown-section table,.markdown-section tr{page-break-inside:avoid}.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section h5,.markdown-section p{orphans:3;widows:3}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section h5{page-break-after:avoid}.markdown-section b,.markdown-section strong{font-weight:700}.markdown-section em{font-style:italic}.markdown-section blockquote,.markdown-section dl,.markdown-section ol,.markdown-section p,.markdown-section table,.markdown-section ul{margin-top:0;margin-bottom:.85em}.markdown-section a{color:#4183c4;text-decoration:none;background:0 0}.markdown-section a:active,.markdown-section a:focus,.markdown-section a:hover{outline:0;text-decoration:underline}.markdown-section img{border:0;max-width:100%}.markdown-section hr{height:4px;padding:0;margin:1.7em 0;overflow:hidden;background-color:#e7e7e7;border:none}.markdown-section hr:after,.markdown-section hr:before{display:table;content:" "}.markdown-section hr:after{clear:both}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section h5,.markdown-section h6{margin-top:1.275em;margin-bottom:.85em;font-weight:700}.markdown-section h1{font-size:2em}.markdown-section h2{font-size:1.75em}.markdown-section h3{font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section code,.markdown-section pre{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;direction:ltr;margin:0;padding:0;border:none;color:inherit}.markdown-section pre{overflow:auto;word-wrap:normal;margin:0;padding:.85em 1em;margin-bottom:1.275em;background:#f7f7f7}.markdown-section pre>code{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;font-size:.85em;white-space:pre;background:0 0}.markdown-section pre>code:after,.markdown-section pre>code:before{content:normal}.markdown-section code{padding:.2em;margin:0;font-size:.85em;background-color:#f7f7f7}.markdown-section code:after,.markdown-section code:before{letter-spacing:-.2em;content:"\00a0"}.markdown-section table{display:table;width:100%;border-collapse:collapse;border-spacing:0;overflow:auto}.markdown-section table td,.markdown-section table th{padding:6px 13px;border:1px solid #ddd}.markdown-section table tr{background-color:#fff;border-top:1px solid #ccc}.markdown-section table tr:nth-child(2n){background-color:#f8f8f8}.markdown-section table th{font-weight:700}.markdown-section ol,.markdown-section ul{padding:0;margin:0;margin-bottom:.85em;padding-left:2em}.markdown-section ol ol,.markdown-section ol ul,.markdown-section ul ol,.markdown-section ul ul{margin-top:0;margin-bottom:0}.markdown-section ol ol{list-style-type:lower-roman}.markdown-section blockquote{margin:0;margin-bottom:.85em;padding:0 15px;color:#858585;border-left:4px solid #e5e5e5}.markdown-section blockquote:first-child{margin-top:0}.markdown-section blockquote:last-child{margin-bottom:0}.markdown-section dl{padding:0}.markdown-section dl dt{padding:0;margin-top:.85em;font-style:italic;font-weight:700}.markdown-section dl dd{padding:0 .85em;margin-bottom:.85em}.markdown-section dd{margin-left:0}.markdown-section .glossary-term{cursor:help;text-decoration:underline}.navigation{position:absolute;top:50px;bottom:0;margin:0;max-width:150px;min-width:90px;display:flex;justify-content:center;align-content:center;flex-direction:column;font-size:40px;color:#ccc;text-align:center;-webkit-transition:all 350ms ease;-moz-transition:all 350ms ease;-o-transition:all 350ms ease;transition:all 350ms ease}.navigation:hover{text-decoration:none;color:#444}.navigation.navigation-next{right:0}.navigation.navigation-prev{left:0}@media (max-width:1240px){.navigation{position:static;top:auto;max-width:50%;width:50%;display:inline-block;float:left}.navigation.navigation-unique{max-width:100%;width:100%}}#book-search-input{padding:6px;background:0 0;transition:top .5s ease;background:#fff;border-bottom:1px solid rgba(0,0,0,.07);border-top:1px solid rgba(0,0,0,.07);margin-bottom:10px;margin-top:-1px}#book-search-input input,#book-search-input input:focus,#book-search-input input:hover{width:100%;background:0 0;border:1px solid transparent;box-shadow:none;outline:0;line-height:22px;padding:7px 7px;color:inherit}#book-search-results{opacity:1}#book-search-results .search-results .search-results-title{text-transform:uppercase;text-align:center;font-weight:200;margin-bottom:35px;opacity:.6}#book-search-results .search-results .has-results .search-results-item{display:block;word-wrap:break-word;overflow:hidden;color:#333;line-height:1.7;text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%}#book-search-results .search-results .has-results .search-results-item *{box-sizing:border-box;-webkit-box-sizing:border-box;font-size:inherit}#book-search-results .search-results .has-results .search-results-item>:first-child{margin-top:0!important}#book-search-results .search-results .has-results .search-results-item>:last-child{margin-bottom:0!important}#book-search-results .search-results .has-results .search-results-item blockquote,#book-search-results .search-results .has-results .search-results-item code,#book-search-results .search-results .has-results .search-results-item figure,#book-search-results .search-results .has-results .search-results-item img,#book-search-results .search-results .has-results .search-results-item pre,#book-search-results .search-results .has-results .search-results-item table,#book-search-results .search-results .has-results .search-results-item tr{page-break-inside:avoid}#book-search-results .search-results .has-results .search-results-item h2,#book-search-results .search-results .has-results .search-results-item h3,#book-search-results .search-results .has-results .search-results-item h4,#book-search-results .search-results .has-results .search-results-item h5,#book-search-results .search-results .has-results .search-results-item p{orphans:3;widows:3}#book-search-results .search-results .has-results .search-results-item h1,#book-search-results .search-results .has-results .search-results-item h2,#book-search-results .search-results .has-results .search-results-item h3,#book-search-results .search-results .has-results .search-results-item h4,#book-search-results .search-results .has-results .search-results-item h5{page-break-after:avoid}#book-search-results .search-results .has-results .search-results-item b,#book-search-results .search-results .has-results .search-results-item strong{font-weight:700}#book-search-results .search-results .has-results .search-results-item em{font-style:italic}#book-search-results .search-results .has-results .search-results-item blockquote,#book-search-results .search-results .has-results .search-results-item dl,#book-search-results .search-results .has-results .search-results-item ol,#book-search-results .search-results .has-results .search-results-item p,#book-search-results .search-results .has-results .search-results-item table,#book-search-results .search-results .has-results .search-results-item ul{margin-top:0;margin-bottom:.85em}#book-search-results .search-results .has-results .search-results-item a{color:#4183c4;text-decoration:none;background:0 0}#book-search-results .search-results .has-results .search-results-item a:active,#book-search-results .search-results .has-results .search-results-item a:focus,#book-search-results .search-results .has-results .search-results-item a:hover{outline:0;text-decoration:underline}#book-search-results .search-results .has-results .search-results-item img{border:0;max-width:100%}#book-search-results .search-results .has-results .search-results-item hr{height:4px;padding:0;margin:1.7em 0;overflow:hidden;background-color:#e7e7e7;border:none}#book-search-results .search-results .has-results .search-results-item hr:after,#book-search-results .search-results .has-results .search-results-item hr:before{display:table;content:" "}#book-search-results .search-results .has-results .search-results-item hr:after{clear:both}#book-search-results .search-results .has-results .search-results-item h1,#book-search-results .search-results .has-results .search-results-item h2,#book-search-results .search-results .has-results .search-results-item h3,#book-search-results .search-results .has-results .search-results-item h4,#book-search-results .search-results .has-results .search-results-item h5,#book-search-results .search-results .has-results .search-results-item h6{margin-top:1.275em;margin-bottom:.85em;font-weight:700}#book-search-results .search-results .has-results .search-results-item h1{font-size:2em}#book-search-results .search-results .has-results .search-results-item h2{font-size:1.75em}#book-search-results .search-results .has-results .search-results-item h3{font-size:1.5em}#book-search-results .search-results .has-results .search-results-item h4{font-size:1.25em}#book-search-results .search-results .has-results .search-results-item h5{font-size:1em}#book-search-results .search-results .has-results .search-results-item h6{font-size:1em;color:#777}#book-search-results .search-results .has-results .search-results-item code,#book-search-results .search-results .has-results .search-results-item pre{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;direction:ltr;margin:0;padding:0;border:none;color:inherit}#book-search-results .search-results .has-results .search-results-item pre{overflow:auto;word-wrap:normal;margin:0;padding:.85em 1em;margin-bottom:1.275em;background:#f7f7f7}#book-search-results .search-results .has-results .search-results-item pre>code{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;font-size:.85em;white-space:pre;background:0 0}#book-search-results .search-results .has-results .search-results-item pre>code:after,#book-search-results .search-results .has-results .search-results-item pre>code:before{content:normal}#book-search-results .search-results .has-results .search-results-item code{padding:.2em;margin:0;font-size:.85em;background-color:#f7f7f7}#book-search-results .search-results .has-results .search-results-item code:after,#book-search-results .search-results .has-results .search-results-item code:before{letter-spacing:-.2em;content:"\00a0"}#book-search-results .search-results .has-results .search-results-item table{display:table;width:100%;border-collapse:collapse;border-spacing:0;overflow:auto}#book-search-results .search-results .has-results .search-results-item table td,#book-search-results .search-results .has-results .search-results-item table th{padding:6px 13px;border:1px solid #ddd}#book-search-results .search-results .has-results .search-results-item table tr{background-color:#fff;border-top:1px solid #ccc}#book-search-results .search-results .has-results .search-results-item table tr:nth-child(2n){background-color:#f8f8f8}#book-search-results .search-results .has-results .search-results-item table th{font-weight:700}#book-search-results .search-results .has-results .search-results-item ol,#book-search-results .search-results .has-results .search-results-item ul{padding:0;margin:0;margin-bottom:.85em;padding-left:2em}#book-search-results .search-results .has-results .search-results-item ol ol,#book-search-results .search-results .has-results .search-results-item ol ul,#book-search-results .search-results .has-results .search-results-item ul ol,#book-search-results .search-results .has-results .search-results-item ul ul{margin-top:0;margin-bottom:0}#book-search-results .search-results .has-results .search-results-item ol ol{list-style-type:lower-roman}#book-search-results .search-results .has-results .search-results-item blockquote{margin:0;margin-bottom:.85em;padding:0 15px;color:#858585;border-left:4px solid #e5e5e5}#book-search-results .search-results .has-results .search-results-item blockquote:first-child{margin-top:0}#book-search-results .search-results .has-results .search-results-item blockquote:last-child{margin-bottom:0}#book-search-results .search-results .has-results .search-results-item dl{padding:0}#book-search-results .search-results .has-results .search-results-item dl dt{padding:0;margin-top:.85em;font-style:italic;font-weight:700}#book-search-results .search-results .has-results .search-results-item dl dd{padding:0 .85em;margin-bottom:.85em}#book-search-results .search-results .has-results .search-results-item dd{margin-left:0}#book-search-results .search-results .has-results .search-results-item h3{margin-top:0;margin-bottom:0}#book-search-results .search-results .no-results{padding:40px 0}body.search-loading #book-search-results{opacity:.3}body.with-search .navigation{display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}a{text-decoration:none}body,html{height:100%}html{font-size:62.5%}body{text-rendering:optimizeLegibility;font-smoothing:antialiased;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:.2px;text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
\ No newline at end of file
diff --git a/admin-guide/gitbook/theme.js b/admin-guide/gitbook/theme.js
deleted file mode 100644
index 4c22928..0000000
--- a/admin-guide/gitbook/theme.js
+++ /dev/null
@@ -1,4 +0,0 @@
-!function e(t,n,r){function o(a,s){if(!n[a]){if(!t[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(i)return i(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[a]={exports:{}};t[a][0].call(c.exports,function(e){var n=t[a][1][e];return o(n?n:e)},c,c.exports,e,t,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(e,t,n){!function(e,n){"use strict";"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(e,t){t=t||te;var n=t.createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function r(e){var t=!!e&&"length"in e&&e.length,n=de.type(e);return"function"!==n&&!de.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function o(e,t,n){return de.isFunction(t)?de.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?de.grep(e,function(e){return e===t!==n}):"string"!=typeof t?de.grep(e,function(e){return ae.call(t,e)>-1!==n}):ke.test(t)?de.filter(t,e,n):(t=de.filter(t,e),de.grep(e,function(e){return ae.call(t,e)>-1!==n&&1===e.nodeType}))}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){var t={};return de.each(e.match(qe)||[],function(e,n){t[n]=!0}),t}function s(e){return e}function u(e){throw e}function l(e,t,n){var r;try{e&&de.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&de.isFunction(r=e.then)?r.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function c(){te.removeEventListener("DOMContentLoaded",c),e.removeEventListener("load",c),de.ready()}function f(){this.expando=de.expando+f.uid++}function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Ie.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Re,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n=p(n)}catch(e){}Pe.set(e,t,n)}else n=void 0;return n}function d(e,t,n,r){var o,i=1,a=20,s=r?function(){return r.cur()}:function(){return de.css(e,t,"")},u=s(),l=n&&n[3]||(de.cssNumber[t]?"":"px"),c=(de.cssNumber[t]||"px"!==l&&+u)&&$e.exec(de.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do i=i||".5",c/=i,de.style(e,t,c+l);while(i!==(i=s()/u)&&1!==i&&--a)}return n&&(c=+c||+u||0,o=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=o)),o}function g(e){var t,n=e.ownerDocument,r=e.nodeName,o=Ue[r];return o?o:(t=n.body.appendChild(n.createElement(r)),o=de.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),Ue[r]=o,o)}function m(e,t){for(var n,r,o=[],i=0,a=e.length;i<a;i++)r=e[i],r.style&&(n=r.style.display,t?("none"===n&&(o[i]=Fe.get(r,"display")||null,o[i]||(r.style.display="")),""===r.style.display&&We(r)&&(o[i]=g(r))):"none"!==n&&(o[i]="none",Fe.set(r,"display",n)));for(i=0;i<a;i++)null!=o[i]&&(e[i].style.display=o[i]);return e}function v(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&de.nodeName(e,t)?de.merge([e],n):n}function y(e,t){for(var n=0,r=e.length;n<r;n++)Fe.set(e[n],"globalEval",!t||Fe.get(t[n],"globalEval"))}function b(e,t,n,r,o){for(var i,a,s,u,l,c,f=t.createDocumentFragment(),p=[],h=0,d=e.length;h<d;h++)if(i=e[h],i||0===i)if("object"===de.type(i))de.merge(p,i.nodeType?[i]:i);else if(Ge.test(i)){for(a=a||f.appendChild(t.createElement("div")),s=(Xe.exec(i)||["",""])[1].toLowerCase(),u=Ve[s]||Ve._default,a.innerHTML=u[1]+de.htmlPrefilter(i)+u[2],c=u[0];c--;)a=a.lastChild;de.merge(p,a.childNodes),a=f.firstChild,a.textContent=""}else p.push(t.createTextNode(i));for(f.textContent="",h=0;i=p[h++];)if(r&&de.inArray(i,r)>-1)o&&o.push(i);else if(l=de.contains(i.ownerDocument,i),a=v(f.appendChild(i),"script"),l&&y(a),n)for(c=0;i=a[c++];)Ke.test(i.type||"")&&n.push(i);return f}function x(){return!0}function w(){return!1}function C(){try{return te.activeElement}catch(e){}}function T(e,t,n,r,o,i){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)T(e,s,n,r,t[s],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),o===!1)o=w;else if(!o)return e;return 1===i&&(a=o,o=function(e){return de().off(e),a.apply(this,arguments)},o.guid=a.guid||(a.guid=de.guid++)),e.each(function(){de.event.add(this,t,o,r,n)})}function k(e,t){return de.nodeName(e,"table")&&de.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function j(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function E(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function N(e,t){var n,r,o,i,a,s,u,l;if(1===t.nodeType){if(Fe.hasData(e)&&(i=Fe.access(e),a=Fe.set(t,i),l=i.events)){delete a.handle,a.events={};for(o in l)for(n=0,r=l[o].length;n<r;n++)de.event.add(t,o,l[o][n])}Pe.hasData(e)&&(s=Pe.access(e),u=de.extend({},s),Pe.set(t,u))}}function S(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ze.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function A(e,t,r,o){t=oe.apply([],t);var i,a,s,u,l,c,f=0,p=e.length,h=p-1,d=t[0],g=de.isFunction(d);if(g||p>1&&"string"==typeof d&&!pe.checkClone&&nt.test(d))return e.each(function(n){var i=e.eq(n);g&&(t[0]=d.call(this,n,i.html())),A(i,t,r,o)});if(p&&(i=b(t,e[0].ownerDocument,!1,e,o),a=i.firstChild,1===i.childNodes.length&&(i=a),a||o)){for(s=de.map(v(i,"script"),j),u=s.length;f<p;f++)l=i,f!==h&&(l=de.clone(l,!0,!0),u&&de.merge(s,v(l,"script"))),r.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,de.map(s,E),f=0;f<u;f++)l=s[f],Ke.test(l.type||"")&&!Fe.access(l,"globalEval")&&de.contains(c,l)&&(l.src?de._evalUrl&&de._evalUrl(l.src):n(l.textContent.replace(ot,""),c))}return e}function q(e,t,n){for(var r,o=t?de.filter(t,e):e,i=0;null!=(r=o[i]);i++)n||1!==r.nodeType||de.cleanData(v(r)),r.parentNode&&(n&&de.contains(r.ownerDocument,r)&&y(v(r,"script")),r.parentNode.removeChild(r));return e}function D(e,t,n){var r,o,i,a,s=e.style;return n=n||st(e),n&&(a=n.getPropertyValue(t)||n[t],""!==a||de.contains(e.ownerDocument,e)||(a=de.style(e,t)),!pe.pixelMarginRight()&&at.test(a)&&it.test(t)&&(r=s.width,o=s.minWidth,i=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=o,s.maxWidth=i)),void 0!==a?a+"":a}function O(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function L(e){if(e in pt)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=ft.length;n--;)if(e=ft[n]+t,e in pt)return e}function H(e,t,n){var r=$e.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function F(e,t,n,r,o){var i,a=0;for(i=n===(r?"border":"content")?4:"width"===t?1:0;i<4;i+=2)"margin"===n&&(a+=de.css(e,n+_e[i],!0,o)),r?("content"===n&&(a-=de.css(e,"padding"+_e[i],!0,o)),"margin"!==n&&(a-=de.css(e,"border"+_e[i]+"Width",!0,o))):(a+=de.css(e,"padding"+_e[i],!0,o),"padding"!==n&&(a+=de.css(e,"border"+_e[i]+"Width",!0,o)));return a}function P(e,t,n){var r,o=!0,i=st(e),a="border-box"===de.css(e,"boxSizing",!1,i);if(e.getClientRects().length&&(r=e.getBoundingClientRect()[t]),r<=0||null==r){if(r=D(e,t,i),(r<0||null==r)&&(r=e.style[t]),at.test(r))return r;o=a&&(pe.boxSizingReliable()||r===e.style[t]),r=parseFloat(r)||0}return r+F(e,t,n||(a?"border":"content"),o,i)+"px"}function I(e,t,n,r,o){return new I.prototype.init(e,t,n,r,o)}function R(){dt&&(e.requestAnimationFrame(R),de.fx.tick())}function M(){return e.setTimeout(function(){ht=void 0}),ht=de.now()}function $(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)n=_e[r],o["margin"+n]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function _(e,t,n){for(var r,o=(U.tweeners[t]||[]).concat(U.tweeners["*"]),i=0,a=o.length;i<a;i++)if(r=o[i].call(n,t,e))return r}function W(e,t,n){var r,o,i,a,s,u,l,c,f="width"in t||"height"in t,p=this,h={},d=e.style,g=e.nodeType&&We(e),v=Fe.get(e,"fxshow");n.queue||(a=de._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,de.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(o=t[r],gt.test(o)){if(delete t[r],i=i||"toggle"===o,o===(g?"hide":"show")){if("show"!==o||!v||void 0===v[r])continue;g=!0}h[r]=v&&v[r]||de.style(e,r)}if(u=!de.isEmptyObject(t),u||!de.isEmptyObject(h)){f&&1===e.nodeType&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],l=v&&v.display,null==l&&(l=Fe.get(e,"display")),c=de.css(e,"display"),"none"===c&&(l?c=l:(m([e],!0),l=e.style.display||l,c=de.css(e,"display"),m([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===de.css(e,"float")&&(u||(p.done(function(){d.display=l}),null==l&&(c=d.display,l="none"===c?"":c)),d.display="inline-block")),n.overflow&&(d.overflow="hidden",p.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]})),u=!1;for(r in h)u||(v?"hidden"in v&&(g=v.hidden):v=Fe.access(e,"fxshow",{display:l}),i&&(v.hidden=!g),g&&m([e],!0),p.done(function(){g||m([e]),Fe.remove(e,"fxshow");for(r in h)de.style(e,r,h[r])})),u=_(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}}function B(e,t){var n,r,o,i,a;for(n in e)if(r=de.camelCase(n),o=t[r],i=e[n],de.isArray(i)&&(o=i[1],i=e[n]=i[0]),n!==r&&(e[r]=i,delete e[n]),a=de.cssHooks[r],a&&"expand"in a){i=a.expand(i),delete e[r];for(n in i)n in e||(e[n]=i[n],t[n]=o)}else t[r]=o}function U(e,t,n){var r,o,i=0,a=U.prefilters.length,s=de.Deferred().always(function(){delete u.elem}),u=function(){if(o)return!1;for(var t=ht||M(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,i=1-r,a=0,u=l.tweens.length;a<u;a++)l.tweens[a].run(i);return s.notifyWith(e,[l,i,n]),i<1&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:de.extend({},t),opts:de.extend(!0,{specialEasing:{},easing:de.easing._default},n),originalProperties:t,originalOptions:n,startTime:ht||M(),duration:n.duration,tweens:[],createTween:function(t,n){var r=de.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(o)return this;for(o=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(B(c,l.opts.specialEasing);i<a;i++)if(r=U.prefilters[i].call(l,e,c,l.opts))return de.isFunction(r.stop)&&(de._queueHooks(l.elem,l.opts.queue).stop=de.proxy(r.stop,r)),r;return de.map(c,_,l),de.isFunction(l.opts.start)&&l.opts.start.call(e,l),de.fx.timer(de.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function z(e){var t=e.match(qe)||[];return t.join(" ")}function X(e){return e.getAttribute&&e.getAttribute("class")||""}function K(e,t,n,r){var o;if(de.isArray(t))de.each(t,function(t,o){n||Et.test(e)?r(e,o):K(e+"["+("object"==typeof o&&null!=o?t:"")+"]",o,n,r)});else if(n||"object"!==de.type(t))r(e,t);else for(o in t)K(e+"["+o+"]",t[o],n,r)}function V(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,o=0,i=t.toLowerCase().match(qe)||[];if(de.isFunction(n))for(;r=i[o++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function G(e,t,n,r){function o(s){var u;return i[s]=!0,de.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||a||i[l]?a?!(u=l):void 0:(t.dataTypes.unshift(l),o(l),!1)}),u}var i={},a=e===Rt;return o(t.dataTypes[0])||!i["*"]&&o("*")}function Y(e,t){var n,r,o=de.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:r||(r={}))[n]=t[n]);return r&&de.extend(!0,e,r),e}function Q(e,t,n){for(var r,o,i,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(o in s)if(s[o]&&s[o].test(r)){u.unshift(o);break}if(u[0]in n)i=u[0];else{for(o in n){if(!u[0]||e.converters[o+" "+u[0]]){i=o;break}a||(a=o)}i=i||a}if(i)return i!==u[0]&&u.unshift(i),n[i]}function J(e,t,n,r){var o,i,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(i=c.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=i,i=c.shift())if("*"===i)i=u;else if("*"!==u&&u!==i){if(a=l[u+" "+i]||l["* "+i],!a)for(o in l)if(s=o.split(" "),s[1]===i&&(a=l[u+" "+s[0]]||l["* "+s[0]])){a===!0?a=l[o]:l[o]!==!0&&(i=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+i}}}return{state:"success",data:t}}function Z(e){return de.isWindow(e)?e:9===e.nodeType&&e.defaultView}var ee=[],te=e.document,ne=Object.getPrototypeOf,re=ee.slice,oe=ee.concat,ie=ee.push,ae=ee.indexOf,se={},ue=se.toString,le=se.hasOwnProperty,ce=le.toString,fe=ce.call(Object),pe={},he="3.1.1",de=function(e,t){return new de.fn.init(e,t)},ge=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,me=/^-ms-/,ve=/-([a-z])/g,ye=function(e,t){return t.toUpperCase()};de.fn=de.prototype={jquery:he,constructor:de,length:0,toArray:function(){return re.call(this)},get:function(e){return null==e?re.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=de.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return de.each(this,e)},map:function(e){return this.pushStack(de.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(re.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:ie,sort:ee.sort,splice:ee.splice},de.extend=de.fn.extend=function(){var e,t,n,r,o,i,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||de.isFunction(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],r=e[t],a!==r&&(l&&r&&(de.isPlainObject(r)||(o=de.isArray(r)))?(o?(o=!1,i=n&&de.isArray(n)?n:[]):i=n&&de.isPlainObject(n)?n:{},a[t]=de.extend(l,i,r)):void 0!==r&&(a[t]=r));return a},de.extend({expando:"jQuery"+(he+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===de.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=de.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==ue.call(e))&&(!(t=ne(e))||(n=le.call(t,"constructor")&&t.constructor,"function"==typeof n&&ce.call(n)===fe))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?se[ue.call(e)]||"object":typeof e},globalEval:function(e){n(e)},camelCase:function(e){return e.replace(me,"ms-").replace(ve,ye)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var n,o=0;if(r(e))for(n=e.length;o<n&&t.call(e[o],o,e[o])!==!1;o++);else for(o in e)if(t.call(e[o],o,e[o])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(ge,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(r(Object(e))?de.merge(n,"string"==typeof e?[e]:e):ie.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:ae.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,o=e.length;r<n;r++)e[o++]=t[r];return e.length=o,e},grep:function(e,t,n){for(var r,o=[],i=0,a=e.length,s=!n;i<a;i++)r=!t(e[i],i),r!==s&&o.push(e[i]);return o},map:function(e,t,n){var o,i,a=0,s=[];if(r(e))for(o=e.length;a<o;a++)i=t(e[a],a,n),null!=i&&s.push(i);else for(a in e)i=t(e[a],a,n),null!=i&&s.push(i);return oe.apply([],s)},guid:1,proxy:function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),de.isFunction(e))return r=re.call(arguments,2),o=function(){return e.apply(t||this,r.concat(re.call(arguments)))},o.guid=e.guid=e.guid||de.guid++,o},now:Date.now,support:pe}),"function"==typeof Symbol&&(de.fn[Symbol.iterator]=ee[Symbol.iterator]),de.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){se["[object "+t+"]"]=t.toLowerCase()});var be=function(e){function t(e,t,n,r){var o,i,a,s,u,l,c,p=t&&t.ownerDocument,d=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==d&&9!==d&&11!==d)return n;if(!r&&((t?t.ownerDocument||t:_)!==L&&O(t),t=t||L,F)){if(11!==d&&(u=ve.exec(e)))if(o=u[1]){if(9===d){if(!(a=t.getElementById(o)))return n;if(a.id===o)return n.push(a),n}else if(p&&(a=p.getElementById(o))&&M(t,a)&&a.id===o)return n.push(a),n}else{if(u[2])return J.apply(n,t.getElementsByTagName(e)),n;if((o=u[3])&&C.getElementsByClassName&&t.getElementsByClassName)return J.apply(n,t.getElementsByClassName(o)),n}if(C.qsa&&!X[e+" "]&&(!P||!P.test(e))){if(1!==d)p=t,c=e;else if("object"!==t.nodeName.toLowerCase()){for((s=t.getAttribute("id"))?s=s.replace(we,Ce):t.setAttribute("id",s=$),l=E(e),i=l.length;i--;)l[i]="#"+s+" "+h(l[i]);c=l.join(","),p=ye.test(e)&&f(t.parentNode)||t}if(c)try{return J.apply(n,p.querySelectorAll(c)),n}catch(e){}finally{s===$&&t.removeAttribute("id")}}}return S(e.replace(se,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>T.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[$]=!0,e}function o(e){var t=L.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split("|"),r=n.length;r--;)T.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function l(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ke(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var o,i=e([],n.length,t),a=i.length;a--;)n[o=i[a]]&&(n[o]=!(r[o]=n[o]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function h(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function d(e,t,n){var r=t.dir,o=t.next,i=o||r,a=n&&"parentNode"===i,s=B++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,o);return!1}:function(t,n,u){var l,c,f,p=[W,s];if(u){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(f=t[$]||(t[$]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),o&&o===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[i])&&l[0]===W&&l[1]===s)return p[2]=l[2];if(c[i]=p,p[2]=e(t,n,u))return!0}return!1}}function g(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var o=0,i=n.length;o<i;o++)t(e,n[o],r);return r}function v(e,t,n,r,o){for(var i,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(i=e[s])&&(n&&!n(i,r,o)||(a.push(i),l&&t.push(s)));return a}function y(e,t,n,o,i,a){return o&&!o[$]&&(o=y(o)),i&&!i[$]&&(i=y(i,a)),r(function(r,a,s,u){var l,c,f,p=[],h=[],d=a.length,g=r||m(t||"*",s.nodeType?[s]:s,[]),y=!e||!r&&t?g:v(g,p,e,s,u),b=n?i||(r?e:d||o)?[]:a:y;if(n&&n(y,b,s,u),o)for(l=v(b,h),o(l,[],s,u),c=l.length;c--;)(f=l[c])&&(b[h[c]]=!(y[h[c]]=f));if(r){if(i||e){if(i){for(l=[],c=b.length;c--;)(f=b[c])&&l.push(y[c]=f);i(null,b=[],l,u)}for(c=b.length;c--;)(f=b[c])&&(l=i?ee(r,f):p[c])>-1&&(r[l]=!(a[l]=f))}}else b=v(b===a?b.splice(d,b.length):b),i?i(null,a,b,u):J.apply(a,b)})}function b(e){for(var t,n,r,o=e.length,i=T.relative[e[0].type],a=i||T.relative[" "],s=i?1:0,u=d(function(e){return e===t},a,!0),l=d(function(e){return ee(t,e)>-1},a,!0),c=[function(e,n,r){var o=!i&&(r||n!==A)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,o}];s<o;s++)if(n=T.relative[e[s].type])c=[d(g(c),n)];else{if(n=T.filter[e[s].type].apply(null,e[s].matches),n[$]){for(r=++s;r<o&&!T.relative[e[r].type];r++);return y(s>1&&g(c),s>1&&h(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s<r&&b(e.slice(s,r)),r<o&&b(e=e.slice(r)),r<o&&h(e))}c.push(n)}return g(c)}function x(e,n){var o=n.length>0,i=e.length>0,a=function(r,a,s,u,l){var c,f,p,h=0,d="0",g=r&&[],m=[],y=A,b=r||i&&T.find.TAG("*",l),x=W+=null==y?1:Math.random()||.1,w=b.length;for(l&&(A=a===L||a||l);d!==w&&null!=(c=b[d]);d++){if(i&&c){for(f=0,a||c.ownerDocument===L||(O(c),s=!F);p=e[f++];)if(p(c,a||L,s)){u.push(c);break}l&&(W=x)}o&&((c=!p&&c)&&h--,r&&g.push(c))}if(h+=d,o&&d!==h){for(f=0;p=n[f++];)p(g,m,a,s);if(r){if(h>0)for(;d--;)g[d]||m[d]||(m[d]=Y.call(u));m=v(m)}J.apply(u,m),l&&!r&&m.length>0&&h+n.length>1&&t.uniqueSort(u)}return l&&(W=x,A=y),g};return o?r(a):a}var w,C,T,k,j,E,N,S,A,q,D,O,L,H,F,P,I,R,M,$="sizzle"+1*new Date,_=e.document,W=0,B=0,U=n(),z=n(),X=n(),K=function(e,t){return e===t&&(D=!0),0},V={}.hasOwnProperty,G=[],Y=G.pop,Q=G.push,J=G.push,Z=G.slice,ee=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",oe="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+re+"))|)"+ne+"*\\]",ie=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+oe+")*)|.*)\\)|)",ae=new RegExp(ne+"+","g"),se=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),ue=new RegExp("^"+ne+"*,"+ne+"*"),le=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),ce=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(ie),pe=new RegExp("^"+re+"$"),he={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},de=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,be=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),xe=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},we=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Ce=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Te=function(){O()},ke=d(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{J.apply(G=Z.call(_.childNodes),_.childNodes),G[_.childNodes.length].nodeType}catch(e){J={apply:G.length?function(e,t){Q.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}C=t.support={},j=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},O=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:_;return r!==L&&9===r.nodeType&&r.documentElement?(L=r,H=L.documentElement,F=!j(L),_!==L&&(n=L.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Te,!1):n.attachEvent&&n.attachEvent("onunload",Te)),C.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),C.getElementsByTagName=o(function(e){return e.appendChild(L.createComment("")),!e.getElementsByTagName("*").length}),C.getElementsByClassName=me.test(L.getElementsByClassName),C.getById=o(function(e){return H.appendChild(e).id=$,!L.getElementsByName||!L.getElementsByName($).length}),C.getById?(T.filter.ID=function(e){var t=e.replace(be,xe);return function(e){return e.getAttribute("id")===t}},T.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n=t.getElementById(e);return n?[n]:[]}}):(T.filter.ID=function(e){var t=e.replace(be,xe);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},T.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n,r,o,i=t.getElementById(e);if(i){if(n=i.getAttributeNode("id"),n&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if(n=i.getAttributeNode("id"),n&&n.value===e)return[i]}return[]}}),T.find.TAG=C.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):C.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},T.find.CLASS=C.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&F)return t.getElementsByClassName(e)},I=[],P=[],(C.qsa=me.test(L.querySelectorAll))&&(o(function(e){H.appendChild(e).innerHTML="<a id='"+$+"'></a><select id='"+$+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&P.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||P.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+$+"-]").length||P.push("~="),e.querySelectorAll(":checked").length||P.push(":checked"),e.querySelectorAll("a#"+$+"+*").length||P.push(".#.+[+~]")}),o(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=L.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&P.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&P.push(":enabled",":disabled"),H.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&P.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),P.push(",.*:")})),(C.matchesSelector=me.test(R=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&o(function(e){C.disconnectedMatch=R.call(e,"*"),R.call(e,"[s!='']:x"),I.push("!=",ie)}),P=P.length&&new RegExp(P.join("|")),I=I.length&&new RegExp(I.join("|")),t=me.test(H.compareDocumentPosition),M=t||me.test(H.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},K=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!C.sortDetached&&t.compareDocumentPosition(e)===n?e===L||e.ownerDocument===_&&M(_,e)?-1:t===L||t.ownerDocument===_&&M(_,t)?1:q?ee(q,e)-ee(q,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,s=[e],u=[t];if(!o||!i)return e===L?-1:t===L?1:o?-1:i?1:q?ee(q,e)-ee(q,t):0;if(o===i)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?a(s[r],u[r]):s[r]===_?-1:u[r]===_?1:0},L):L},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==L&&O(e),n=n.replace(ce,"='$1']"),C.matchesSelector&&F&&!X[n+" "]&&(!I||!I.test(n))&&(!P||!P.test(n)))try{var r=R.call(e,n);if(r||C.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,L,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==L&&O(e),M(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==L&&O(e);var n=T.attrHandle[t.toLowerCase()],r=n&&V.call(T.attrHandle,t.toLowerCase())?n(e,t,!F):void 0;return void 0!==r?r:C.attributes||!F?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(we,Ce)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,o=0;if(D=!C.detectDuplicates,q=!C.sortStable&&e.slice(0),e.sort(K),D){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)e.splice(n[r],1)}return q=null,e},k=t.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=k(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=k(t);return n},T=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(be,xe),e[3]=(e[3]||e[4]||e[5]||"").replace(be,xe),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=E(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(be,xe).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(o){var i=t.attr(o,e);return null==i?"!="===n:!n||(i+="","="===n?i===r:"!="===n?i!==r:"^="===n?r&&0===i.indexOf(r):"*="===n?r&&i.indexOf(r)>-1:"$="===n?r&&i.slice(-r.length)===r:"~="===n?(" "+i.replace(ae," ")+" ").indexOf(r)>-1:"|="===n&&(i===r||i.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,h,d,g=i!==a?"nextSibling":"previousSibling",m=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!u&&!s,b=!1;if(m){if(i){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[a?m.firstChild:m.lastChild],a&&y){for(p=m,f=p[$]||(p[$]={}),c=f[p.uniqueID]||(f[p.uniqueID]={}),l=c[e]||[],h=l[0]===W&&l[1],b=h&&l[2],p=h&&m.childNodes[h];p=++h&&p&&p[g]||(b=h=0)||d.pop();)if(1===p.nodeType&&++b&&p===t){c[e]=[W,h,b];break}}else if(y&&(p=t,f=p[$]||(p[$]={}),c=f[p.uniqueID]||(f[p.uniqueID]={}),l=c[e]||[],h=l[0]===W&&l[1],b=h),b===!1)for(;(p=++h&&p&&p[g]||(b=h=0)||d.pop())&&((s?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++b||(y&&(f=p[$]||(p[$]={}),c=f[p.uniqueID]||(f[p.uniqueID]={}),c[e]=[W,b]),p!==t)););return b-=o,b===r||b%r===0&&b/r>=0}}},PSEUDO:function(e,n){var o,i=T.pseudos[e]||T.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return i[$]?i(n):i.length>1?(o=[e,e,"",n],T.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,o=i(e,n),a=o.length;a--;)r=ee(e,o[a]),e[r]=!(t[r]=o[a])}):function(e){return i(e,0,o)}):i}},pseudos:{not:r(function(e){var t=[],n=[],o=N(e.replace(se,"$1"));return o[$]?r(function(e,t,n,r){for(var i,a=o(e,null,r,[]),s=e.length;s--;)(i=a[s])&&(e[s]=!(t[s]=i))}):function(e,r,i){return t[0]=e,o(t,null,i,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){
-return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(be,xe),function(t){return(t.textContent||t.innerText||k(t)).indexOf(e)>-1}}),lang:r(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(be,xe).toLowerCase(),function(t){var n;do if(n=F?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===L.activeElement&&(!L.hasFocus||L.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:l(!1),disabled:l(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!T.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return de.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[n<0?n+t:n]}),even:c(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},T.pseudos.nth=T.pseudos.eq;for(w in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})T.pseudos[w]=s(w);for(w in{submit:!0,reset:!0})T.pseudos[w]=u(w);return p.prototype=T.filters=T.pseudos,T.setFilters=new p,E=t.tokenize=function(e,n){var r,o,i,a,s,u,l,c=z[e+" "];if(c)return n?0:c.slice(0);for(s=e,u=[],l=T.preFilter;s;){r&&!(o=ue.exec(s))||(o&&(s=s.slice(o[0].length)||s),u.push(i=[])),r=!1,(o=le.exec(s))&&(r=o.shift(),i.push({value:r,type:o[0].replace(se," ")}),s=s.slice(r.length));for(a in T.filter)!(o=he[a].exec(s))||l[a]&&!(o=l[a](o))||(r=o.shift(),i.push({value:r,type:a,matches:o}),s=s.slice(r.length));if(!r)break}return n?s.length:s?t.error(e):z(e,u).slice(0)},N=t.compile=function(e,t){var n,r=[],o=[],i=X[e+" "];if(!i){for(t||(t=E(e)),n=t.length;n--;)i=b(t[n]),i[$]?r.push(i):o.push(i);i=X(e,x(o,r)),i.selector=e}return i},S=t.select=function(e,t,n,r){var o,i,a,s,u,l="function"==typeof e&&e,c=!r&&E(e=l.selector||e);if(n=n||[],1===c.length){if(i=c[0]=c[0].slice(0),i.length>2&&"ID"===(a=i[0]).type&&9===t.nodeType&&F&&T.relative[i[1].type]){if(t=(T.find.ID(a.matches[0].replace(be,xe),t)||[])[0],!t)return n;l&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=he.needsContext.test(e)?0:i.length;o--&&(a=i[o],!T.relative[s=a.type]);)if((u=T.find[s])&&(r=u(a.matches[0].replace(be,xe),ye.test(i[0].type)&&f(t.parentNode)||t))){if(i.splice(o,1),e=r.length&&h(i),!e)return J.apply(n,r),n;break}}return(l||N(e,c))(r,t,!F,n,!t||ye.test(e)&&f(t.parentNode)||t),n},C.sortStable=$.split("").sort(K).join("")===$,C.detectDuplicates=!!D,O(),C.sortDetached=o(function(e){return 1&e.compareDocumentPosition(L.createElement("fieldset"))}),o(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||i("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),C.attributes&&o(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||i("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||i(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);de.find=be,de.expr=be.selectors,de.expr[":"]=de.expr.pseudos,de.uniqueSort=de.unique=be.uniqueSort,de.text=be.getText,de.isXMLDoc=be.isXML,de.contains=be.contains,de.escapeSelector=be.escape;var xe=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&de(e).is(n))break;r.push(e)}return r},we=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Ce=de.expr.match.needsContext,Te=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,ke=/^.[^:#\[\.,]*$/;de.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?de.find.matchesSelector(r,e)?[r]:[]:de.find.matches(e,de.grep(t,function(e){return 1===e.nodeType}))},de.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(de(e).filter(function(){for(t=0;t<r;t++)if(de.contains(o[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)de.find(e,o[t],n);return r>1?de.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Ce.test(e)?de(e):e||[],!1).length}});var je,Ee=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Ne=de.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||je,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Ee.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof de?t[0]:t,de.merge(this,de.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Te.test(r[1])&&de.isPlainObject(t))for(r in t)de.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return o=te.getElementById(r[2]),o&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):de.isFunction(e)?void 0!==n.ready?n.ready(e):e(de):de.makeArray(e,this)};Ne.prototype=de.fn,je=de(te);var Se=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};de.fn.extend({has:function(e){var t=de(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(de.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,o=this.length,i=[],a="string"!=typeof e&&de(e);if(!Ce.test(e))for(;r<o;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&de.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?de.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?ae.call(de(e),this[0]):ae.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(de.uniqueSort(de.merge(this.get(),de(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),de.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return xe(e,"parentNode")},parentsUntil:function(e,t,n){return xe(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return xe(e,"nextSibling")},prevAll:function(e){return xe(e,"previousSibling")},nextUntil:function(e,t,n){return xe(e,"nextSibling",n)},prevUntil:function(e,t,n){return xe(e,"previousSibling",n)},siblings:function(e){return we((e.parentNode||{}).firstChild,e)},children:function(e){return we(e.firstChild)},contents:function(e){return e.contentDocument||de.merge([],e.childNodes)}},function(e,t){de.fn[e]=function(n,r){var o=de.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=de.filter(r,o)),this.length>1&&(Ae[e]||de.uniqueSort(o),Se.test(e)&&o.reverse()),this.pushStack(o)}});var qe=/[^\x20\t\r\n\f]+/g;de.Callbacks=function(e){e="string"==typeof e?a(e):de.extend({},e);var t,n,r,o,i=[],s=[],u=-1,l=function(){for(o=e.once,r=t=!0;s.length;u=-1)for(n=s.shift();++u<i.length;)i[u].apply(n[0],n[1])===!1&&e.stopOnFalse&&(u=i.length,n=!1);e.memory||(n=!1),t=!1,o&&(i=n?[]:"")},c={add:function(){return i&&(n&&!t&&(u=i.length-1,s.push(n)),function t(n){de.each(n,function(n,r){de.isFunction(r)?e.unique&&c.has(r)||i.push(r):r&&r.length&&"string"!==de.type(r)&&t(r)})}(arguments),n&&!t&&l()),this},remove:function(){return de.each(arguments,function(e,t){for(var n;(n=de.inArray(t,i,n))>-1;)i.splice(n,1),n<=u&&u--}),this},has:function(e){return e?de.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=s=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=s=[],n||t||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},de.extend({Deferred:function(t){var n=[["notify","progress",de.Callbacks("memory"),de.Callbacks("memory"),2],["resolve","done",de.Callbacks("once memory"),de.Callbacks("once memory"),0,"resolved"],["reject","fail",de.Callbacks("once memory"),de.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return de.Deferred(function(t){de.each(n,function(n,r){var o=de.isFunction(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=o&&o.apply(this,arguments);e&&de.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,r,o){function i(t,n,r,o){return function(){var l=this,c=arguments,f=function(){var e,f;if(!(t<a)){if(e=r.apply(l,c),e===n.promise())throw new TypeError("Thenable self-resolution");f=e&&("object"==typeof e||"function"==typeof e)&&e.then,de.isFunction(f)?o?f.call(e,i(a,n,s,o),i(a,n,u,o)):(a++,f.call(e,i(a,n,s,o),i(a,n,u,o),i(a,n,s,n.notifyWith))):(r!==s&&(l=void 0,c=[e]),(o||n.resolveWith)(l,c))}},p=o?f:function(){try{f()}catch(e){de.Deferred.exceptionHook&&de.Deferred.exceptionHook(e,p.stackTrace),t+1>=a&&(r!==u&&(l=void 0,c=[e]),n.rejectWith(l,c))}};t?p():(de.Deferred.getStackHook&&(p.stackTrace=de.Deferred.getStackHook()),e.setTimeout(p))}}var a=0;return de.Deferred(function(e){n[0][3].add(i(0,e,de.isFunction(o)?o:s,e.notifyWith)),n[1][3].add(i(0,e,de.isFunction(t)?t:s)),n[2][3].add(i(0,e,de.isFunction(r)?r:u))}).promise()},promise:function(e){return null!=e?de.extend(e,o):o}},i={};return de.each(n,function(e,t){var a=t[2],s=t[5];o[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[0][2].lock),a.add(t[3].fire),i[t[0]]=function(){return i[t[0]+"With"](this===i?void 0:this,arguments),this},i[t[0]+"With"]=a.fireWith}),o.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=re.call(arguments),i=de.Deferred(),a=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?re.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&(l(e,i.done(a(n)).resolve,i.reject),"pending"===i.state()||de.isFunction(o[n]&&o[n].then)))return i.then();for(;n--;)l(o[n],a(n),i.reject);return i.promise()}});var De=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;de.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&De.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},de.readyException=function(t){e.setTimeout(function(){throw t})};var Oe=de.Deferred();de.fn.ready=function(e){return Oe.then(e).catch(function(e){de.readyException(e)}),this},de.extend({isReady:!1,readyWait:1,holdReady:function(e){e?de.readyWait++:de.ready(!0)},ready:function(e){(e===!0?--de.readyWait:de.isReady)||(de.isReady=!0,e!==!0&&--de.readyWait>0||Oe.resolveWith(te,[de]))}}),de.ready.then=Oe.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(de.ready):(te.addEventListener("DOMContentLoaded",c),e.addEventListener("load",c));var Le=function(e,t,n,r,o,i,a){var s=0,u=e.length,l=null==n;if("object"===de.type(n)){o=!0;for(s in n)Le(e,t,s,n[s],!0,i,a)}else if(void 0!==r&&(o=!0,de.isFunction(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(de(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return o?e:l?t.call(e):u?t(e[0],n):i},He=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};f.uid=1,f.prototype={cache:function(e){var t=e[this.expando];return t||(t={},He(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,o=this.cache(e);if("string"==typeof t)o[de.camelCase(t)]=n;else for(r in t)o[de.camelCase(r)]=t[r];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][de.camelCase(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){de.isArray(t)?t=t.map(de.camelCase):(t=de.camelCase(t),t=t in r?[t]:t.match(qe)||[]),n=t.length;for(;n--;)delete r[t[n]]}(void 0===t||de.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!de.isEmptyObject(t)}};var Fe=new f,Pe=new f,Ie=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Re=/[A-Z]/g;de.extend({hasData:function(e){return Pe.hasData(e)||Fe.hasData(e)},data:function(e,t,n){return Pe.access(e,t,n)},removeData:function(e,t){Pe.remove(e,t)},_data:function(e,t,n){return Fe.access(e,t,n)},_removeData:function(e,t){Fe.remove(e,t)}}),de.fn.extend({data:function(e,t){var n,r,o,i=this[0],a=i&&i.attributes;if(void 0===e){if(this.length&&(o=Pe.get(i),1===i.nodeType&&!Fe.get(i,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=de.camelCase(r.slice(5)),h(i,r,o[r])));Fe.set(i,"hasDataAttrs",!0)}return o}return"object"==typeof e?this.each(function(){Pe.set(this,e)}):Le(this,function(t){var n;if(i&&void 0===t){if(n=Pe.get(i,e),void 0!==n)return n;if(n=h(i,e),void 0!==n)return n}else this.each(function(){Pe.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Pe.remove(this,e)})}}),de.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||de.isArray(n)?r=Fe.access(e,t,de.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=de.queue(e,t),r=n.length,o=n.shift(),i=de._queueHooks(e,t),a=function(){de.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,a,i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:de.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),de.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?de.queue(this[0],e):void 0===t?this:this.each(function(){var n=de.queue(this,e,t);de._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&de.dequeue(this,e)})},dequeue:function(e){return this.each(function(){de.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,o=de.Deferred(),i=this,a=this.length,s=function(){--r||o.resolveWith(i,[i])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)n=Fe.get(i[a],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(s));return s(),o.promise(t)}});var Me=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,$e=new RegExp("^(?:([+-])=|)("+Me+")([a-z%]*)$","i"),_e=["Top","Right","Bottom","Left"],We=function(e,t){return e=t||e,"none"===e.style.display||""===e.style.display&&de.contains(e.ownerDocument,e)&&"none"===de.css(e,"display")},Be=function(e,t,n,r){var o,i,a={};for(i in t)a[i]=e.style[i],e.style[i]=t[i];o=n.apply(e,r||[]);for(i in t)e.style[i]=a[i];return o},Ue={};de.fn.extend({show:function(){return m(this,!0)},hide:function(){return m(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){We(this)?de(this).show():de(this).hide()})}});var ze=/^(?:checkbox|radio)$/i,Xe=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,Ke=/^$|\/(?:java|ecma)script/i,Ve={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Ve.optgroup=Ve.option,Ve.tbody=Ve.tfoot=Ve.colgroup=Ve.caption=Ve.thead,Ve.th=Ve.td;var Ge=/<|&#?\w+;/;!function(){var e=te.createDocumentFragment(),t=e.appendChild(te.createElement("div")),n=te.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),pe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",pe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Ye=te.documentElement,Qe=/^key/,Je=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ze=/^([^.]*)(?:\.(.+)|)/;de.event={global:{},add:function(e,t,n,r,o){var i,a,s,u,l,c,f,p,h,d,g,m=Fe.get(e);if(m)for(n.handler&&(i=n,n=i.handler,o=i.selector),o&&de.find.matchesSelector(Ye,o),n.guid||(n.guid=de.guid++),(u=m.events)||(u=m.events={}),(a=m.handle)||(a=m.handle=function(t){return"undefined"!=typeof de&&de.event.triggered!==t.type?de.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(qe)||[""],l=t.length;l--;)s=Ze.exec(t[l])||[],h=g=s[1],d=(s[2]||"").split(".").sort(),h&&(f=de.event.special[h]||{},h=(o?f.delegateType:f.bindType)||h,f=de.event.special[h]||{},c=de.extend({type:h,origType:g,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&de.expr.match.needsContext.test(o),namespace:d.join(".")},i),(p=u[h])||(p=u[h]=[],p.delegateCount=0,f.setup&&f.setup.call(e,r,d,a)!==!1||e.addEventListener&&e.addEventListener(h,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),o?p.splice(p.delegateCount++,0,c):p.push(c),de.event.global[h]=!0)},remove:function(e,t,n,r,o){var i,a,s,u,l,c,f,p,h,d,g,m=Fe.hasData(e)&&Fe.get(e);if(m&&(u=m.events)){for(t=(t||"").match(qe)||[""],l=t.length;l--;)if(s=Ze.exec(t[l])||[],h=g=s[1],d=(s[2]||"").split(".").sort(),h){for(f=de.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,p=u[h]||[],s=s[2]&&new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=i=p.length;i--;)c=p[i],!o&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(i,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&f.teardown.call(e,d,m.handle)!==!1||de.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)de.event.remove(e,h+t[l],n,r,!0);de.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,a,s=de.event.fix(e),u=new Array(arguments.length),l=(Fe.get(this,"events")||{})[s.type]||[],c=de.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,s)!==!1){for(a=de.event.handlers.call(this,s,l),t=0;(o=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=o.elem,n=0;(i=o.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!s.rnamespace.test(i.namespace)||(s.handleObj=i,s.data=i.data,r=((de.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),void 0!==r&&(s.result=r)===!1&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,o,i,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||l.disabled!==!0)){for(i=[],a={},n=0;n<u;n++)r=t[n],o=r.selector+" ",void 0===a[o]&&(a[o]=r.needsContext?de(o,this).index(l)>-1:de.find(o,this,null,[l]).length),a[o]&&i.push(r);i.length&&s.push({elem:l,handlers:i})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(de.Event.prototype,e,{enumerable:!0,configurable:!0,get:de.isFunction(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[de.expando]?e:new de.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==C()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===C()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&de.nodeName(this,"input"))return this.click(),!1},_default:function(e){return de.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},de.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},de.Event=function(e,t){return this instanceof de.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?x:w,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&de.extend(this,t),this.timeStamp=e&&e.timeStamp||de.now(),void(this[de.expando]=!0)):new de.Event(e,t)},de.Event.prototype={constructor:de.Event,isDefaultPrevented:w,isPropagationStopped:w,isImmediatePropagationStopped:w,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=x,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=x,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=x,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},de.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Qe.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Je.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},de.event.addProp),de.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){de.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,o=e.relatedTarget,i=e.handleObj;return o&&(o===r||de.contains(r,o))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}}),de.fn.extend({on:function(e,t,n,r){return T(this,e,t,n,r)},one:function(e,t,n,r){return T(this,e,t,n,r,1)},off:function(e,t,n){var r,o;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,de(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(o in e)this.off(o,t,e[o]);return this}return t!==!1&&"function"!=typeof t||(n=t,t=void 0),n===!1&&(n=w),this.each(function(){de.event.remove(this,e,n,t)})}});var et=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/<script|<style|<link/i,nt=/checked\s*(?:[^=]|=\s*.checked.)/i,rt=/^true\/(.*)/,ot=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;de.extend({htmlPrefilter:function(e){return e.replace(et,"<$1></$2>")},clone:function(e,t,n){var r,o,i,a,s=e.cloneNode(!0),u=de.contains(e.ownerDocument,e);if(!(pe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||de.isXMLDoc(e)))for(a=v(s),i=v(e),r=0,o=i.length;r<o;r++)S(i[r],a[r]);if(t)if(n)for(i=i||v(e),a=a||v(s),r=0,o=i.length;r<o;r++)N(i[r],a[r]);else N(e,s);return a=v(s,"script"),a.length>0&&y(a,!u&&v(e,"script")),s},cleanData:function(e){for(var t,n,r,o=de.event.special,i=0;void 0!==(n=e[i]);i++)if(He(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)o[r]?de.event.remove(n,r):de.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[Pe.expando]&&(n[Pe.expando]=void 0)}}}),de.fn.extend({detach:function(e){return q(this,e,!0)},remove:function(e){return q(this,e)},text:function(e){return Le(this,function(e){return void 0===e?de.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=k(this,e);t.appendChild(e)}})},prepend:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=k(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(de.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return de.clone(this,e,t)})},html:function(e){return Le(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!tt.test(e)&&!Ve[(Xe.exec(e)||["",""])[1].toLowerCase()]){e=de.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(de.cleanData(v(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return A(this,arguments,function(t){var n=this.parentNode;de.inArray(this,e)<0&&(de.cleanData(v(this)),n&&n.replaceChild(t,this))},e)}}),de.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){de.fn[e]=function(e){for(var n,r=[],o=de(e),i=o.length-1,a=0;a<=i;a++)n=a===i?this:this.clone(!0),de(o[a])[t](n),ie.apply(r,n.get());return this.pushStack(r)}});var it=/^margin/,at=new RegExp("^("+Me+")(?!px)[a-z%]+$","i"),st=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)};!function(){function t(){if(s){s.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",s.innerHTML="",Ye.appendChild(a);var t=e.getComputedStyle(s);n="1%"!==t.top,i="2px"===t.marginLeft,r="4px"===t.width,s.style.marginRight="50%",o="4px"===t.marginRight,Ye.removeChild(a),s=null}}var n,r,o,i,a=te.createElement("div"),s=te.createElement("div");s.style&&(s.style.backgroundClip="content-box",s.cloneNode(!0).style.backgroundClip="",pe.clearCloneStyle="content-box"===s.style.backgroundClip,a.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",a.appendChild(s),de.extend(pe,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return t(),r},pixelMarginRight:function(){return t(),o},reliableMarginLeft:function(){return t(),i}}))}();var ut=/^(none|table(?!-c[ea]).+)/,lt={position:"absolute",visibility:"hidden",display:"block"},ct={letterSpacing:"0",fontWeight:"400"},ft=["Webkit","Moz","ms"],pt=te.createElement("div").style;de.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=D(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,i,a,s=de.camelCase(t),u=e.style;return t=de.cssProps[s]||(de.cssProps[s]=L(s)||s),a=de.cssHooks[t]||de.cssHooks[s],void 0===n?a&&"get"in a&&void 0!==(o=a.get(e,!1,r))?o:u[t]:(i=typeof n,"string"===i&&(o=$e.exec(n))&&o[1]&&(n=d(e,t,o),i="number"),null!=n&&n===n&&("number"===i&&(n+=o&&o[3]||(de.cssNumber[s]?"":"px")),pe.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u[t]=n)),void 0)}},css:function(e,t,n,r){var o,i,a,s=de.camelCase(t);return t=de.cssProps[s]||(de.cssProps[s]=L(s)||s),a=de.cssHooks[t]||de.cssHooks[s],a&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=D(e,t,r)),"normal"===o&&t in ct&&(o=ct[t]),""===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),de.each(["height","width"],function(e,t){de.cssHooks[t]={get:function(e,n,r){if(n)return!ut.test(de.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?P(e,t,r):Be(e,lt,function(){return P(e,t,r)})},set:function(e,n,r){var o,i=r&&st(e),a=r&&F(e,t,r,"border-box"===de.css(e,"boxSizing",!1,i),i);return a&&(o=$e.exec(n))&&"px"!==(o[3]||"px")&&(e.style[t]=n,n=de.css(e,t)),H(e,n,a)}}}),de.cssHooks.marginLeft=O(pe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(D(e,"marginLeft"))||e.getBoundingClientRect().left-Be(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),de.each({margin:"",padding:"",border:"Width"},function(e,t){de.cssHooks[e+t]={expand:function(n){for(var r=0,o={},i="string"==typeof n?n.split(" "):[n];r<4;r++)o[e+_e[r]+t]=i[r]||i[r-2]||i[0];return o}},it.test(e)||(de.cssHooks[e+t].set=H)}),de.fn.extend({css:function(e,t){return Le(this,function(e,t,n){var r,o,i={},a=0;if(de.isArray(t)){for(r=st(e),o=t.length;a<o;a++)i[t[a]]=de.css(e,t[a],!1,r);return i}return void 0!==n?de.style(e,t,n):de.css(e,t)},e,t,arguments.length>1)}}),de.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||de.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(de.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.options.duration?this.pos=t=de.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=de.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){de.fx.step[e.prop]?de.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[de.cssProps[e.prop]]&&!de.cssHooks[e.prop]?e.elem[e.prop]=e.now:de.style(e.elem,e.prop,e.now+e.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},de.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},de.fx=I.prototype.init,de.fx.step={};var ht,dt,gt=/^(?:toggle|show|hide)$/,mt=/queueHooks$/;de.Animation=de.extend(U,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,$e.exec(t),n),n}]},tweener:function(e,t){de.isFunction(e)?(t=e,e=["*"]):e=e.match(qe);for(var n,r=0,o=e.length;r<o;r++)n=e[r],U.tweeners[n]=U.tweeners[n]||[],U.tweeners[n].unshift(t)},prefilters:[W],prefilter:function(e,t){t?U.prefilters.unshift(e):U.prefilters.push(e)}}),de.speed=function(e,t,n){var r=e&&"object"==typeof e?de.extend({},e):{complete:n||!n&&t||de.isFunction(e)&&e,duration:e,easing:n&&t||t&&!de.isFunction(t)&&t};return de.fx.off||te.hidden?r.duration=0:"number"!=typeof r.duration&&(r.duration in de.fx.speeds?r.duration=de.fx.speeds[r.duration]:r.duration=de.fx.speeds._default),null!=r.queue&&r.queue!==!0||(r.queue="fx"),r.old=r.complete,r.complete=function(){de.isFunction(r.old)&&r.old.call(this),r.queue&&de.dequeue(this,r.queue)},r},de.fn.extend({fadeTo:function(e,t,n,r){return this.filter(We).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){
-var o=de.isEmptyObject(e),i=de.speed(t,n,r),a=function(){var t=U(this,de.extend({},e),i);(o||Fe.get(this,"finish"))&&t.stop(!0)};return a.finish=a,o||i.queue===!1?this.each(a):this.queue(i.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,o=null!=e&&e+"queueHooks",i=de.timers,a=Fe.get(this);if(o)a[o]&&a[o].stop&&r(a[o]);else for(o in a)a[o]&&a[o].stop&&mt.test(o)&&r(a[o]);for(o=i.length;o--;)i[o].elem!==this||null!=e&&i[o].queue!==e||(i[o].anim.stop(n),t=!1,i.splice(o,1));!t&&n||de.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=Fe.get(this),r=n[e+"queue"],o=n[e+"queueHooks"],i=de.timers,a=r?r.length:0;for(n.finish=!0,de.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),de.each(["toggle","show","hide"],function(e,t){var n=de.fn[t];de.fn[t]=function(e,r,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate($(t,!0),e,r,o)}}),de.each({slideDown:$("show"),slideUp:$("hide"),slideToggle:$("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){de.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),de.timers=[],de.fx.tick=function(){var e,t=0,n=de.timers;for(ht=de.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);n.length||de.fx.stop(),ht=void 0},de.fx.timer=function(e){de.timers.push(e),e()?de.fx.start():de.timers.pop()},de.fx.interval=13,de.fx.start=function(){dt||(dt=e.requestAnimationFrame?e.requestAnimationFrame(R):e.setInterval(de.fx.tick,de.fx.interval))},de.fx.stop=function(){e.cancelAnimationFrame?e.cancelAnimationFrame(dt):e.clearInterval(dt),dt=null},de.fx.speeds={slow:600,fast:200,_default:400},de.fn.delay=function(t,n){return t=de.fx?de.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var o=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(o)}})},function(){var e=te.createElement("input"),t=te.createElement("select"),n=t.appendChild(te.createElement("option"));e.type="checkbox",pe.checkOn=""!==e.value,pe.optSelected=n.selected,e=te.createElement("input"),e.value="t",e.type="radio",pe.radioValue="t"===e.value}();var vt,yt=de.expr.attrHandle;de.fn.extend({attr:function(e,t){return Le(this,de.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){de.removeAttr(this,e)})}}),de.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return"undefined"==typeof e.getAttribute?de.prop(e,t,n):(1===i&&de.isXMLDoc(e)||(o=de.attrHooks[t.toLowerCase()]||(de.expr.match.bool.test(t)?vt:void 0)),void 0!==n?null===n?void de.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:(r=de.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&de.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(qe);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),vt={set:function(e,t,n){return t===!1?de.removeAttr(e,n):e.setAttribute(n,n),n}},de.each(de.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||de.find.attr;yt[t]=function(e,t,r){var o,i,a=t.toLowerCase();return r||(i=yt[a],yt[a]=o,o=null!=n(e,t,r)?a:null,yt[a]=i),o}});var bt=/^(?:input|select|textarea|button)$/i,xt=/^(?:a|area)$/i;de.fn.extend({prop:function(e,t){return Le(this,de.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[de.propFix[e]||e]})}}),de.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&de.isXMLDoc(e)||(t=de.propFix[t]||t,o=de.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=de.find.attr(e,"tabindex");return t?parseInt(t,10):bt.test(e.nodeName)||xt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),pe.optSelected||(de.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),de.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){de.propFix[this.toLowerCase()]=this}),de.fn.extend({addClass:function(e){var t,n,r,o,i,a,s,u=0;if(de.isFunction(e))return this.each(function(t){de(this).addClass(e.call(this,t,X(this)))});if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(a=0;i=t[a++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");s=z(r),o!==s&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,o,i,a,s,u=0;if(de.isFunction(e))return this.each(function(t){de(this).removeClass(e.call(this,t,X(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(a=0;i=t[a++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");s=z(r),o!==s&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):de.isFunction(e)?this.each(function(n){de(this).toggleClass(e.call(this,n,X(this),t),t)}):this.each(function(){var t,r,o,i;if("string"===n)for(r=0,o=de(this),i=e.match(qe)||[];t=i[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||(t=X(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(X(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;de.fn.extend({val:function(e){var t,n,r,o=this[0];{if(arguments.length)return r=de.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=r?e.call(this,n,de(this).val()):e,null==o?o="":"number"==typeof o?o+="":de.isArray(o)&&(o=de.map(o,function(e){return null==e?"":e+""})),t=de.valHooks[this.type]||de.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return t=de.valHooks[o.type]||de.valHooks[o.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(wt,""):null==n?"":n)}}}),de.extend({valHooks:{option:{get:function(e){var t=de.find.attr(e,"value");return null!=t?t:z(de.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?i+1:o.length;for(r=i<0?u:a?i:0;r<u;r++)if(n=o[r],(n.selected||r===i)&&!n.disabled&&(!n.parentNode.disabled||!de.nodeName(n.parentNode,"optgroup"))){if(t=de(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,o=e.options,i=de.makeArray(t),a=o.length;a--;)r=o[a],(r.selected=de.inArray(de.valHooks.option.get(r),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),de.each(["radio","checkbox"],function(){de.valHooks[this]={set:function(e,t){if(de.isArray(t))return e.checked=de.inArray(de(e).val(),t)>-1}},pe.checkOn||(de.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Ct=/^(?:focusinfocus|focusoutblur)$/;de.extend(de.event,{trigger:function(t,n,r,o){var i,a,s,u,l,c,f,p=[r||te],h=le.call(t,"type")?t.type:t,d=le.call(t,"namespace")?t.namespace.split("."):[];if(a=s=r=r||te,3!==r.nodeType&&8!==r.nodeType&&!Ct.test(h+de.event.triggered)&&(h.indexOf(".")>-1&&(d=h.split("."),h=d.shift(),d.sort()),l=h.indexOf(":")<0&&"on"+h,t=t[de.expando]?t:new de.Event(h,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=d.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:de.makeArray(n,[t]),f=de.event.special[h]||{},o||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!o&&!f.noBubble&&!de.isWindow(r)){for(u=f.delegateType||h,Ct.test(u+h)||(a=a.parentNode);a;a=a.parentNode)p.push(a),s=a;s===(r.ownerDocument||te)&&p.push(s.defaultView||s.parentWindow||e)}for(i=0;(a=p[i++])&&!t.isPropagationStopped();)t.type=i>1?u:f.bindType||h,c=(Fe.get(a,"events")||{})[t.type]&&Fe.get(a,"handle"),c&&c.apply(a,n),c=l&&a[l],c&&c.apply&&He(a)&&(t.result=c.apply(a,n),t.result===!1&&t.preventDefault());return t.type=h,o||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!He(r)||l&&de.isFunction(r[h])&&!de.isWindow(r)&&(s=r[l],s&&(r[l]=null),de.event.triggered=h,r[h](),de.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=de.extend(new de.Event,n,{type:e,isSimulated:!0});de.event.trigger(r,null,t)}}),de.fn.extend({trigger:function(e,t){return this.each(function(){de.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return de.event.trigger(e,t,n,!0)}}),de.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){de.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),de.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||de.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){de.event.simulate(t,e.target,de.event.fix(e))};de.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=Fe.access(r,t);o||r.addEventListener(e,n,!0),Fe.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=Fe.access(r,t)-1;o?Fe.access(r,t,o):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var Tt=e.location,kt=de.now(),jt=/\?/;de.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||de.error("Invalid XML: "+t),n};var Et=/\[\]$/,Nt=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;de.param=function(e,t){var n,r=[],o=function(e,t){var n=de.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(de.isArray(e)||e.jquery&&!de.isPlainObject(e))de.each(e,function(){o(this.name,this.value)});else for(n in e)K(n,e[n],t,o);return r.join("&")},de.fn.extend({serialize:function(){return de.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=de.prop(this,"elements");return e?de.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!de(this).is(":disabled")&&At.test(this.nodeName)&&!St.test(e)&&(this.checked||!ze.test(e))}).map(function(e,t){var n=de(this).val();return null==n?null:de.isArray(n)?de.map(n,function(e){return{name:t.name,value:e.replace(Nt,"\r\n")}}):{name:t.name,value:n.replace(Nt,"\r\n")}}).get()}});var qt=/%20/g,Dt=/#.*$/,Ot=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ht=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ft=/^(?:GET|HEAD)$/,Pt=/^\/\//,It={},Rt={},Mt="*/".concat("*"),$t=te.createElement("a");$t.href=Tt.href,de.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:Ht.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Mt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":de.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Y(Y(e,de.ajaxSettings),t):Y(de.ajaxSettings,e)},ajaxPrefilter:V(It),ajaxTransport:V(Rt),ajax:function(t,n){function r(t,n,r,s){var l,p,h,x,w,C=n;c||(c=!0,u&&e.clearTimeout(u),o=void 0,a=s||"",T.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(x=Q(d,T,r)),x=J(d,x,T,l),l?(d.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(de.lastModified[i]=w),w=T.getResponseHeader("etag"),w&&(de.etag[i]=w)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=x.state,p=x.data,h=x.error,l=!h)):(h=C,!t&&C||(C="error",t<0&&(t=0))),T.status=t,T.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,T]):v.rejectWith(g,[T,C,h]),T.statusCode(b),b=void 0,f&&m.trigger(l?"ajaxSuccess":"ajaxError",[T,d,l?p:h]),y.fireWith(g,[T,C]),f&&(m.trigger("ajaxComplete",[T,d]),--de.active||de.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var o,i,a,s,u,l,c,f,p,h,d=de.ajaxSetup({},n),g=d.context||d,m=d.context&&(g.nodeType||g.jquery)?de(g):de.event,v=de.Deferred(),y=de.Callbacks("once memory"),b=d.statusCode||{},x={},w={},C="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s)for(s={};t=Lt.exec(a);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,x[e]=t),this},overrideMimeType:function(e){return null==c&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)T.always(e[T.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||C;return o&&o.abort(t),r(0,t),this}};if(v.promise(T),d.url=((t||d.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(qe)||[""],null==d.crossDomain){l=te.createElement("a");try{l.href=d.url,l.href=l.href,d.crossDomain=$t.protocol+"//"+$t.host!=l.protocol+"//"+l.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=de.param(d.data,d.traditional)),G(It,d,n,T),c)return T;f=de.event&&d.global,f&&0===de.active++&&de.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Ft.test(d.type),i=d.url.replace(Dt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(qt,"+")):(h=d.url.slice(i.length),d.data&&(i+=(jt.test(i)?"&":"?")+d.data,delete d.data),d.cache===!1&&(i=i.replace(Ot,"$1"),h=(jt.test(i)?"&":"?")+"_="+kt++ +h),d.url=i+h),d.ifModified&&(de.lastModified[i]&&T.setRequestHeader("If-Modified-Since",de.lastModified[i]),de.etag[i]&&T.setRequestHeader("If-None-Match",de.etag[i])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&T.setRequestHeader("Content-Type",d.contentType),T.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Mt+"; q=0.01":""):d.accepts["*"]);for(p in d.headers)T.setRequestHeader(p,d.headers[p]);if(d.beforeSend&&(d.beforeSend.call(g,T,d)===!1||c))return T.abort();if(C="abort",y.add(d.complete),T.done(d.success),T.fail(d.error),o=G(Rt,d,n,T)){if(T.readyState=1,f&&m.trigger("ajaxSend",[T,d]),c)return T;d.async&&d.timeout>0&&(u=e.setTimeout(function(){T.abort("timeout")},d.timeout));try{c=!1,o.send(x,r)}catch(e){if(c)throw e;r(-1,e)}}else r(-1,"No Transport");return T},getJSON:function(e,t,n){return de.get(e,t,n,"json")},getScript:function(e,t){return de.get(e,void 0,t,"script")}}),de.each(["get","post"],function(e,t){de[t]=function(e,n,r,o){return de.isFunction(n)&&(o=o||r,r=n,n=void 0),de.ajax(de.extend({url:e,type:t,dataType:o,data:n,success:r},de.isPlainObject(e)&&e))}}),de._evalUrl=function(e){return de.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},de.fn.extend({wrapAll:function(e){var t;return this[0]&&(de.isFunction(e)&&(e=e.call(this[0])),t=de(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return de.isFunction(e)?this.each(function(t){de(this).wrapInner(e.call(this,t))}):this.each(function(){var t=de(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=de.isFunction(e);return this.each(function(n){de(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){de(this).replaceWith(this.childNodes)}),this}}),de.expr.pseudos.hidden=function(e){return!de.expr.pseudos.visible(e)},de.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},de.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},Wt=de.ajaxSettings.xhr();pe.cors=!!Wt&&"withCredentials"in Wt,pe.ajax=Wt=!!Wt,de.ajaxTransport(function(t){var n,r;if(pe.cors||Wt&&!t.crossDomain)return{send:function(o,i){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(a in o)s.setRequestHeader(a,o[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?i(0,"error"):i(s.status,s.statusText):i(_t[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),de.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),de.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return de.globalEval(e),e}}}),de.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),de.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,o){t=de("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),te.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Bt=[],Ut=/(=)\?(?=&|$)|\?\?/;de.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Bt.pop()||de.expando+"_"+kt++;return this[e]=!0,e}}),de.ajaxPrefilter("json jsonp",function(t,n,r){var o,i,a,s=t.jsonp!==!1&&(Ut.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return o=t.jsonpCallback=de.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Ut,"$1"+o):t.jsonp!==!1&&(t.url+=(jt.test(t.url)?"&":"?")+t.jsonp+"="+o),t.converters["script json"]=function(){return a||de.error(o+" was not called"),a[0]},t.dataTypes[0]="json",i=e[o],e[o]=function(){a=arguments},r.always(function(){void 0===i?de(e).removeProp(o):e[o]=i,t[o]&&(t.jsonpCallback=n.jsonpCallback,Bt.push(o)),a&&de.isFunction(i)&&i(a[0]),a=i=void 0}),"script"}),pe.createHTMLDocument=function(){var e=te.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),de.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var r,o,i;return t||(pe.createHTMLDocument?(t=te.implementation.createHTMLDocument(""),r=t.createElement("base"),r.href=te.location.href,t.head.appendChild(r)):t=te),o=Te.exec(e),i=!n&&[],o?[t.createElement(o[1])]:(o=b([e],t,i),i&&i.length&&de(i).remove(),de.merge([],o.childNodes))},de.fn.load=function(e,t,n){var r,o,i,a=this,s=e.indexOf(" ");return s>-1&&(r=z(e.slice(s)),e=e.slice(0,s)),de.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(o="POST"),a.length>0&&de.ajax({url:e,type:o||"GET",dataType:"html",data:t}).done(function(e){i=arguments,a.html(r?de("<div>").append(de.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},de.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){de.fn[t]=function(e){return this.on(t,e)}}),de.expr.pseudos.animated=function(e){return de.grep(de.timers,function(t){return e===t.elem}).length},de.offset={setOffset:function(e,t,n){var r,o,i,a,s,u,l,c=de.css(e,"position"),f=de(e),p={};"static"===c&&(e.style.position="relative"),s=f.offset(),i=de.css(e,"top"),u=de.css(e,"left"),l=("absolute"===c||"fixed"===c)&&(i+u).indexOf("auto")>-1,l?(r=f.position(),a=r.top,o=r.left):(a=parseFloat(i)||0,o=parseFloat(u)||0),de.isFunction(t)&&(t=t.call(e,n,de.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+o),"using"in t?t.using.call(e,p):f.css(p)}},de.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){de.offset.setOffset(this,e,t)});var t,n,r,o,i=this[0];if(i)return i.getClientRects().length?(r=i.getBoundingClientRect(),r.width||r.height?(o=i.ownerDocument,n=Z(o),t=o.documentElement,{top:r.top+n.pageYOffset-t.clientTop,left:r.left+n.pageXOffset-t.clientLeft}):r):{top:0,left:0}},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===de.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),de.nodeName(e[0],"html")||(r=e.offset()),r={top:r.top+de.css(e[0],"borderTopWidth",!0),left:r.left+de.css(e[0],"borderLeftWidth",!0)}),{top:t.top-r.top-de.css(n,"marginTop",!0),left:t.left-r.left-de.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===de.css(e,"position");)e=e.offsetParent;return e||Ye})}}),de.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;de.fn[e]=function(r){return Le(this,function(e,r,o){var i=Z(e);return void 0===o?i?i[t]:e[r]:void(i?i.scrollTo(n?i.pageXOffset:o,n?o:i.pageYOffset):e[r]=o)},e,r,arguments.length)}}),de.each(["top","left"],function(e,t){de.cssHooks[t]=O(pe.pixelPosition,function(e,n){if(n)return n=D(e,t),at.test(n)?de(e).position()[t]+"px":n})}),de.each({Height:"height",Width:"width"},function(e,t){de.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){de.fn[r]=function(o,i){var a=arguments.length&&(n||"boolean"!=typeof o),s=n||(o===!0||i===!0?"margin":"border");return Le(this,function(t,n,o){var i;return de.isWindow(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===o?de.css(t,n,s):de.style(t,n,o,s)},t,a?o:void 0,a)}})}),de.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),de.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return de});var zt=e.jQuery,Xt=e.$;return de.noConflict=function(t){return e.$===de&&(e.$=Xt),t&&e.jQuery===de&&(e.jQuery=zt),de},t||(e.jQuery=e.$=de),de})},{}],2:[function(e,t,n){!function(e,n,r){function o(e,t,n){return e.addEventListener?void e.addEventListener(t,n,!1):void e.attachEvent("on"+t,n)}function i(e){if("keypress"==e.type){var t=String.fromCharCode(e.which);return e.shiftKey||(t=t.toLowerCase()),t}return y[e.which]?y[e.which]:b[e.which]?b[e.which]:String.fromCharCode(e.which).toLowerCase()}function a(e,t){return e.sort().join(",")===t.sort().join(",")}function s(e){var t=[];return e.shiftKey&&t.push("shift"),e.altKey&&t.push("alt"),e.ctrlKey&&t.push("ctrl"),e.metaKey&&t.push("meta"),t}function u(e){return e.preventDefault?void e.preventDefault():void(e.returnValue=!1)}function l(e){return e.stopPropagation?void e.stopPropagation():void(e.cancelBubble=!0)}function c(e){return"shift"==e||"ctrl"==e||"alt"==e||"meta"==e}function f(){if(!v){v={};for(var e in y)e>95&&e<112||y.hasOwnProperty(e)&&(v[y[e]]=e)}return v}function p(e,t,n){return n||(n=f()[e]?"keydown":"keypress"),"keypress"==n&&t.length&&(n="keydown"),n}function h(e){return"+"===e?["+"]:(e=e.replace(/\+{2}/g,"+plus"),e.split("+"))}function d(e,t){var n,r,o,i=[];for(n=h(e),o=0;o<n.length;++o)r=n[o],w[r]&&(r=w[r]),t&&"keypress"!=t&&x[r]&&(r=x[r],i.push("shift")),c(r)&&i.push(r);return t=p(r,i,t),{key:r,modifiers:i,action:t}}function g(e,t){return null!==e&&e!==n&&(e===t||g(e.parentNode,t))}function m(e){function t(e){e=e||{};var t,n=!1;for(t in x)e[t]?n=!0:x[t]=0;n||(T=!1)}function r(e,t,n,r,o,i){var s,u,l=[],f=n.type;if(!y._callbacks[e])return[];for("keyup"==f&&c(e)&&(t=[e]),s=0;s<y._callbacks[e].length;++s)if(u=y._callbacks[e][s],(r||!u.seq||x[u.seq]==u.level)&&f==u.action&&("keypress"==f&&!n.metaKey&&!n.ctrlKey||a(t,u.modifiers))){var p=!r&&u.combo==o,h=r&&u.seq==r&&u.level==i;(p||h)&&y._callbacks[e].splice(s,1),l.push(u)}return l}function f(e,t,n,r){y.stopCallback(t,t.target||t.srcElement,n,r)||e(t,n)===!1&&(u(t),l(t))}function p(e){"number"!=typeof e.which&&(e.which=e.keyCode);var t=i(e);if(t)return"keyup"==e.type&&w===t?void(w=!1):void y.handleKey(t,s(e),e)}function h(){clearTimeout(b),b=setTimeout(t,1e3)}function g(e,n,r,o){function a(t){return function(){T=t,++x[e],h()}}function s(n){f(r,n,e),"keyup"!==o&&(w=i(n)),setTimeout(t,10)}x[e]=0;for(var u=0;u<n.length;++u){var l=u+1===n.length,c=l?s:a(o||d(n[u+1]).action);v(n[u],c,o,e,u)}}function v(e,t,n,o,i){y._directMap[e+":"+n]=t,e=e.replace(/\s+/g," ");var a,s=e.split(" ");return s.length>1?void g(e,s,t,n):(a=d(e,n),y._callbacks[a.key]=y._callbacks[a.key]||[],r(a.key,a.modifiers,{type:a.action},o,e,i),void y._callbacks[a.key][o?"unshift":"push"]({callback:t,modifiers:a.modifiers,action:a.action,seq:o,level:i,combo:e}))}var y=this;if(e=e||n,!(y instanceof m))return new m(e);y.target=e,y._callbacks={},y._directMap={};var b,x={},w=!1,C=!1,T=!1;y._handleKey=function(e,n,o){var i,a=r(e,n,o),s={},u=0,l=!1;for(i=0;i<a.length;++i)a[i].seq&&(u=Math.max(u,a[i].level));for(i=0;i<a.length;++i)if(a[i].seq){if(a[i].level!=u)continue;l=!0,s[a[i].seq]=1,f(a[i].callback,o,a[i].combo,a[i].seq)}else l||f(a[i].callback,o,a[i].combo);var p="keypress"==o.type&&C;o.type!=T||c(e)||p||t(s),C=l&&"keydown"==o.type},y._bindMultiple=function(e,t,n){for(var r=0;r<e.length;++r)v(e[r],t,n)},o(e,"keypress",p),o(e,"keydown",p),o(e,"keyup",p)}if(e){for(var v,y={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},b={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},x={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},w={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},C=1;C<20;++C)y[111+C]="f"+C;for(C=0;C<=9;++C)y[C+96]=C;m.prototype.bind=function(e,t,n){var r=this;return e=e instanceof Array?e:[e],r._bindMultiple.call(r,e,t,n),r},m.prototype.unbind=function(e,t){var n=this;return n.bind.call(n,e,function(){},t)},m.prototype.trigger=function(e,t){var n=this;return n._directMap[e+":"+t]&&n._directMap[e+":"+t]({},e),n},m.prototype.reset=function(){var e=this;return e._callbacks={},e._directMap={},e},m.prototype.stopCallback=function(e,t){var n=this;return!((" "+t.className+" ").indexOf(" mousetrap ")>-1)&&(!g(t,n.target)&&("INPUT"==t.tagName||"SELECT"==t.tagName||"TEXTAREA"==t.tagName||t.isContentEditable))},m.prototype.handleKey=function(){var e=this;return e._handleKey.apply(e,arguments)},m.addKeycodes=function(e){for(var t in e)e.hasOwnProperty(t)&&(y[t]=e[t]);v=null},m.init=function(){var e=m(n);for(var t in e)"_"!==t.charAt(0)&&(m[t]=function(t){return function(){return e[t].apply(e,arguments)}}(t))},m.init(),e.Mousetrap=m,"undefined"!=typeof t&&t.exports&&(t.exports=m),"function"==typeof define&&define.amd&&define(function(){return m})}}("undefined"!=typeof window?window:null,"undefined"!=typeof window?document:null)},{}],3:[function(e,t,n){(function(e){!function(r){function o(e){throw new RangeError(L[e])}function i(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function a(e,t){var n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(O,".");var o=e.split("."),a=i(o,t).join(".");return r+a}function s(e){for(var t,n,r=[],o=0,i=e.length;o<i;)t=e.charCodeAt(o++),t>=55296&&t<=56319&&o<i?(n=e.charCodeAt(o++),56320==(64512&n)?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),o--)):r.push(t);return r}function u(e){return i(e,function(e){var t="";return e>65535&&(e-=65536,t+=P(e>>>10&1023|55296),e=56320|1023&e),t+=P(e)}).join("")}function l(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:C}function c(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function f(e,t,n){var r=0;for(e=n?F(e/E):e>>1,e+=F(e/t);e>H*k>>1;r+=C)e=F(e/H);return F(r+(H+1)*e/(e+j))}function p(e){var t,n,r,i,a,s,c,p,h,d,g=[],m=e.length,v=0,y=S,b=N;for(n=e.lastIndexOf(A),n<0&&(n=0),r=0;r<n;++r)e.charCodeAt(r)>=128&&o("not-basic"),g.push(e.charCodeAt(r));for(i=n>0?n+1:0;i<m;){for(a=v,s=1,c=C;i>=m&&o("invalid-input"),p=l(e.charCodeAt(i++)),(p>=C||p>F((w-v)/s))&&o("overflow"),v+=p*s,h=c<=b?T:c>=b+k?k:c-b,!(p<h);c+=C)d=C-h,s>F(w/d)&&o("overflow"),s*=d;t=g.length+1,b=f(v-a,t,0==a),F(v/t)>w-y&&o("overflow"),y+=F(v/t),v%=t,g.splice(v++,0,y)}return u(g)}function h(e){var t,n,r,i,a,u,l,p,h,d,g,m,v,y,b,x=[];for(e=s(e),m=e.length,t=S,n=0,a=N,u=0;u<m;++u)g=e[u],g<128&&x.push(P(g));for(r=i=x.length,i&&x.push(A);r<m;){for(l=w,u=0;u<m;++u)g=e[u],g>=t&&g<l&&(l=g);for(v=r+1,l-t>F((w-n)/v)&&o("overflow"),n+=(l-t)*v,t=l,u=0;u<m;++u)if(g=e[u],g<t&&++n>w&&o("overflow"),g==t){for(p=n,h=C;d=h<=a?T:h>=a+k?k:h-a,!(p<d);h+=C)b=p-d,y=C-d,x.push(P(c(d+b%y,0))),p=F(b/y);x.push(P(c(p,0))),a=f(n,v,r==i),n=0,++r}++n,++t}return x.join("")}function d(e){return a(e,function(e){return q.test(e)?p(e.slice(4).toLowerCase()):e})}function g(e){return a(e,function(e){return D.test(e)?"xn--"+h(e):e})}var m="object"==typeof n&&n&&!n.nodeType&&n,v="object"==typeof t&&t&&!t.nodeType&&t,y="object"==typeof e&&e;y.global!==y&&y.window!==y&&y.self!==y||(r=y);var b,x,w=2147483647,C=36,T=1,k=26,j=38,E=700,N=72,S=128,A="-",q=/^xn--/,D=/[^\x20-\x7E]/,O=/[\x2E\u3002\uFF0E\uFF61]/g,L={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},H=C-T,F=Math.floor,P=String.fromCharCode;if(b={version:"1.4.1",ucs2:{decode:s,encode:u},decode:p,encode:h,toASCII:g,toUnicode:d},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return b});else if(m&&v)if(t.exports==m)v.exports=b;else for(x in b)b.hasOwnProperty(x)&&(m[x]=b[x]);else r.punycode=b}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,n){"use strict";function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.exports=function(e,t,n,i){t=t||"&",n=n||"=";var a={};if("string"!=typeof e||0===e.length)return a;var s=/\+/g;e=e.split(t);var u=1e3;i&&"number"==typeof i.maxKeys&&(u=i.maxKeys);var l=e.length;u>0&&l>u&&(l=u);for(var c=0;c<l;++c){var f,p,h,d,g=e[c].replace(s,"%20"),m=g.indexOf(n);m>=0?(f=g.substr(0,m),p=g.substr(m+1)):(f=g,p=""),h=decodeURIComponent(f),d=decodeURIComponent(p),
-r(a,h)?o(a[h])?a[h].push(d):a[h]=[a[h],d]:a[h]=d}return a};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],5:[function(e,t,n){"use strict";function r(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++)n.push(t(e[r],r));return n}var o=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};t.exports=function(e,t,n,s){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?r(a(e),function(a){var s=encodeURIComponent(o(a))+n;return i(e[a])?r(e[a],function(e){return s+encodeURIComponent(o(e))}).join(t):s+encodeURIComponent(o(e[a]))}).join(t):s?encodeURIComponent(o(s))+n+encodeURIComponent(o(e)):""};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},a=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}},{}],6:[function(e,t,n){"use strict";n.decode=n.parse=e("./decode"),n.encode=n.stringify=e("./encode")},{"./decode":4,"./encode":5}],7:[function(e,t,n){"use strict";function r(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function o(e,t,n){if(e&&l.isObject(e)&&e instanceof r)return e;var o=new r;return o.parse(e,t,n),o}function i(e){return l.isString(e)&&(e=o(e)),e instanceof r?e.format():r.prototype.format.call(e)}function a(e,t){return o(e,!1,!0).resolve(t)}function s(e,t){return e?o(e,!1,!0).resolveObject(t):t}var u=e("punycode"),l=e("./util");n.parse=o,n.resolve=a,n.resolveObject=s,n.format=i,n.Url=r;var c=/^([a-z0-9.+-]+:)/i,f=/:[0-9]*$/,p=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,h=["<",">",'"',"`"," ","\r","\n","\t"],d=["{","}","|","\\","^","`"].concat(h),g=["'"].concat(d),m=["%","/","?",";","#"].concat(g),v=["/","?","#"],y=255,b=/^[+a-z0-9A-Z_-]{0,63}$/,x=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,w={javascript:!0,"javascript:":!0},C={javascript:!0,"javascript:":!0},T={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},k=e("querystring");r.prototype.parse=function(e,t,n){if(!l.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var r=e.indexOf("?"),o=r!==-1&&r<e.indexOf("#")?"?":"#",i=e.split(o),a=/\\/g;i[0]=i[0].replace(a,"/"),e=i.join(o);var s=e;if(s=s.trim(),!n&&1===e.split("#").length){var f=p.exec(s);if(f)return this.path=s,this.href=s,this.pathname=f[1],f[2]?(this.search=f[2],t?this.query=k.parse(this.search.substr(1)):this.query=this.search.substr(1)):t&&(this.search="",this.query={}),this}var h=c.exec(s);if(h){h=h[0];var d=h.toLowerCase();this.protocol=d,s=s.substr(h.length)}if(n||h||s.match(/^\/\/[^@\/]+@[^@\/]+/)){var j="//"===s.substr(0,2);!j||h&&C[h]||(s=s.substr(2),this.slashes=!0)}if(!C[h]&&(j||h&&!T[h])){for(var E=-1,N=0;N<v.length;N++){var S=s.indexOf(v[N]);S!==-1&&(E===-1||S<E)&&(E=S)}var A,q;q=E===-1?s.lastIndexOf("@"):s.lastIndexOf("@",E),q!==-1&&(A=s.slice(0,q),s=s.slice(q+1),this.auth=decodeURIComponent(A)),E=-1;for(var N=0;N<m.length;N++){var S=s.indexOf(m[N]);S!==-1&&(E===-1||S<E)&&(E=S)}E===-1&&(E=s.length),this.host=s.slice(0,E),s=s.slice(E),this.parseHost(),this.hostname=this.hostname||"";var D="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!D)for(var O=this.hostname.split(/\./),N=0,L=O.length;N<L;N++){var H=O[N];if(H&&!H.match(b)){for(var F="",P=0,I=H.length;P<I;P++)F+=H.charCodeAt(P)>127?"x":H[P];if(!F.match(b)){var R=O.slice(0,N),M=O.slice(N+1),$=H.match(x);$&&(R.push($[1]),M.unshift($[2])),M.length&&(s="/"+M.join(".")+s),this.hostname=R.join(".");break}}}this.hostname.length>y?this.hostname="":this.hostname=this.hostname.toLowerCase(),D||(this.hostname=u.toASCII(this.hostname));var _=this.port?":"+this.port:"",W=this.hostname||"";this.host=W+_,this.href+=this.host,D&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==s[0]&&(s="/"+s))}if(!w[d])for(var N=0,L=g.length;N<L;N++){var B=g[N];if(s.indexOf(B)!==-1){var U=encodeURIComponent(B);U===B&&(U=escape(B)),s=s.split(B).join(U)}}var z=s.indexOf("#");z!==-1&&(this.hash=s.substr(z),s=s.slice(0,z));var X=s.indexOf("?");if(X!==-1?(this.search=s.substr(X),this.query=s.substr(X+1),t&&(this.query=k.parse(this.query)),s=s.slice(0,X)):t&&(this.search="",this.query={}),s&&(this.pathname=s),T[d]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var _=this.pathname||"",K=this.search||"";this.path=_+K}return this.href=this.format(),this},r.prototype.format=function(){var e=this.auth||"";e&&(e=encodeURIComponent(e),e=e.replace(/%3A/i,":"),e+="@");var t=this.protocol||"",n=this.pathname||"",r=this.hash||"",o=!1,i="";this.host?o=e+this.host:this.hostname&&(o=e+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&l.isObject(this.query)&&Object.keys(this.query).length&&(i=k.stringify(this.query));var a=this.search||i&&"?"+i||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||T[t])&&o!==!1?(o="//"+(o||""),n&&"/"!==n.charAt(0)&&(n="/"+n)):o||(o=""),r&&"#"!==r.charAt(0)&&(r="#"+r),a&&"?"!==a.charAt(0)&&(a="?"+a),n=n.replace(/[?#]/g,function(e){return encodeURIComponent(e)}),a=a.replace("#","%23"),t+o+n+a+r},r.prototype.resolve=function(e){return this.resolveObject(o(e,!1,!0)).format()},r.prototype.resolveObject=function(e){if(l.isString(e)){var t=new r;t.parse(e,!1,!0),e=t}for(var n=new r,o=Object.keys(this),i=0;i<o.length;i++){var a=o[i];n[a]=this[a]}if(n.hash=e.hash,""===e.href)return n.href=n.format(),n;if(e.slashes&&!e.protocol){for(var s=Object.keys(e),u=0;u<s.length;u++){var c=s[u];"protocol"!==c&&(n[c]=e[c])}return T[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname="/"),n.href=n.format(),n}if(e.protocol&&e.protocol!==n.protocol){if(!T[e.protocol]){for(var f=Object.keys(e),p=0;p<f.length;p++){var h=f[p];n[h]=e[h]}return n.href=n.format(),n}if(n.protocol=e.protocol,e.host||C[e.protocol])n.pathname=e.pathname;else{for(var d=(e.pathname||"").split("/");d.length&&!(e.host=d.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==d[0]&&d.unshift(""),d.length<2&&d.unshift(""),n.pathname=d.join("/")}if(n.search=e.search,n.query=e.query,n.host=e.host||"",n.auth=e.auth,n.hostname=e.hostname||e.host,n.port=e.port,n.pathname||n.search){var g=n.pathname||"",m=n.search||"";n.path=g+m}return n.slashes=n.slashes||e.slashes,n.href=n.format(),n}var v=n.pathname&&"/"===n.pathname.charAt(0),y=e.host||e.pathname&&"/"===e.pathname.charAt(0),b=y||v||n.host&&e.pathname,x=b,w=n.pathname&&n.pathname.split("/")||[],d=e.pathname&&e.pathname.split("/")||[],k=n.protocol&&!T[n.protocol];if(k&&(n.hostname="",n.port=null,n.host&&(""===w[0]?w[0]=n.host:w.unshift(n.host)),n.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===d[0]?d[0]=e.host:d.unshift(e.host)),e.host=null),b=b&&(""===d[0]||""===w[0])),y)n.host=e.host||""===e.host?e.host:n.host,n.hostname=e.hostname||""===e.hostname?e.hostname:n.hostname,n.search=e.search,n.query=e.query,w=d;else if(d.length)w||(w=[]),w.pop(),w=w.concat(d),n.search=e.search,n.query=e.query;else if(!l.isNullOrUndefined(e.search)){if(k){n.hostname=n.host=w.shift();var j=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");j&&(n.auth=j.shift(),n.host=n.hostname=j.shift())}return n.search=e.search,n.query=e.query,l.isNull(n.pathname)&&l.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!w.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var E=w.slice(-1)[0],N=(n.host||e.host||w.length>1)&&("."===E||".."===E)||""===E,S=0,A=w.length;A>=0;A--)E=w[A],"."===E?w.splice(A,1):".."===E?(w.splice(A,1),S++):S&&(w.splice(A,1),S--);if(!b&&!x)for(;S--;S)w.unshift("..");!b||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),N&&"/"!==w.join("/").substr(-1)&&w.push("");var q=""===w[0]||w[0]&&"/"===w[0].charAt(0);if(k){n.hostname=n.host=q?"":w.length?w.shift():"";var j=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");j&&(n.auth=j.shift(),n.host=n.hostname=j.shift())}return b=b||n.host&&w.length,b&&!q&&w.unshift(""),w.length?n.pathname=w.join("/"):(n.pathname=null,n.path=null),l.isNull(n.pathname)&&l.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},r.prototype.parseHost=function(){var e=this.host,t=f.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},{"./util":8,punycode:3,querystring:6}],8:[function(e,t,n){"use strict";t.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},{}],9:[function(e,t,n){function r(e){var t=a(e.currentTarget).parent().find(".dropdown-menu");t.toggleClass("open"),e.stopPropagation(),e.preventDefault()}function o(e){a(".dropdown-menu").removeClass("open")}function i(){a(document).on("click",".toggle-dropdown",r),a(document).on("click",".dropdown-menu",function(e){e.stopPropagation()}),a(document).on("click",o)}var a=e("jquery");t.exports={init:i}},{jquery:1}],10:[function(e,t,n){function r(){s.init(),i.init(),o.init(),a.init(),u.createButton({index:0,icon:"fa fa-align-justify",onClick:function(e){e.preventDefault(),s.toggle()}})}var o=e("./dropdown"),i=e("./keyboard"),a=e("./navigation"),s=e("./sidebar"),u=e("./toolbar"),l=window.gitbook;l.events.on("start",r),l.keyboard=i,l.navigation=a,l.sidebar=s,l.toolbar=u},{"./dropdown":9,"./keyboard":11,"./navigation":13,"./sidebar":15,"./toolbar":16}],11:[function(e,t,n){function r(e,t){i.bind(e,function(e){return t(),!1})}function o(){r(["right"],function(e){a.goNext()}),r(["left"],function(e){a.goPrev()}),r(["s"],function(e){s.toggle()})}var i=e("mousetrap"),a=e("./navigation"),s=e("./sidebar");t.exports={init:o,bind:r}},{"./navigation":13,"./sidebar":15,mousetrap:2}],12:[function(e,t,n){function r(e){return o.state.$book.addClass("is-loading"),e.always(function(){o.state.$book.removeClass("is-loading")}),e}var o=window.gitbook;t.exports={show:r}},{}],13:[function(e,t,n){function r(){return w(k.isSmallScreen()?".book-body":".body-inner")}function o(e){var t=r(),n=0;i(e)&&(e&&(n=a(e)),t.unbind("scroll"),t.animate({scrollTop:n},800,"swing",function(){t.scroll(l)}),s(null,e))}function i(e){var t=r(),n=t.find(e);return!!n.length}function a(e){var t=r(),n=t.find(".page-inner"),o=t.find(e),i=o.offsetParent(),a=0;for(a=o.position().top;!i.is(n);)o=i,a+=o.position().top,i=o.offsetParent();return Math.floor(a)}function s(e,t){if(e||t||(e=b.first()),t&&(e=b.length>1?b.filter(function(){var e=u(w(this));return e==t}).first():b.first()),!e.is(x)){x=e,b.removeClass("active"),e.addClass("active"),t=u(e);var n=window.location.pathname+window.location.hash,r=window.location.pathname+t;r!=n&&history.replaceState({path:r},null,r)}}function u(e){var t=e.children("a"),n=t.attr("href").split("#")[1];return n&&(n="#"+n),n?n:""}function l(){var e=r(),t=e.scrollTop(),n=e.prop("scrollHeight"),o=e.prop("clientHeight"),i=b.length,l=null;w(b.get().reverse()).each(function(e){var n,r=u(w(this));r&&!l&&(n=a(r),t>=n&&(l=w(this))),e!=i-1||l||(l=w(this))}),l||t||(l=b.first()),t&&n-t==o&&(l=b.last()),s(l)}function c(e,t){var n=C.parse(N),r=C.resolve(window.location.pathname,e),i=C.parse(r),a=i.hash,s=i.pathname!==n.pathname,u=Boolean(i.hostname);if(!E||u)return void(location.href=e);if(!s)return t&&history.pushState({path:r},null,r),o(a);N=r;var l=w.Deferred(function(e){w.ajax({type:"GET",url:r,cache:!0,headers:{"Access-Control-Expose-Headers":"X-Current-Location"},success:function(n,i,s){var u=s.getResponseHeader("X-Current-Location")||r;n=n.replace(/<(\/?)(html|head|body)([^>]*)>/gi,function(e,t,n,r){return"<"+t+"div"+(t?"":' data-element="'+n+'"')+r+">"});var l,c=w(n),f=c.find(".book");if(0===f.length){var h=new Error("Invalid gitbook page, redirecting...");return e.reject(h)}t&&history.pushState({path:u},null,u),c=w(n),l=c.find("[data-element=head]"),f=c.find(".book"),document.title=l.find("title").text();var d=w("head");d.find("link[rel=prev]").remove(),d.find("link[rel=next]").remove(),d.append(l.find("link[rel=prev]")),d.append(l.find("link[rel=next]"));var g=w(".book").attr("class"),m=w(".book-summary").scrollTop();f.toggleClass("with-summary",w(".book").hasClass("with-summary")),w(".book").replaceWith(f),w(".book").attr("class",g),w(".book-summary").scrollTop(m),j.state.$book=w(".book"),p(!a),a&&o(a),e.resolve()}})}).promise();return T.show(l.fail(function(e){console.log(e)}))}function f(){var e,t;e=parseInt(w(".body-inner").css("width"),10),t=parseInt(w(".page-wrapper").css("width"),10),w(".navigation-next").css("margin-right",e-t+"px");var n=r();n.unbind("scroll"),n.scroll(l)}function p(e){var t=w(".book-body"),n=t.find(".body-inner"),o=n.find(".page-wrapper");f(),o.focus();var i=r();e!==!1&&i.scrollTop(0),b=w(".book-summary .summary .chapter").filter(function(){var e=w(this).children("a"),t=null;if(!e.length)return!1;t=e.attr("href").split("#")[0];var n=C.resolve(window.location.pathname,t);return window.location.pathname==n}),b.length>1?i.scroll(l):x=b.first()}function h(e){return 0===e.button}function d(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function g(e){var t=w(this),n=t.attr("target");if(!d(e)&&h(e)&&!n){e.stopPropagation(),e.preventDefault();var r=t.attr("href");r&&c(r,!0)}}function m(){var e=w(".navigation-next").attr("href");e&&c(e,!0)}function v(){var e=w(".navigation-prev").attr("href");e&&c(e,!0)}function y(){w.ajaxSetup({cache:!1}),history.replaceState({path:window.location.href},""),window.onpopstate=function(e){if(null!==e.state)return c(e.state.path,!1)},w(document).on("click",".navigation-prev",g),w(document).on("click",".navigation-next",g),w(document).on("click",".summary [data-path] a",g),w(document).on("click",".page-inner a",g),w(window).resize(f),p(!1)}var b,x,w=e("jquery"),C=e("url"),T=e("./loading"),k=e("./platform"),j=window.gitbook,E="undefined"!=typeof history.pushState,N=location.href;t.exports={init:y,goNext:m,goPrev:v}},{"./loading":12,"./platform":14,jquery:1,url:7}],14:[function(e,t,n){var r=e("jquery");t.exports={isMobile:function(){return r(document).width()<=600},isSmallScreen:function(){return r(document).width()<=1240}}},{jquery:1}],15:[function(e,t,n){function r(e,t){null!=l.state&&o()==e||(null==t&&(t=!0),l.state.$book.toggleClass("without-animation",!t),l.state.$book.toggleClass("with-summary",e),l.storage.set("sidebar",o()))}function o(){return l.state.$book.hasClass("with-summary")}function i(){u.isMobile()||r(l.storage.get("sidebar",!0),!1),s(document).on("click",".book-summary li.chapter a",function(e){u.isMobile()&&r(!1,!1)})}function a(e){var t=s(".book-summary");t.find("li").each(function(){var t=s(this).data("path"),n=null==e||e.indexOf(t)!==-1;s(this).toggle(n),n&&s(this).parents("li").show()})}var s=e("jquery"),u=e("./platform"),l=window.gitbook;t.exports={init:i,isOpen:o,toggle:r,filter:a}},{"./platform":14,jquery:1}],16:[function(e,t,n){function r(){return"btn-"+g++}function o(e,t,n,r){var o=e.children(t).length;n<0&&(n=Math.max(0,o+1+n)),e.append(r),n<o&&e.children(t).eq(n).before(e.children(t).last())}function i(e){e.preventDefault()}function a(e){var t=p("<div>",{class:"dropdown-menu",html:'<div class="dropdown-caret"><span class="caret-outer"></span><span class="caret-inner"></span></div>'});if("string"==typeof e)t.append(e);else{var n=e.map(function(e){return p.isArray(e)?e:[e]});n.forEach(function(e){var n=p("<div>",{class:"buttons"}),r="size-"+e.length;e.forEach(function(e){e=p.extend({text:"",className:"",onClick:i},e||{});var t=p("<button>",{class:"button "+r+" "+e.className,text:e.text});t.click(e.onClick),n.append(t)}),t.append(n)})}return t}function s(e){return e=p.extend({label:"",icon:"",text:"",position:"left",className:"",onClick:i,dropdown:null,index:null,id:r()},e||{}),d.push(e),u(e),e.id}function u(e){var t,n=p(".book-header"),r=n.find("h1"),i="pull-"+e.position,s=p("<a>",{class:"btn",text:e.text?" "+e.text:"","aria-label":e.label,href:"#"});if(s.click(e.onClick),e.icon&&p("<i>",{class:e.icon}).prependTo(s),e.dropdown){var u=p("<div>",{class:"dropdown "+i+" "+e.className});s.addClass("toggle-dropdown"),u.append(s);var l=a(e.dropdown);l.addClass("dropdown-"+("right"==e.position?"left":"right")),u.append(l),t=u}else s.addClass(i),s.addClass(e.className),t=s;t.addClass("js-toolbar-action"),p.isNumeric(e.index)&&e.index>=0?o(n,".btn, .dropdown, h1",e.index,t):t.insertBefore(r)}function l(){p(".js-toolbar-action").remove(),d.forEach(u)}function c(e){d=p.grep(d,function(t){return t.id!=e}),l()}function f(e){d=p.grep(d,function(t){return e.indexOf(t.id)==-1}),l()}var p=e("jquery"),h=window.gitbook,d=[],g=0;h.events.on("page.change",function(){l()}),t.exports={createButton:s,removeButton:c,removeButtons:f}},{jquery:1}]},{},[10]);
diff --git a/admin-guide/index.html b/admin-guide/index.html
deleted file mode 100644
index 89c62cd..0000000
--- a/admin-guide/index.html
+++ /dev/null
@@ -1,370 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>Introduction · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter active" data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 安装手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="install-mannual/示例提供者安装.html">
-            
-                <a href="install-mannual/示例提供者安装.html">
-            
-                    
-                    1.1 示例提供者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="install-mannual/示例消费者安装.html">
-            
-                <a href="install-mannual/示例消费者安装.html">
-            
-                    
-                    1.2 示例消费者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="install-mannual/Zookeeper注册中心安装.html">
-            
-                <a href="install-mannual/Zookeeper注册中心安装.html">
-            
-                    
-                    1.3 Zookeeper注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="install-mannual/Redis注册中心安装.html">
-            
-                <a href="install-mannual/Redis注册中心安装.html">
-            
-                    
-                    1.4 Redis注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.5" data-path="install-mannual/简单注册中心安装.html">
-            
-                <a href="install-mannual/简单注册中心安装.html">
-            
-                    
-                    1.5 Simple注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.6" data-path="install-mannual/简单注册中心安装.html">
-            
-                <a href="install-mannual/简单注册中心安装.html">
-            
-                    
-                    1.6 Simple监控中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.7" data-path="install-mannual/管理控制台安装.html">
-            
-                <a href="install-mannual/管理控制台安装.html">
-            
-                    
-                    1.7 管理控制台安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 运维手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="ops-mannual/管理控制台运维.html">
-            
-                <a href="ops-mannual/管理控制台运维.html">
-            
-                    
-                    2.1 管理控制台运维
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >Introduction</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="sources/images/check.gif" alt="check">&#x63A8;&#x8350;&#x4F7F;&#x7528;Zookeeper&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;</p>
-</blockquote>
-<ul>
-<li>&#x4F60;&#x53EF;&#x4EE5;&#x53EA;&#x8FD0;&#x884C;<code>Demo Provider</code>&#x548C;<code>Demo Consumer</code>&#xFF0C;&#x5B83;&#x4EEC;&#x7F3A;&#x7701;&#x914D;&#x7F6E;&#x4E3A;&#x901A;&#x8FC7;Multicast&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5E7F;&#x64AD;&#x4E92;&#x76F8;&#x53D1;&#x73B0;&#xFF0C;&#x5EFA;&#x8BAE;&#x5728;&#x4E0D;&#x540C;&#x673A;&#x5668;&#x4E0A;&#x8FD0;&#x884C;&#xFF0C;&#x5982;&#x679C;&#x5728;&#x540C;&#x4E00;&#x673A;&#x5668;&#x4E0A;&#xFF0C;&#x9700;&#x8BBE;&#x7F6E;<code>unicast=false</code>&#xFF1A;&#x5373;&#xFF1A;<code>multicast://224.5.6.7:1234?unicast=false</code>&#xFF0C;&#x5426;&#x5219;&#x53D1;&#x7ED9;&#x6D88;&#x8D39;&#x8005;&#x7684;&#x5355;&#x64AD;&#x6D88;&#x606F;&#x53EF;&#x80FD;&#x88AB;&#x63D0;&#x4F9B;&#x8005;&#x62A2;&#x5360;&#xFF0C;&#x4E24;&#x4E2A;&#x6D88;&#x8D39;&#x8005;&#x5728;&#x540C;&#x4E00;&#x53F0;&#x673A;&#x5668;&#x4E5F;&#x4E00;&#x6837;&#xFF0C;&#x53EA;&#x6709;multicast&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6709;&#x6B64;&#x95EE;&#x9898;&#x3002;</li>
-<li>&#x4F60;&#x4E5F;&#x53EF;&#x4EE5;&#x8FD0;&#x884C;&#x591A;&#x4E2A;<code>Demo Provider</code>&#x548C;<code>Demo Consumer</code>&#xFF0C;&#x6765;&#x9A8C;&#x8BC1;&#x8F6F;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#xFF0C;Demo Consumer&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x542F;&#x52A8;&#x591A;&#x4E2A;&#x5B9E;&#x4F8B;&#xFF0C;&#x800C;&#x591A;&#x4E2A;Demo Provider&#x56E0;&#x6709;&#x7AEF;&#x53E3;&#x51B2;&#x7A81;&#xFF0C;&#x53EF;&#x5728;&#x4E0D;&#x540C;&#x673A;&#x5668;&#x4E0A;&#x8FD0;&#x884C;&#xFF0C;&#x6216;&#x8005;&#x4FEE;&#x6539;Demo Provider&#x5B89;&#x88C5;&#x76EE;&#x5F55;&#x4E0B;conf/dubbo.properties&#x914D;&#x7F6E;&#x4E2D;&#x7684;dubbo.protocol.port&#x7684;&#x503C;&#x3002;</li>
-<li>&#x4F60;&#x4E5F;&#x53EF;&#x4EE5;&#x589E;&#x52A0;&#x8FD0;&#x884C;<code>Simple Monitor</code>&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#xFF0C;&#x5B83;&#x7F3A;&#x7701;&#x914D;&#x7F6E;&#x4E3A;&#x901A;&#x8FC7;Multicast&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5E7F;&#x64AD;&#x53D1;&#x73B0;Provider&#x548C;Consumer&#xFF0C;&#x5E76;&#x5C55;&#x793A;&#x51FA;&#x5B83;&#x4EEC;&#x7684;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#xFF0C;&#x4EE5;&#x53CA;&#x5B83;&#x4EEC;&#x4E4B;&#x95F4;&#x8C03;&#x7528;&#x7684;&#x6B21;&#x6570;&#x548C;&#x65F6;&#x95F4;&#x3002;</li>
-<li><p>&#x4F60;&#x4E5F;&#x53EF;&#x4EE5;&#x5C06;Multicast&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6362;&#x6210;Zookeeper&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x5B89;&#x88C5;<code>Zookeeper Registry</code>&#x540E;&#xFF0C;&#x4FEE;&#x6539;Demo Proivder&#xFF0C;Demo Consumer&#xFF0C;Simple Monitor&#x4E09;&#x8005;&#x5B89;&#x88C5;&#x76EE;&#x5F55;&#x4E0B;&#x7684;conf/dubbo.properties&#xFF0C;&#x5C06;dubbo.registry.address&#x7684;&#x503C;&#x6539;&#x4E3A;<code>zookeeper://127.0.0.1:2181</code>&#xFF0C;&#x540C;&#x7406;&#xFF0C;&#x5982;&#x679C;&#x6362;&#x6210;<code>Redis Registry</code>&#xFF0C;&#x503C;&#x6539;&#x4E3A;<code>redis://127.0.0.1:6379</code>&#xFF0C;&#x5982;&#x679C;&#x6362;&#x6210;<code>Simple Registry</code>&#xFF0C;&#x503C;&#x6539;&#x4E3A;<code>dubbo://127.0.0.1:9090</code></p>
-<p>  <strong>&#x6CE8;&#x610F;&#xFF1A;multicast&#x5730;&#x5740;&#x4E0D;&#x80FD;&#x914D;&#x6210;127.0.0.1&#xFF0C;&#x4E5F;&#x4E0D;&#x80FD;&#x914D;&#x6210;&#x673A;&#x5668;&#x7684;IP&#x5730;&#x5740;&#xFF0C;&#x5FC5;&#x987B;&#x662F;D&#x6BB5;&#x5E7F;&#x64AD;&#x5730;&#x5740;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#xFF1A;224.0.0.0&#x5230;239.255.255.255&#x4E4B;&#x95F4;&#x7684;&#x4EFB;&#x610F;&#x5730;&#x5740;</strong></p>
-</li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"1 安装手册","level":"1.2","depth":1,"ref":"","articles":[{"title":"1.1 示例提供者安装","level":"1.2.1","depth":2,"path":"install-mannual/示例提供者安装.md","ref":"install-mannual/示例提供者安装.md","articles":[]},{"title":"1.2 示例消费者安装","level":"1.2.2","depth":2,"path":"install-mannual/示例消费者安装.md","ref":"install-mannual/示例消费者安装.md","articles":[]},{"title":"1.3 Zookeeper注册中心安装","level":"1.2.3","depth":2,"path":"install-mannual/Zookeeper注册中心安装.md","ref":"install-mannual/Zookeeper注册中心安装.md","articles":[]},{"title":"1.4 Redis注册中心安装","level":"1.2.4","depth":2,"path":"install-mannual/Redis注册中心安装.md","ref":"install-mannual/Redis注册中心安装.md","articles":[]},{"title":"1.5 Simple注册中心安装","level":"1.2.5","depth":2,"path":"install-mannual/简单注册中心安装.md","ref":"install-mannual/简单注册中心安装.md","articles":[]},{"title":"1.6 Simple监控中心安装","level":"1.2.6","depth":2,"path":"install-mannual/简单注册中心安装.md","ref":"install-mannual/简单注册中心安装.md","articles":[]},{"title":"1.7 管理控制台安装","level":"1.2.7","depth":2,"path":"install-mannual/管理控制台安装.md","ref":"install-mannual/管理控制台安装.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"README.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:54.378Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/admin-guide/install-mannual/Redis\346\263\250\345\206\214\344\270\255\345\277\203\345\256\211\350\243\205.html" "b/admin-guide/install-mannual/Redis\346\263\250\345\206\214\344\270\255\345\277\203\345\256\211\350\243\205.html"
deleted file mode 100644
index 3f105c4..0000000
--- "a/admin-guide/install-mannual/Redis\346\263\250\345\206\214\344\270\255\345\277\203\345\256\211\350\243\205.html"
+++ /dev/null
@@ -1,411 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>1.4 Redis注册中心安装 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="简单注册中心安装.html" />
-    
-    
-    <link rel="prev" href="Zookeeper注册中心安装.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 安装手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="示例提供者安装.html">
-            
-                <a href="示例提供者安装.html">
-            
-                    
-                    1.1 示例提供者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="示例消费者安装.html">
-            
-                <a href="示例消费者安装.html">
-            
-                    
-                    1.2 示例消费者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="Zookeeper注册中心安装.html">
-            
-                <a href="Zookeeper注册中心安装.html">
-            
-                    
-                    1.3 Zookeeper注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.2.4" data-path="Redis注册中心安装.html">
-            
-                <a href="Redis注册中心安装.html">
-            
-                    
-                    1.4 Redis注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.5" data-path="简单注册中心安装.html">
-            
-                <a href="简单注册中心安装.html">
-            
-                    
-                    1.5 Simple注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.6" data-path="简单注册中心安装.html">
-            
-                <a href="简单注册中心安装.html">
-            
-                    
-                    1.6 Simple监控中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.7" data-path="管理控制台安装.html">
-            
-                <a href="管理控制台安装.html">
-            
-                    
-                    1.7 管理控制台安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 运维手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../ops-mannual/管理控制台运维.html">
-            
-                <a href="../ops-mannual/管理控制台运维.html">
-            
-                    
-                    2.1 管理控制台运维
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >1.4 Redis注册中心安装</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">Redis&#x8BF4;&#x660E;<br>Redis&#x662F;&#x4E00;&#x4E2A;&#x9AD8;&#x6548;&#x7684;KV&#x5B58;&#x50A8;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x53C2;&#x89C1;&#xFF1A;<a href="http://redis.io" target="_blank">http://redis.io</a></p>
-<p><img src="../sources/images/check.gif" alt="warning">Redis&#x4F7F;&#x7528;<br>&#x4F7F;&#x7528;&#x65B9;&#x5F0F;&#x53C2;&#x89C1;: <a href="http://dubbo.io/User+Guide-zh.htm#UserGuide-zh-RedisRegistry" target="_blank">Redis&#x4F7F;&#x7528;&#x624B;&#x518C;</a>&#xFF0C;&#x53EA;&#x9700;&#x642D;&#x4E00;&#x4E2A;&#x539F;&#x751F;&#x7684;Redis&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x5E76;&#x5C06;<a href="user-guide-quick-start">Quick Start</a>&#x4E2D;Provider&#x548C;Consumer&#x91CC;&#x7684;conf/dubbo.properties&#x4E2D;&#x7684;dubbo.registry.addrss&#x7684;&#x503C;&#x6539;&#x4E3A;<code>redis://127.0.0.1:6379</code>&#x5373;&#x53EF;&#x4F7F;&#x7528;</p>
-<p><img src="../sources/images/check.gif" alt="warning">Redis&#x96C6;&#x7FA4;<br>Redis&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x96C6;&#x7FA4;&#x91C7;&#x7528;&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x540C;&#x65F6;&#x5199;&#x5165;&#x591A;&#x4E2A;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x8BFB;&#x53D6;&#x5355;&#x4E2A;&#x670D;&#x52A1;&#x5668;&#x7684;&#x7B56;&#x7565;&#x5B9E;&#x73B0;&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">2.1.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</p>
-</blockquote>
-<p>&#x53C2;&#x89C1;&#xFF1A;<a href="http://redis.io/topics/quickstart" target="_blank">http://redis.io/topics/quickstart</a></p>
-<ul>
-<li>&#x5B89;&#x88C5;:</li>
-</ul>
-<pre><code class="lang-shell">wget http://redis.googlecode.com/files/redis-2.4.8.tar.gz
-tar xzf redis-2.4.8.tar.gz
-cd redis-2.4.8
-make
-</code></pre>
-<ul>
-<li>&#x914D;&#x7F6E;:</li>
-</ul>
-<pre><code class="lang-shell">vi redis.conf
-</code></pre>
-<ul>
-<li>&#x542F;&#x52A8;:</li>
-</ul>
-<pre><code class="lang-shell">nohup ./src/redis-server redis.conf &amp;
-</code></pre>
-<ul>
-<li>&#x505C;&#x6B62;:</li>
-</ul>
-<pre><code class="lang-shell">killall redis-server
-</code></pre>
-<ul>
-<li>&#x547D;&#x4EE4;&#x884C;: (&#x53C2;&#x89C1;: <a href="http://redis.io/commands" target="_blank">http://redis.io/commands</a>)</li>
-</ul>
-<pre><code class="lang-shell">./src/redis-cli
-hgetall /dubbo/com.foo.BarService/providers
-</code></pre>
-<p>&#x6216;&#x8005;&#xFF1A;</p>
-<pre><code class="lang-shell">telnet 127.0.0.1 6379
-hgetall /dubbo/com.foo.BarService/providers
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="Zookeeper注册中心安装.html" class="navigation navigation-prev " aria-label="Previous page: 1.3 Zookeeper注册中心安装">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="简单注册中心安装.html" class="navigation navigation-next " aria-label="Next page: 1.5 Simple注册中心安装">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.4 Redis注册中心安装","level":"1.2.4","depth":2,"next":{"title":"1.5 Simple注册中心安装","level":"1.2.5","depth":2,"path":"install-mannual/简单注册中心安装.md","ref":"install-mannual/简单注册中心安装.md","articles":[]},"previous":{"title":"1.3 Zookeeper注册中心安装","level":"1.2.3","depth":2,"path":"install-mannual/Zookeeper注册中心安装.md","ref":"install-mannual/Zookeeper注册中心安装.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"install-mannual/Redis注册中心安装.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:54.378Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/admin-guide/install-mannual/Zookeeper\346\263\250\345\206\214\344\270\255\345\277\203\345\256\211\350\243\205.html" "b/admin-guide/install-mannual/Zookeeper\346\263\250\345\206\214\344\270\255\345\277\203\345\256\211\350\243\205.html"
deleted file mode 100644
index 0d2875b..0000000
--- "a/admin-guide/install-mannual/Zookeeper\346\263\250\345\206\214\344\270\255\345\277\203\345\256\211\350\243\205.html"
+++ /dev/null
@@ -1,445 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>1.3 Zookeeper注册中心安装 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="Redis注册中心安装.html" />
-    
-    
-    <link rel="prev" href="示例消费者安装.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 安装手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="示例提供者安装.html">
-            
-                <a href="示例提供者安装.html">
-            
-                    
-                    1.1 示例提供者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="示例消费者安装.html">
-            
-                <a href="示例消费者安装.html">
-            
-                    
-                    1.2 示例消费者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.2.3" data-path="Zookeeper注册中心安装.html">
-            
-                <a href="Zookeeper注册中心安装.html">
-            
-                    
-                    1.3 Zookeeper注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="Redis注册中心安装.html">
-            
-                <a href="Redis注册中心安装.html">
-            
-                    
-                    1.4 Redis注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.5" data-path="简单注册中心安装.html">
-            
-                <a href="简单注册中心安装.html">
-            
-                    
-                    1.5 Simple注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.6" data-path="简单注册中心安装.html">
-            
-                <a href="简单注册中心安装.html">
-            
-                    
-                    1.6 Simple监控中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.7" data-path="管理控制台安装.html">
-            
-                <a href="管理控制台安装.html">
-            
-                    
-                    1.7 管理控制台安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 运维手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../ops-mannual/管理控制台运维.html">
-            
-                <a href="../ops-mannual/管理控制台运维.html">
-            
-                    
-                    2.1 管理控制台运维
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >1.3 Zookeeper注册中心安装</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x5EFA;&#x8BAE;&#x4F7F;&#x7528;dubbo-2.3.3&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x7684;zookeeper&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5BA2;&#x6237;&#x7AEF;</p>
-<p><img src="../sources/images/check.gif" alt="warning">Zookeeper&#x662F;Apache Hadoop&#x7684;&#x5B50;&#x9879;&#x76EE;&#xFF0C;&#x5F3A;&#x5EA6;&#x76F8;&#x5BF9;&#x8F83;&#x597D;&#xFF0C;&#x5EFA;&#x8BAE;&#x751F;&#x4EA7;&#x73AF;&#x5883;&#x4F7F;&#x7528;&#x8BE5;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x3002;</p>
-<p><img src="../sources/images/check.gif" alt="warning">Dubbo&#x672A;&#x5BF9;Zookeeper&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x505A;&#x4EFB;&#x4F55;&#x4FB5;&#x5165;&#x4FEE;&#x6539;&#xFF0C;&#x53EA;&#x9700;&#x5B89;&#x88C5;&#x539F;&#x751F;&#x7684;Zookeeper&#x670D;&#x52A1;&#x5668;&#x5373;&#x53EF;&#xFF0C;&#x6240;&#x6709;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x903B;&#x8F91;&#x9002;&#x914D;&#x90FD;&#x5728;&#x8C03;&#x7528;Zookeeper&#x5BA2;&#x6237;&#x7AEF;&#x65F6;&#x5B8C;&#x6210;&#x3002;</p>
-<p><img src="../sources/images/check.gif" alt="warning">&#x5982;&#x679C;&#x9700;&#x8981;&#xFF0C;&#x53EF;&#x4EE5;&#x8003;&#x8651;&#x4F7F;&#x7528;taobao&#x7684;zookeeper&#x76D1;&#x63A7;&#xFF1A;<a href="http://rdc.taobao.com/team/jm/archives/1450" target="_blank">http://rdc.taobao.com/team/jm/archives/1450</a></p>
-</blockquote>
-<ul>
-<li>&#x5B89;&#x88C5;:</li>
-</ul>
-<pre><code class="lang-shell">wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz
-tar zxvf zookeeper-3.3.3.tar.gz
-cd zookeeper-3.3.3
-cp conf/zoo_sample.cfg conf/zoo.cfg
-</code></pre>
-<ul>
-<li>&#x914D;&#x7F6E;:</li>
-</ul>
-<pre><code class="lang-shell">vi conf/zoo.cfg
-</code></pre>
-<p>&#x5982;&#x679C;&#x4E0D;&#x9700;&#x8981;&#x96C6;&#x7FA4;&#xFF0C;zoo.cfg&#x7684;&#x5185;&#x5BB9;&#x5982;&#x4E0B;&#xFF1A;(&#x5176;&#x4E2D;data&#x76EE;&#x5F55;&#x9700;&#x6539;&#x6210;&#x4F60;&#x771F;&#x5B9E;&#x8F93;&#x51FA;&#x76EE;&#x5F55;)</p>
-<blockquote>
-<p>zoo.cfg</p>
-</blockquote>
-<pre><code>tickTime=2000
-initLimit=10
-syncLimit=5
-dataDir=/home/dubbo/zookeeper-3.3.3/data
-clientPort=2181
-</code></pre><p>&#x5982;&#x679C;&#x9700;&#x8981;&#x96C6;&#x7FA4;&#xFF0C;zoo.cfg&#x7684;&#x5185;&#x5BB9;&#x5982;&#x4E0B;&#xFF1A;(&#x5176;&#x4E2D;data&#x76EE;&#x5F55;&#x548C;server&#x5730;&#x5740;&#x9700;&#x6539;&#x6210;&#x4F60;&#x771F;&#x5B9E;&#x90E8;&#x7F72;&#x673A;&#x5668;&#x7684;&#x4FE1;&#x606F;)</p>
-<blockquote>
-<p>zoo.cfg</p>
-</blockquote>
-<pre><code>tickTime=2000
-initLimit=10
-syncLimit=5
-dataDir=/home/dubbo/zookeeper-3.3.3/data
-clientPort=2181
-server.1=10.20.153.10:2555:3555
-server.2=10.20.153.11:2555:3555
-</code></pre><p>&#x5E76;&#x5728;data&#x76EE;&#x5F55;&#x4E0B;&#x653E;&#x7F6E;myid&#x6587;&#x4EF6;&#xFF1A;(&#x4E0A;&#x9762;zoo.cfg&#x4E2D;&#x7684;dataDir)</p>
-<pre><code class="lang-shell">mkdir data
-vi myid
-</code></pre>
-<p>myid&#x6307;&#x660E;&#x81EA;&#x5DF1;&#x7684;id&#xFF0C;&#x5BF9;&#x5E94;&#x4E0A;&#x9762;zoo.cfg&#x4E2D;server.&#x540E;&#x7684;&#x6570;&#x5B57;&#xFF0C;&#x7B2C;&#x4E00;&#x53F0;&#x7684;&#x5185;&#x5BB9;&#x4E3A;1&#xFF0C;&#x7B2C;&#x4E8C;&#x53F0;&#x7684;&#x5185;&#x5BB9;&#x4E3A;2&#xFF0C;&#x5185;&#x5BB9;&#x5982;&#x4E0B;&#xFF1A;</p>
-<blockquote>
-<p>myid</p>
-</blockquote>
-<pre><code>1
-</code></pre><ul>
-<li>&#x542F;&#x52A8;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/zkServer.sh start
-</code></pre>
-<ul>
-<li>&#x505C;&#x6B62;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/zkServer.sh stop
-</code></pre>
-<ul>
-<li>&#x547D;&#x4EE4;&#x884C;: (See: <a href="http://zookeeper.apache.org/doc/r3.3.3/zookeeperAdmin.html" target="_blank">http://zookeeper.apache.org/doc/r3.3.3/zookeeperAdmin.html</a>)</li>
-</ul>
-<pre><code class="lang-shell">telnet 127.0.0.1 2181
-dump
-</code></pre>
-<p>Or:</p>
-<pre><code class="lang-shell">echo dump | nc 127.0.0.1 2181
-</code></pre>
-<ul>
-<li>&#x7528;&#x6CD5;:</li>
-</ul>
-<pre><code>dubbo.registry.address=zookeeper://10.20.153.10:2181?backup=10.20.153.11:2181
-</code></pre><p>Or:</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;zookeeper&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.153.10:2181,10.20.153.11:2181&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="示例消费者安装.html" class="navigation navigation-prev " aria-label="Previous page: 1.2 示例消费者安装">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="Redis注册中心安装.html" class="navigation navigation-next " aria-label="Next page: 1.4 Redis注册中心安装">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.3 Zookeeper注册中心安装","level":"1.2.3","depth":2,"next":{"title":"1.4 Redis注册中心安装","level":"1.2.4","depth":2,"path":"install-mannual/Redis注册中心安装.md","ref":"install-mannual/Redis注册中心安装.md","articles":[]},"previous":{"title":"1.2 示例消费者安装","level":"1.2.2","depth":2,"path":"install-mannual/示例消费者安装.md","ref":"install-mannual/示例消费者安装.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"install-mannual/Zookeeper注册中心安装.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:54.378Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/admin-guide/install-mannual/\347\244\272\344\276\213\346\217\220\344\276\233\350\200\205\345\256\211\350\243\205.html" "b/admin-guide/install-mannual/\347\244\272\344\276\213\346\217\220\344\276\233\350\200\205\345\256\211\350\243\205.html"
deleted file mode 100644
index ad7c0ca..0000000
--- "a/admin-guide/install-mannual/\347\244\272\344\276\213\346\217\220\344\276\233\350\200\205\345\256\211\350\243\205.html"
+++ /dev/null
@@ -1,425 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>1.1 示例提供者安装 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="示例消费者安装.html" />
-    
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 安装手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter active" data-level="1.2.1" data-path="示例提供者安装.html">
-            
-                <a href="示例提供者安装.html">
-            
-                    
-                    1.1 示例提供者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="示例消费者安装.html">
-            
-                <a href="示例消费者安装.html">
-            
-                    
-                    1.2 示例消费者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="Zookeeper注册中心安装.html">
-            
-                <a href="Zookeeper注册中心安装.html">
-            
-                    
-                    1.3 Zookeeper注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="Redis注册中心安装.html">
-            
-                <a href="Redis注册中心安装.html">
-            
-                    
-                    1.4 Redis注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.5" data-path="简单注册中心安装.html">
-            
-                <a href="简单注册中心安装.html">
-            
-                    
-                    1.5 Simple注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.6" data-path="简单注册中心安装.html">
-            
-                <a href="简单注册中心安装.html">
-            
-                    
-                    1.6 Simple监控中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.7" data-path="管理控制台安装.html">
-            
-                <a href="管理控制台安装.html">
-            
-                    
-                    1.7 管理控制台安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 运维手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../ops-mannual/管理控制台运维.html">
-            
-                <a href="../ops-mannual/管理控制台运维.html">
-            
-                    
-                    2.1 管理控制台运维
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >1.1 示例提供者安装</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <ul>
-<li>&#x5B89;&#x88C5;:</li>
-</ul>
-<pre><code class="lang-shell">wget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-demo-provider/2.4.1/dubbo-demo-provider-2.4.1-assembly.tar.gz
-tar zxvf dubbo-demo-provider-2.4.1-assembly.tar.gz
-cd dubbo-demo-provider-2.4.1
-</code></pre>
-<ul>
-<li>&#x914D;&#x7F6E;:</li>
-</ul>
-<pre><code class="lang-shell">vi conf/dubbo.properties
-</code></pre>
-<ul>
-<li>&#x542F;&#x52A8;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/start.sh
-</code></pre>
-<ul>
-<li>&#x505C;&#x6B62;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/stop.sh
-</code></pre>
-<ul>
-<li>&#x91CD;&#x542F;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/restart.sh
-</code></pre>
-<ul>
-<li>&#x8C03;&#x8BD5;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/start.sh debug
-</code></pre>
-<ul>
-<li>&#x7CFB;&#x7EDF;&#x72B6;&#x6001;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/dump.sh
-</code></pre>
-<ul>
-<li>&#x603B;&#x63A7;&#x5165;&#x53E3;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/server.sh start
-./bin/server.sh stop
-./bin/server.sh restart
-./bin/server.sh debug
-./bin/server.sh dump
-</code></pre>
-<ul>
-<li>&#x6807;&#x51C6;&#x8F93;&#x51FA;:</li>
-</ul>
-<pre><code class="lang-shell">tail -f logs/stdout.log
-</code></pre>
-<ul>
-<li>&#x547D;&#x4EE4;&#x884C;: (See: <a href="#">Telnet Command Reference</a>)</li>
-</ul>
-<pre><code class="lang-shell">telnet 127.0.0.1 20880
-help
-</code></pre>
-<p>Or:</p>
-<pre><code class="lang-shell">echo status | nc -i 1 127.0.0.1 20880
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                
-                <a href="示例消费者安装.html" class="navigation navigation-next navigation-unique" aria-label="Next page: 1.2 示例消费者安装">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.1 示例提供者安装","level":"1.2.1","depth":2,"next":{"title":"1.2 示例消费者安装","level":"1.2.2","depth":2,"path":"install-mannual/示例消费者安装.md","ref":"install-mannual/示例消费者安装.md","articles":[]},"previous":{"title":"1 安装手册","level":"1.2","depth":1,"ref":"","articles":[{"title":"1.1 示例提供者安装","level":"1.2.1","depth":2,"path":"install-mannual/示例提供者安装.md","ref":"install-mannual/示例提供者安装.md","articles":[]},{"title":"1.2 示例消费者安装","level":"1.2.2","depth":2,"path":"install-mannual/示例消费者安装.md","ref":"install-mannual/示例消费者安装.md","articles":[]},{"title":"1.3 Zookeeper注册中心安装","level":"1.2.3","depth":2,"path":"install-mannual/Zookeeper注册中心安装.md","ref":"install-mannual/Zookeeper注册中心安装.md","articles":[]},{"title":"1.4 Redis注册中心安装","level":"1.2.4","depth":2,"path":"install-mannual/Redis注册中心安装.md","ref":"install-mannual/Redis注册中心安装.md","articles":[]},{"title":"1.5 Simple注册中心安装","level":"1.2.5","depth":2,"path":"install-mannual/简单注册中心安装.md","ref":"install-mannual/简单注册中心安装.md","articles":[]},{"title":"1.6 Simple监控中心安装","level":"1.2.6","depth":2,"path":"install-mannual/简单注册中心安装.md","ref":"install-mannual/简单注册中心安装.md","articles":[]},{"title":"1.7 管理控制台安装","level":"1.2.7","depth":2,"path":"install-mannual/管理控制台安装.md","ref":"install-mannual/管理控制台安装.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"install-mannual/示例提供者安装.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:54.378Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/admin-guide/install-mannual/\347\244\272\344\276\213\346\266\210\350\264\271\350\200\205\345\256\211\350\243\205.html" "b/admin-guide/install-mannual/\347\244\272\344\276\213\346\266\210\350\264\271\350\200\205\345\256\211\350\243\205.html"
deleted file mode 100644
index 9ee34b9..0000000
--- "a/admin-guide/install-mannual/\347\244\272\344\276\213\346\266\210\350\264\271\350\200\205\345\256\211\350\243\205.html"
+++ /dev/null
@@ -1,423 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>1.2 示例消费者安装 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="Zookeeper注册中心安装.html" />
-    
-    
-    <link rel="prev" href="示例提供者安装.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 安装手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="示例提供者安装.html">
-            
-                <a href="示例提供者安装.html">
-            
-                    
-                    1.1 示例提供者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.2.2" data-path="示例消费者安装.html">
-            
-                <a href="示例消费者安装.html">
-            
-                    
-                    1.2 示例消费者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="Zookeeper注册中心安装.html">
-            
-                <a href="Zookeeper注册中心安装.html">
-            
-                    
-                    1.3 Zookeeper注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="Redis注册中心安装.html">
-            
-                <a href="Redis注册中心安装.html">
-            
-                    
-                    1.4 Redis注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.5" data-path="简单注册中心安装.html">
-            
-                <a href="简单注册中心安装.html">
-            
-                    
-                    1.5 Simple注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.6" data-path="简单注册中心安装.html">
-            
-                <a href="简单注册中心安装.html">
-            
-                    
-                    1.6 Simple监控中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.7" data-path="管理控制台安装.html">
-            
-                <a href="管理控制台安装.html">
-            
-                    
-                    1.7 管理控制台安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 运维手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../ops-mannual/管理控制台运维.html">
-            
-                <a href="../ops-mannual/管理控制台运维.html">
-            
-                    
-                    2.1 管理控制台运维
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >1.2 示例消费者安装</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <ul>
-<li>&#x5B89;&#x88C5;:</li>
-</ul>
-<pre><code class="lang-shell">wget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-demo-consumer/2.4.1/dubbo-demo-consumer-2.4.1-assembly.tar.gz
-tar zxvf dubbo-demo-consumer-2.4.1-assembly.tar.gz
-cd dubbo-demo-consumer-2.4.1
-</code></pre>
-<ul>
-<li>&#x914D;&#x7F6E;:</li>
-</ul>
-<pre><code class="lang-shell">vi conf/dubbo.properties
-</code></pre>
-<ul>
-<li>&#x542F;&#x52A8;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/start.sh
-tail -f logs/stdout.log
-</code></pre>
-<ul>
-<li>&#x505C;&#x6B62;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/stop.sh
-</code></pre>
-<ul>
-<li>&#x91CD;&#x542F;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/restart.sh
-</code></pre>
-<ul>
-<li>&#x8C03;&#x8BD5;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/start.sh debug
-</code></pre>
-<ul>
-<li>&#x7CFB;&#x7EDF;&#x72B6;&#x6001;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/dump.sh
-</code></pre>
-<ul>
-<li>&#x603B;&#x63A7;&#x5165;&#x53E3;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/server.sh start
-./bin/server.sh stop
-./bin/server.sh restart
-./bin/server.sh debug
-./bin/server.sh dump
-</code></pre>
-<ul>
-<li>&#x6807;&#x51C6;&#x8F93;&#x51FA;:</li>
-</ul>
-<pre><code class="lang-shell">tail -f logs/stdout.log
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="示例提供者安装.html" class="navigation navigation-prev " aria-label="Previous page: 1.1 示例提供者安装">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="Zookeeper注册中心安装.html" class="navigation navigation-next " aria-label="Next page: 1.3 Zookeeper注册中心安装">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.2 示例消费者安装","level":"1.2.2","depth":2,"next":{"title":"1.3 Zookeeper注册中心安装","level":"1.2.3","depth":2,"path":"install-mannual/Zookeeper注册中心安装.md","ref":"install-mannual/Zookeeper注册中心安装.md","articles":[]},"previous":{"title":"1.1 示例提供者安装","level":"1.2.1","depth":2,"path":"install-mannual/示例提供者安装.md","ref":"install-mannual/示例提供者安装.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"install-mannual/示例消费者安装.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:54.378Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/admin-guide/install-mannual/\347\256\200\345\215\225\346\263\250\345\206\214\344\270\255\345\277\203\345\256\211\350\243\205.html" "b/admin-guide/install-mannual/\347\256\200\345\215\225\346\263\250\345\206\214\344\270\255\345\277\203\345\256\211\350\243\205.html"
deleted file mode 100644
index c3ed110..0000000
--- "a/admin-guide/install-mannual/\347\256\200\345\215\225\346\263\250\345\206\214\344\270\255\345\277\203\345\256\211\350\243\205.html"
+++ /dev/null
@@ -1,434 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>1.5 Simple注册中心安装 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="简单注册中心安装.html" />
-    
-    
-    <link rel="prev" href="Redis注册中心安装.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 安装手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="示例提供者安装.html">
-            
-                <a href="示例提供者安装.html">
-            
-                    
-                    1.1 示例提供者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="示例消费者安装.html">
-            
-                <a href="示例消费者安装.html">
-            
-                    
-                    1.2 示例消费者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="Zookeeper注册中心安装.html">
-            
-                <a href="Zookeeper注册中心安装.html">
-            
-                    
-                    1.3 Zookeeper注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="Redis注册中心安装.html">
-            
-                <a href="Redis注册中心安装.html">
-            
-                    
-                    1.4 Redis注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.2.5" data-path="简单注册中心安装.html">
-            
-                <a href="简单注册中心安装.html">
-            
-                    
-                    1.5 Simple注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.2.6" data-path="简单注册中心安装.html">
-            
-                <a href="简单注册中心安装.html">
-            
-                    
-                    1.6 Simple监控中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.7" data-path="管理控制台安装.html">
-            
-                <a href="管理控制台安装.html">
-            
-                    
-                    1.7 管理控制台安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 运维手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../ops-mannual/管理控制台运维.html">
-            
-                <a href="../ops-mannual/管理控制台运维.html">
-            
-                    
-                    2.1 管理控制台运维
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >1.5 Simple注册中心安装</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning">Simple Registry&#x6CA1;&#x6709;&#x7ECF;&#x8FC7;&#x4E25;&#x683C;&#x6D4B;&#x8BD5;&#xFF0C;&#x53EF;&#x80FD;&#x4E0D;&#x5065;&#x72B6;&#xFF0C;&#x5E76;&#x4E14;&#x4E0D;&#x652F;&#x6301;&#x96C6;&#x7FA4;&#xFF0C;&#x4E0D;&#x5EFA;&#x8BAE;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;&#x3002;</p>
-</blockquote>
-<ul>
-<li>&#x5B89;&#x88C5;:</li>
-</ul>
-<pre><code class="lang-shell">wget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-registry-simple/2.4.1/dubbo-registry-simple-2.4.1-assembly.tar.gz
-tar zxvf dubbo-registry-simple-2.4.1-assembly.tar.gz
-cd dubbo-registry-simple-2.4.1
-</code></pre>
-<ul>
-<li>&#x914D;&#x7F6E;:</li>
-</ul>
-<pre><code class="lang-shell">vi conf/dubbo.properties
-</code></pre>
-<ul>
-<li>&#x542F;&#x52A8;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/start.sh
-</code></pre>
-<ul>
-<li>&#x505C;&#x6B62;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/stop.sh
-</code></pre>
-<ul>
-<li>&#x91CD;&#x542F;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/restart.sh
-</code></pre>
-<ul>
-<li>&#x8C03;&#x8BD5;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/start.sh debug
-</code></pre>
-<ul>
-<li>&#x7CFB;&#x7EDF;&#x72B6;&#x6001;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/dump.sh
-</code></pre>
-<ul>
-<li>&#x603B;&#x63A7;&#x5165;&#x53E3;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/server.sh start
-./bin/server.sh stop
-./bin/server.sh restart
-./bin/server.sh debug
-./bin/server.sh dump
-</code></pre>
-<ul>
-<li>&#x6807;&#x51C6;&#x8F93;&#x51FA;:</li>
-</ul>
-<pre><code class="lang-shell">tail -f logs/stdout.log
-</code></pre>
-<ul>
-<li>&#x547D;&#x4EE4;&#x884C;: (See: <a href="user-guide-telnet-cmd-ref">Telnet Command Reference</a>)</li>
-</ul>
-<pre><code class="lang-shell">telnet 127.0.0.1 9090
-help
-</code></pre>
-<p>Or:</p>
-<pre><code class="lang-shell">echo status | nc -i 1 127.0.0.1 9090
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="Redis注册中心安装.html" class="navigation navigation-prev " aria-label="Previous page: 1.4 Redis注册中心安装">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="简单注册中心安装.html" class="navigation navigation-next " aria-label="Next page: 1.6 Simple监控中心安装">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.5 Simple注册中心安装","level":"1.2.5","depth":2,"next":{"title":"1.6 Simple监控中心安装","level":"1.2.6","depth":2,"path":"install-mannual/简单注册中心安装.md","ref":"install-mannual/简单注册中心安装.md","articles":[]},"previous":{"title":"1.4 Redis注册中心安装","level":"1.2.4","depth":2,"path":"install-mannual/Redis注册中心安装.md","ref":"install-mannual/Redis注册中心安装.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"install-mannual/简单注册中心安装.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:54.378Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/admin-guide/install-mannual/\347\256\241\347\220\206\346\216\247\345\210\266\345\217\260\345\256\211\350\243\205.html" "b/admin-guide/install-mannual/\347\256\241\347\220\206\346\216\247\345\210\266\345\217\260\345\256\211\350\243\205.html"
deleted file mode 100644
index 77fb9a9..0000000
--- "a/admin-guide/install-mannual/\347\256\241\347\220\206\346\216\247\345\210\266\345\217\260\345\256\211\350\243\205.html"
+++ /dev/null
@@ -1,401 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>1.7 管理控制台安装 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    
-    <link rel="prev" href="简单注册中心安装.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 安装手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="示例提供者安装.html">
-            
-                <a href="示例提供者安装.html">
-            
-                    
-                    1.1 示例提供者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="示例消费者安装.html">
-            
-                <a href="示例消费者安装.html">
-            
-                    
-                    1.2 示例消费者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="Zookeeper注册中心安装.html">
-            
-                <a href="Zookeeper注册中心安装.html">
-            
-                    
-                    1.3 Zookeeper注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="Redis注册中心安装.html">
-            
-                <a href="Redis注册中心安装.html">
-            
-                    
-                    1.4 Redis注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.5" data-path="简单注册中心安装.html">
-            
-                <a href="简单注册中心安装.html">
-            
-                    
-                    1.5 Simple注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.6" data-path="简单注册中心安装.html">
-            
-                <a href="简单注册中心安装.html">
-            
-                    
-                    1.6 Simple监控中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.2.7" data-path="管理控制台安装.html">
-            
-                <a href="管理控制台安装.html">
-            
-                    
-                    1.7 管理控制台安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 运维手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../ops-mannual/管理控制台运维.html">
-            
-                <a href="../ops-mannual/管理控制台运维.html">
-            
-                    
-                    2.1 管理控制台运维
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >1.7 管理控制台安装</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x7BA1;&#x7406;&#x63A7;&#x5236;&#x53F0;&#x4E3A;&#x5185;&#x90E8;&#x88C1;&#x526A;&#x7248;&#x672C;&#xFF0C;&#x5F00;&#x6E90;&#x90E8;&#x5206;&#x4E3B;&#x8981;&#x5305;&#x542B;&#xFF1A;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#xFF0C;&#x52A8;&#x6001;&#x914D;&#x7F6E;&#xFF0C;&#x670D;&#x52A1;&#x964D;&#x7EA7;&#xFF0C;&#x8BBF;&#x95EE;&#x63A7;&#x5236;&#xFF0C;&#x6743;&#x91CD;&#x8C03;&#x6574;&#xFF0C;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#xFF0C;&#x7B49;&#x7BA1;&#x7406;&#x529F;&#x80FD;&#x3002;</p>
-</blockquote>
-<ul>
-<li>&#x5B89;&#x88C5;:</li>
-</ul>
-<pre><code class="lang-shell">wget http://apache.etoak.com/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz
-tar zxvf apache-tomcat-6.0.35.tar.gz
-cd apache-tomcat-6.0.35
-rm -rf webapps/ROOT
-wget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-admin/2.4.1/dubbo-admin-2.4.1.war
-unzip dubbo-admin-2.4.1.war -d webapps/ROOT
-</code></pre>
-<ul>
-<li>&#x914D;&#x7F6E;: (&#x6216;&#x5C06;dubbo.properties&#x653E;&#x5728;&#x5F53;&#x524D;&#x7528;&#x6237;&#x76EE;&#x5F55;&#x4E0B;)</li>
-</ul>
-<pre><code class="lang-shell">vi webapps/ROOT/WEB-INF/dubbo.properties
-dubbo.properties
-dubbo.registry.address=zookeeper://127.0.0.1:2181
-dubbo.admin.root.password=root
-dubbo.admin.guest.password=guest
-</code></pre>
-<ul>
-<li>&#x542F;&#x52A8;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/startup.sh
-</code></pre>
-<ul>
-<li>&#x505C;&#x6B62;:</li>
-</ul>
-<pre><code class="lang-shell">./bin/shutdown.sh
-</code></pre>
-<ul>
-<li>&#x8BBF;&#x95EE;: (&#x7528;&#x6237;:root,&#x5BC6;&#x7801;:root &#x6216; &#x7528;&#x6237;:guest,&#x5BC6;&#x7801;:guest)</li>
-</ul>
-<pre><code>http://127.0.0.1:8080/
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="简单注册中心安装.html" class="navigation navigation-prev navigation-unique" aria-label="Previous page: 1.6 Simple监控中心安装">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.7 管理控制台安装","level":"1.2.7","depth":2,"next":{"title":"2 运维手册","level":"1.3","depth":1,"ref":"","articles":[{"title":"2.1 管理控制台运维","level":"1.3.1","depth":2,"path":"ops-mannual/管理控制台运维.md","ref":"ops-mannual/管理控制台运维.md","articles":[]}]},"previous":{"title":"1.6 Simple监控中心安装","level":"1.2.6","depth":2,"path":"install-mannual/简单注册中心安装.md","ref":"install-mannual/简单注册中心安装.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"install-mannual/管理控制台安装.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:54.378Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/admin-guide/ops-mannual/\347\256\241\347\220\206\346\216\247\345\210\266\345\217\260\350\277\220\347\273\264.html" "b/admin-guide/ops-mannual/\347\256\241\347\220\206\346\216\247\345\210\266\345\217\260\350\277\220\347\273\264.html"
deleted file mode 100644
index 4dc0d41..0000000
--- "a/admin-guide/ops-mannual/\347\256\241\347\220\206\346\216\247\345\210\266\345\217\260\350\277\220\347\273\264.html"
+++ /dev/null
@@ -1,381 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>2.1 管理控制台运维 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 安装手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../install-mannual/示例提供者安装.html">
-            
-                <a href="../install-mannual/示例提供者安装.html">
-            
-                    
-                    1.1 示例提供者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../install-mannual/示例消费者安装.html">
-            
-                <a href="../install-mannual/示例消费者安装.html">
-            
-                    
-                    1.2 示例消费者安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../install-mannual/Zookeeper注册中心安装.html">
-            
-                <a href="../install-mannual/Zookeeper注册中心安装.html">
-            
-                    
-                    1.3 Zookeeper注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../install-mannual/Redis注册中心安装.html">
-            
-                <a href="../install-mannual/Redis注册中心安装.html">
-            
-                    
-                    1.4 Redis注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.5" data-path="../install-mannual/简单注册中心安装.html">
-            
-                <a href="../install-mannual/简单注册中心安装.html">
-            
-                    
-                    1.5 Simple注册中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.6" data-path="../install-mannual/简单注册中心安装.html">
-            
-                <a href="../install-mannual/简单注册中心安装.html">
-            
-                    
-                    1.6 Simple监控中心安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.7" data-path="../install-mannual/管理控制台安装.html">
-            
-                <a href="../install-mannual/管理控制台安装.html">
-            
-                    
-                    1.7 管理控制台安装
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 运维手册
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter active" data-level="1.3.1" data-path="管理控制台运维.html">
-            
-                <a href="管理控制台运维.html">
-            
-                    
-                    2.1 管理控制台运维
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >2.1 管理控制台运维</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h4 id="&#x7BA1;&#x7406;&#x63A7;&#x5236;&#x53F0;&#x8FD0;&#x7EF4;">&#x7BA1;&#x7406;&#x63A7;&#x5236;&#x53F0;&#x8FD0;&#x7EF4;</h4>
-<h5 id="&#x641C;&#x7D22;&#x9875;&#x9762;">&#x641C;&#x7D22;&#x9875;&#x9762;</h5>
-<p>&#x5F53;&#x4F60;&#x9700;&#x8981;&#x7BA1;&#x7406;Dubbo&#x7684;&#x670D;&#x52A1;&#x65F6;&#xFF0C;&#x9996;&#x5148;&#x8981;&#x641C;&#x7D22;&#x5230;&#x8FD9;&#x4E2A;&#x670D;&#x52A1;&#xFF0C;&#x7136;&#x540E;&#x6253;&#x5F00;&#x5B83;&#x7684;&#x7BA1;&#x7406;&#x9875;&#x9762;&#xFF1A;</p>
-<p><img src="../sources/images/dubbo-search.png" alt="/admin-guide/images/dubbo-search.png"></p>
-<h5 id="&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x9875;&#x9762;">&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x9875;&#x9762;</h5>
-<p><img src="../sources/images/dubbo-providers.png" alt="/admin-guide/images/dubbo-providers.png"></p>
-<h5 id="&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x9875;&#x9762;">&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x9875;&#x9762;</h5>
-<p><img src="../sources/images/dubbo-consumers.png" alt="/admin-guide/images/dubbo-consumers.png"></p>
-<h5 id="&#x670D;&#x52A1;&#x5E94;&#x7528;&#x9875;&#x9762;">&#x670D;&#x52A1;&#x5E94;&#x7528;&#x9875;&#x9762;</h5>
-<p><img src="../sources/images/dubbo-applications.png" alt="/admin-guide/images/dubbo-applications.png"></p>
-<h5 id="&#x6DFB;&#x52A0;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#x9875;&#x9762;">&#x6DFB;&#x52A0;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#x9875;&#x9762;</h5>
-<p><img src="../sources/images/dubbo-add-route.png" alt="/admin-guide/images/dubbo-add-route.png"></p>
-<h5 id="&#x6DFB;&#x52A0;&#x52A8;&#x6001;&#x914D;&#x7F6E;&#x9875;&#x9762;">&#x6DFB;&#x52A0;&#x52A8;&#x6001;&#x914D;&#x7F6E;&#x9875;&#x9762;</h5>
-<p><img src="../sources/images/dubbo-add-config.png" alt="/admin-guide/images/dubbo-add-config.png"></p>
-<h5 id="&#x670D;&#x52A1;&#x6CE8;&#x518C;">&#x670D;&#x52A1;&#x6CE8;&#x518C;</h5>
-<h5 id="&#x670D;&#x52A1;&#x964D;&#x7EA7;">&#x670D;&#x52A1;&#x964D;&#x7EA7;</h5>
-<h5 id="&#x8DEF;&#x7531;&#x89C4;&#x5219;">&#x8DEF;&#x7531;&#x89C4;&#x5219;</h5>
-<h5 id="&#x8BBF;&#x95EE;&#x63A7;&#x5236;">&#x8BBF;&#x95EE;&#x63A7;&#x5236;</h5>
-<h5 id="&#x52A8;&#x6001;&#x914D;&#x7F6E;">&#x52A8;&#x6001;&#x914D;&#x7F6E;</h5>
-<h5 id="&#x6743;&#x91CD;&#x8C03;&#x8282;">&#x6743;&#x91CD;&#x8C03;&#x8282;</h5>
-<h5 id="&#x8D1F;&#x8F7D;&#x5747;&#x8861;">&#x8D1F;&#x8F7D;&#x5747;&#x8861;</h5>
-<h5 id="&#x670D;&#x52A1;&#x8D1F;&#x8D23;&#x4EBA;">&#x670D;&#x52A1;&#x8D1F;&#x8D23;&#x4EBA;</h5>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"2.1 管理控制台运维","level":"1.3.1","depth":2,"previous":{"title":"2 运维手册","level":"1.3","depth":1,"ref":"","articles":[{"title":"2.1 管理控制台运维","level":"1.3.1","depth":2,"path":"ops-mannual/管理控制台运维.md","ref":"ops-mannual/管理控制台运维.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"ops-mannual/管理控制台运维.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:54.378Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/admin-guide/search_index.json b/admin-guide/search_index.json
deleted file mode 100644
index b7fcc42..0000000
--- a/admin-guide/search_index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["consumer可以直接启动多个实例,而多个demo","consumer,simpl","consumer,它们缺省配置为通过multicast注册中心广播互相发现,建议在不同机器上运行,如果在同一机器上,需设置unicast=false:即:multicast://224.5.6.7:1234?unicast=false,否则发给消费者的单播消息可能被提供者抢占,两个消费者在同一台机器也一样,只有multicast注册中心有此问题。","consumer,来验证软负载均衡,demo","introduct","monitor三者安装目录下的conf/dubbo.properties,将dubbo.registry.address的值改为zookeeper://127.0.0.1:2181,同理,如果换成redi","monitor监控中心,它缺省配置为通过multicast注册中心广播发现provider和consumer,并展示出它们的依赖关系,以及它们之间调用的次数和时间。","proivder,demo","provider和demo","provider因有端口冲突,可在不同机器上运行,或者修改demo","provider安装目录下conf/dubbo.properties配置中的dubbo.protocol.port的值。","registry后,修改demo","registry,值改为dubbo://127.0.0.1:9090","registry,值改为redis://127.0.0.1:6379,如果换成simpl","你也可以增加运行simpl","你也可以将multicast注册中心换成zookeeper注册中心,安装zookeep","你也可以运行多个demo","你可以只运行demo","推荐使用zookeeper注册中心","注意:multicast地址不能配成127.0.0.1,也不能配成机器的ip地址,必须是d段广播地址,也就是:224.0.0.0到239.255.255.255之间的任意地址"],"install-mannual/示例提供者安装.html":["(see:","./bin/dump.sh","./bin/restart.sh","./bin/server.sh","./bin/start.sh","./bin/stop.sh","1","1.1","127.0.0.1","2.4.1","20880","assembly.tar.gz","cd","command","conf/dubbo.properti","debug","demo","dubbo","dump","echo","f","help","http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo","logs/stdout.log","nc","or:","provid","provider/2.4.1/dubbo","reference)","restart","start","statu","stop","tail","tar","telnet","vi","wget","zxvf","|","停止:","启动:","命令行:","安装:","总控入口:","标准输出:","示例提供者安装","系统状态:","调试:","配置:","重启:"],"install-mannual/示例消费者安装.html":["./bin/dump.sh","./bin/restart.sh","./bin/server.sh","./bin/start.sh","./bin/stop.sh","1.2","2.4.1","assembly.tar.gz","cd","conf/dubbo.properti","consum","consumer/2.4.1/dubbo","debug","demo","dubbo","dump","f","http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo","logs/stdout.log","restart","start","stop","tail","tar","vi","wget","zxvf","停止:","启动:","安装:","总控入口:","标准输出:","示例消费者安装","系统状态:","调试:","配置:","重启:"],"install-mannual/Zookeeper注册中心安装.html":["(see:","./bin/zkserver.sh","1","1.3","127.0.0.1","2.3.3以上版本的zookeeper注册中心客户端","2181","3.3.3","3.3.3.tar.gz","3.3.3/data","3.3.3/zookeep","cd","clientport=2181","conf/zoo.cfg","conf/zoo_sample.cfg","cp","data","datadir=/home/dubbo/zookeep","dubbo.registry.address=zookeeper://10.20.153.10:2181?backup=10.20.153.11:2181","dubbo未对zookeeper服务器端做任何侵入修改,只需安装原生的zookeeper服务器即可,所有注册中心逻辑适配都在调用zookeeper客户端时完成。","dump","echo","hadoop的子项目,强度相对较好,建议生产环境使用该注册中心。","http://www.apache.org/dist//zookeeper/zookeep","http://zookeeper.apache.org/doc/r3.3.3/zookeeperadmin.html)","initlimit=10","mkdir","myid","myid指明自己的id,对应上面zoo.cfg中server.后的数字,第一台的内容为1,第二台的内容为2,内容如下:","nc","or:","server.1=10.20.153.10:2555:3555","server.2=10.20.153.11:2555:3555","start","stop","synclimit=5","tar","telnet","ticktime=2000","vi","wget","zoo.cfg","zookeep","zookeeper是apach","zookeeper注册中心安装","zxvf","|","停止:","启动:","命令行:","如果不需要集群,zoo.cfg的内容如下:(其中data目录需改成你真实输出目录)","如果需要集群,zoo.cfg的内容如下:(其中data目录和server地址需改成你真实部署机器的信息)","如果需要,可以考虑使用taobao的zookeeper监控:http://rdc.taobao.com/team/jm/archives/1450","安装:","并在data目录下放置myid文件:(上面zoo.cfg中的datadir)","建议使用dubbo","用法:","配置:"],"install-mannual/Redis注册中心安装.html":["&","(参见:","./src/redi","/dubbo/com.foo.barservice/provid","1.4","127.0.0.1","2.1.0以上版本支持","2.4.8","2.4.8.tar.gz","6379","cd","cli","hgetal","http://redis.googlecode.com/files/redi","http://redis.io/commands)","killal","make","nohup","redi","redis.conf","redis使用使用方式参见:","redis使用手册,只需搭一个原生的redis服务器,并将quick","redis注册中心安装","redis说明redis是一个高效的kv存储服务器,参见:http://redis.io","redis集群redis注册中心集群采用在客户端同时写入多个服务器,读取单个服务器的策略实现。","server","start中provider和consumer里的conf/dubbo.properties中的dubbo.registry.addrss的值改为redis://127.0.0.1:6379即可使用","tar","telnet","vi","wget","xzf","停止:","参见:http://redis.io/topics/quickstart","启动:","命令行:","安装:","或者:","配置:"],"install-mannual/简单注册中心安装.html":["(see:","./bin/dump.sh","./bin/restart.sh","./bin/server.sh","./bin/start.sh","./bin/stop.sh","1","1.5","127.0.0.1","2.4.1","9090","assembly.tar.gz","cd","command","conf/dubbo.properti","debug","dubbo","dump","echo","f","help","http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo","logs/stdout.log","nc","or:","reference)","registri","registry没有经过严格测试,可能不健状,并且不支持集群,不建议用于生产环境。","restart","simpl","simple/2.4.1/dubbo","simple注册中心安装","start","statu","stop","tail","tar","telnet","vi","wget","zxvf","|","停止:","启动:","命令行:","安装:","总控入口:","标准输出:","系统状态:","调试:","配置:","重启:"],"install-mannual/管理控制台安装.html":["(或将dubbo.properties放在当前用户目录下)","(用户:root,密码:root","./bin/shutdown.sh","./bin/startup.sh","1.7","2.4.1.war","6.0.35","6.0.35.tar.gz","6/v6.0.35/bin/apach","admin","admin/2.4.1/dubbo","apach","cd","d","dubbo","dubbo.admin.guest.password=guest","dubbo.admin.root.password=root","dubbo.properti","dubbo.registry.address=zookeeper://127.0.0.1:2181","http://127.0.0.1:8080/","http://apache.etoak.com/tomcat/tomcat","http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo","inf/dubbo.properti","rf","rm","tar","tomcat","unzip","vi","webapps/root","webapps/root/web","wget","zxvf","停止:","启动:","安装:","或","用户:guest,密码:guest)","管理控制台为内部裁剪版本,开源部分主要包含:路由规则,动态配置,服务降级,访问控制,权重调整,负载均衡,等管理功能。","管理控制台安装","访问:","配置:"],"ops-mannual/管理控制台运维.html":["2.1","动态配置","当你需要管理dubbo的服务时,首先要搜索到这个服务,然后打开它的管理页面:","搜索页面","服务应用页面","服务提供者页面","服务注册","服务消费者页面","服务负责人","服务降级","权重调节","添加动态配置页面","添加路由规则页面","管理控制台运维","访问控制","负载均衡","路由规则"]},"length":8},"tokenStore":{"root":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.029850746268656716},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726},"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.028985507246376812}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}},".":{"1":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":5}}},"2":{"docs":{"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":5}}},"3":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":5}}},"4":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":5}}},"5":{"docs":{"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":5}}},"7":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":5}}},"docs":{}}},"2":{"0":{"8":{"8":{"0":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.029850746268656716}}},"docs":{}},"docs":{}},"docs":{}},"1":{"8":{"1":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726}}},"docs":{}},"docs":{}},"docs":{},".":{"1":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":5}},".":{"0":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"支":{"docs":{},"持":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}}}}}}}},"docs":{}}},"3":{"docs":{},".":{"3":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"4":{"docs":{},".":{"1":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.04477611940298507},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.05660377358490566},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.043478260869565216}},".":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.041666666666666664}}}}}}},"8":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"z":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.044444444444444446}}}}}}}}}},"docs":{}}},"docs":{}}},"3":{"docs":{},".":{"3":{"docs":{},".":{"3":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"z":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726}}}}}}}}},"/":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726}}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}}}}}}}}},"docs":{}}},"docs":{}}},"6":{"3":{"7":{"9":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}},"docs":{}},"docs":{}},"docs":{},".":{"0":{"docs":{},".":{"3":{"5":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"z":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.041666666666666664}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"/":{"docs":{},"v":{"6":{"docs":{},".":{"0":{"docs":{},".":{"3":{"5":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}}},"9":{"0":{"9":{"0":{"docs":{"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.028985507246376812}}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.05660377358490566}},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"启":{"docs":{},"动":{"docs":{},"多":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"而":{"docs":{},"多":{"docs":{},"个":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}},"它":{"docs":{},"们":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"配":{"docs":{},"置":{"docs":{},"为":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"广":{"docs":{},"播":{"docs":{},"互":{"docs":{},"相":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{},",":{"docs":{},"需":{"docs":{},"设":{"docs":{},"置":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},":":{"docs":{},"即":{"docs":{},":":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"2":{"2":{"4":{"docs":{},".":{"5":{"docs":{},".":{"6":{"docs":{},".":{"7":{"docs":{},":":{"1":{"2":{"3":{"4":{"docs":{},"?":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"发":{"docs":{},"给":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"的":{"docs":{},"单":{"docs":{},"播":{"docs":{},"消":{"docs":{},"息":{"docs":{},"可":{"docs":{},"能":{"docs":{},"被":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"抢":{"docs":{},"占":{"docs":{},",":{"docs":{},"两":{"docs":{},"个":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"台":{"docs":{},"机":{"docs":{},"器":{"docs":{},"也":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"有":{"docs":{},"此":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"软":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}}}}}}}},"/":{"2":{"docs":{},".":{"4":{"docs":{},".":{"1":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}},"f":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}}}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"f":{"docs":{},"g":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726}}}}}},"_":{"docs":{},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"f":{"docs":{},"g":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}}}},"d":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406},"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}},"l":{"docs":{},"i":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"2":{"1":{"8":{"1":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}},"p":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":10}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"=":{"1":{"0":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726}}},"docs":{}},"docs":{}}}}}}}}},"f":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"三":{"docs":{},"者":{"docs":{},"安":{"docs":{},"装":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"将":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"的":{"docs":{},"值":{"docs":{},"改":{"docs":{},"为":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"2":{"1":{"8":{"1":{"docs":{},",":{"docs":{},"同":{"docs":{},"理":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"换":{"docs":{},"成":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"它":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"配":{"docs":{},"置":{"docs":{},"为":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"广":{"docs":{},"播":{"docs":{},"发":{"docs":{},"现":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"并":{"docs":{},"展":{"docs":{},"示":{"docs":{},"出":{"docs":{},"它":{"docs":{},"们":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"它":{"docs":{},"们":{"docs":{},"之":{"docs":{},"间":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"次":{"docs":{},"数":{"docs":{},"和":{"docs":{},"时":{"docs":{},"间":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}}}},"y":{"docs":{},"i":{"docs":{},"d":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726}},"指":{"docs":{},"明":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"上":{"docs":{},"面":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"f":{"docs":{},"g":{"docs":{},"中":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"后":{"docs":{},"的":{"docs":{},"数":{"docs":{},"字":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"台":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"为":{"1":{"docs":{},",":{"docs":{},"第":{"docs":{},"二":{"docs":{},"台":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"为":{"2":{"docs":{},",":{"docs":{},"内":{"docs":{},"容":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"i":{"docs":{},"v":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.04477611940298507}},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.1}}}}}}},"因":{"docs":{},"有":{"docs":{},"端":{"docs":{},"口":{"docs":{},"冲":{"docs":{},"突":{"docs":{},",":{"docs":{},"可":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"修":{"docs":{},"改":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"配":{"docs":{},"置":{"docs":{},"中":{"docs":{},"的":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"的":{"docs":{},"值":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"2":{"docs":{},".":{"4":{"docs":{},".":{"1":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"后":{"docs":{},",":{"docs":{},"修":{"docs":{},"改":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}},",":{"docs":{},"值":{"docs":{},"改":{"docs":{},"为":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"9":{"0":{"9":{"0":{"docs":{"./":{"ref":"./","tf":0.05}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"6":{"3":{"7":{"9":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"换":{"docs":{},"成":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"经":{"docs":{},"过":{"docs":{},"严":{"docs":{},"格":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"健":{"docs":{},"状":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"集":{"docs":{},"群":{"docs":{},",":{"docs":{},"不":{"docs":{},"建":{"docs":{},"议":{"docs":{},"用":{"docs":{},"于":{"docs":{},"生":{"docs":{},"产":{"docs":{},"环":{"docs":{},"境":{"docs":{},"。":{"docs":{"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.057971014492753624}}}}}}}},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}}},"d":{"docs":{},"i":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.06666666666666667}},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.044444444444444446}}}}}}},"使":{"docs":{},"用":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"式":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}}}}}}}},"手":{"docs":{},"册":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"搭":{"docs":{},"一":{"docs":{},"个":{"docs":{},"原":{"docs":{},"生":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"安":{"docs":{},"装":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":5}}}}}}}},"说":{"docs":{},"明":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"高":{"docs":{},"效":{"docs":{},"的":{"docs":{},"k":{"docs":{},"v":{"docs":{},"存":{"docs":{},"储":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"集":{"docs":{},"群":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"集":{"docs":{},"群":{"docs":{},"采":{"docs":{},"用":{"docs":{},"在":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"同":{"docs":{},"时":{"docs":{},"写":{"docs":{},"入":{"docs":{},"多":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"读":{"docs":{},"取":{"docs":{},"单":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"策":{"docs":{},"略":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}},"m":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"增":{"docs":{},"加":{"docs":{},"运":{"docs":{},"行":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}}},"将":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"换":{"docs":{},"成":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"安":{"docs":{},"装":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"多":{"docs":{},"个":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"只":{"docs":{},"运":{"docs":{},"行":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}}}},"推":{"docs":{},"荐":{"docs":{},"使":{"docs":{},"用":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"地":{"docs":{},"址":{"docs":{},"不":{"docs":{},"能":{"docs":{},"配":{"docs":{},"成":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"能":{"docs":{},"配":{"docs":{},"成":{"docs":{},"机":{"docs":{},"器":{"docs":{},"的":{"docs":{},"i":{"docs":{},"p":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"d":{"docs":{},"段":{"docs":{},"广":{"docs":{},"播":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},":":{"2":{"2":{"4":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"到":{"2":{"3":{"9":{"docs":{},".":{"2":{"5":{"5":{"docs":{},".":{"2":{"5":{"5":{"docs":{},".":{"2":{"5":{"5":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"任":{"docs":{},"意":{"docs":{},"地":{"docs":{},"址":{"docs":{"./":{"ref":"./","tf":0.05}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"e":{"docs":{},":":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}},"参":{"docs":{},"见":{"docs":{},":":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}}}},"或":{"docs":{},"将":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"放":{"docs":{},"在":{"docs":{},"当":{"docs":{},"前":{"docs":{},"用":{"docs":{},"户":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},")":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},":":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},",":{"docs":{},"密":{"docs":{},"码":{"docs":{},":":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}},".":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"p":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.07462686567164178},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.09433962264150944},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.07246376811594203}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.029850746268656716},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.03773584905660377},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.028985507246376812}}}}},"u":{"docs":{},"p":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}}}},"h":{"docs":{},"u":{"docs":{},"t":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}}}}}}}},"z":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726}}}}}}}}}}}}}}}}},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.044444444444444446}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"l":{"docs":{},"y":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"z":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.029850746268656716},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.03773584905660377},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.028985507246376812}}}}}}}}}}}}}}}},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.041666666666666664}},"/":{"2":{"docs":{},".":{"4":{"docs":{},".":{"1":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.041666666666666664}}}}}}},"d":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.029850746268656716},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.03773584905660377},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.028985507246376812}}}}},"m":{"docs":{},"o":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.05970149253731343},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.07547169811320754}}}}},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.029850746268656716},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.03773584905660377},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.028985507246376812},"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"=":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"0":{"docs":{},":":{"2":{"1":{"8":{"1":{"docs":{},"?":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"=":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"1":{"docs":{},":":{"2":{"1":{"8":{"1":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"2":{"1":{"8":{"1":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"g":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"=":{"docs":{},"g":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"=":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}}}}}},"未":{"docs":{},"对":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"侵":{"docs":{},"入":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"安":{"docs":{},"装":{"docs":{},"原":{"docs":{},"生":{"docs":{},"的":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"适":{"docs":{},"配":{"docs":{},"都":{"docs":{},"在":{"docs":{},"调":{"docs":{},"用":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"时":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"=":{"docs":{},"/":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}},"f":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.03773584905660377},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"8":{"0":{"8":{"0":{"docs":{},"/":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"m":{"docs":{},"v":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406},"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"docs":{},"/":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"/":{"docs":{},"r":{"3":{"docs":{},".":{"3":{"docs":{},".":{"3":{"docs":{},"/":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},")":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},")":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"a":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"子":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"强":{"docs":{},"度":{"docs":{},"相":{"docs":{},"对":{"docs":{},"较":{"docs":{},"好":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"生":{"docs":{},"产":{"docs":{},"环":{"docs":{},"境":{"docs":{},"使":{"docs":{},"用":{"docs":{},"该":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"。":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.044444444444444446}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"d":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.03773584905660377},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}},"n":{"docs":{},"c":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}},"o":{"docs":{},"h":{"docs":{},"u":{"docs":{},"p":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}}}}}},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}},"中":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"里":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"中":{"docs":{},"的":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"s":{"docs":{},"s":{"docs":{},"的":{"docs":{},"值":{"docs":{},"改":{"docs":{},"为":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"6":{"3":{"7":{"9":{"docs":{},"即":{"docs":{},"可":{"docs":{},"使":{"docs":{},"用":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}},"o":{"docs":{},"p":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.044444444444444446}},".":{"1":{"docs":{},"=":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"0":{"docs":{},":":{"2":{"5":{"5":{"5":{"docs":{},":":{"3":{"5":{"5":{"5":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"2":{"docs":{},"=":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"1":{"docs":{},":":{"2":{"5":{"5":{"5":{"docs":{},":":{"3":{"5":{"5":{"5":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"=":{"5":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726}}},"docs":{}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.057971014492753624}},"e":{"docs":{},"/":{"2":{"docs":{},".":{"4":{"docs":{},".":{"1":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"安":{"docs":{},"装":{"docs":{"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":5}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.03773584905660377},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}},"r":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406},"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.029850746268656716},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.028985507246376812}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"2":{"0":{"0":{"0":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.0625}}}}}}}},"v":{"docs":{},"i":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726},"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406},"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}},"w":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406},"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.041666666666666664}}}}},"e":{"docs":{},"b":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.041666666666666664}},"/":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}},"z":{"docs":{},"x":{"docs":{},"v":{"docs":{},"f":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406},"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"f":{"docs":{},"g":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726}}}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0273972602739726}},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"安":{"docs":{},"装":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":5}}}}}}}}}}}}}}}}},"|":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}},"停":{"docs":{},"止":{"docs":{},":":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406},"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}},"启":{"docs":{},"动":{"docs":{},":":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406},"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},":":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}},"安":{"docs":{},"装":{"docs":{},":":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406},"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}},"总":{"docs":{},"控":{"docs":{},"入":{"docs":{},"口":{"docs":{},":":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}}},"标":{"docs":{},"准":{"docs":{},"输":{"docs":{},"出":{"docs":{},":":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}}},"示":{"docs":{},"例":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"安":{"docs":{},"装":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":5}}}}}}},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"安":{"docs":{},"装":{"docs":{"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":5}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"状":{"docs":{},"态":{"docs":{},":":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}}}},"调":{"docs":{},"试":{"docs":{},":":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863},"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406},"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}},"重":{"docs":{},"启":{"docs":{},":":{"docs":{"install-mannual/示例提供者安装.html":{"ref":"install-mannual/示例提供者安装.html","tf":0.014925373134328358},"install-mannual/示例消费者安装.html":{"ref":"install-mannual/示例消费者安装.html","tf":0.018867924528301886},"install-mannual/简单注册中心安装.html":{"ref":"install-mannual/简单注册中心安装.html","tf":0.014492753623188406}}}}},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"集":{"docs":{},"群":{"docs":{},",":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"f":{"docs":{},"g":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{},"(":{"docs":{},"其":{"docs":{},"中":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"目":{"docs":{},"录":{"docs":{},"需":{"docs":{},"改":{"docs":{},"成":{"docs":{},"你":{"docs":{},"真":{"docs":{},"实":{"docs":{},"输":{"docs":{},"出":{"docs":{},"目":{"docs":{},"录":{"docs":{},")":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"集":{"docs":{},"群":{"docs":{},",":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"f":{"docs":{},"g":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{},"(":{"docs":{},"其":{"docs":{},"中":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"目":{"docs":{},"录":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"地":{"docs":{},"址":{"docs":{},"需":{"docs":{},"改":{"docs":{},"成":{"docs":{},"你":{"docs":{},"真":{"docs":{},"实":{"docs":{},"部":{"docs":{},"署":{"docs":{},"机":{"docs":{},"器":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},")":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"o":{"docs":{},"的":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"监":{"docs":{},"控":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"r":{"docs":{},"d":{"docs":{},"c":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"o":{"docs":{},"b":{"docs":{},"a":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"/":{"docs":{},"j":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"1":{"4":{"5":{"0":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"在":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"放":{"docs":{},"置":{"docs":{},"m":{"docs":{},"y":{"docs":{},"i":{"docs":{},"d":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{},"(":{"docs":{},"上":{"docs":{},"面":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"f":{"docs":{},"g":{"docs":{},"中":{"docs":{},"的":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},")":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}}}}}}}}},"用":{"docs":{},"法":{"docs":{},":":{"docs":{"install-mannual/Zookeeper注册中心安装.html":{"ref":"install-mannual/Zookeeper注册中心安装.html","tf":0.0136986301369863}}}},"户":{"docs":{},":":{"docs":{},"g":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"密":{"docs":{},"码":{"docs":{},":":{"docs":{},"g":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}},"&":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.044444444444444446}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"l":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}}}}}}},"x":{"docs":{},"z":{"docs":{},"f":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}}}},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"或":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}},"者":{"docs":{},":":{"docs":{"install-mannual/Redis注册中心安装.html":{"ref":"install-mannual/Redis注册中心安装.html","tf":0.022222222222222223}}}}},"u":{"docs":{},"n":{"docs":{},"z":{"docs":{},"i":{"docs":{},"p":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}},"管":{"docs":{},"理":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"为":{"docs":{},"内":{"docs":{},"部":{"docs":{},"裁":{"docs":{},"剪":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"开":{"docs":{},"源":{"docs":{},"部":{"docs":{},"分":{"docs":{},"主":{"docs":{},"要":{"docs":{},"包":{"docs":{},"含":{"docs":{},":":{"docs":{},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"降":{"docs":{},"级":{"docs":{},",":{"docs":{},"访":{"docs":{},"问":{"docs":{},"控":{"docs":{},"制":{"docs":{},",":{"docs":{},"权":{"docs":{},"重":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},",":{"docs":{},"等":{"docs":{},"管":{"docs":{},"理":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"安":{"docs":{},"装":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":5}}}},"运":{"docs":{},"维":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":5.0625}}}}}}}}},"访":{"docs":{},"问":{"docs":{},":":{"docs":{"install-mannual/管理控制台安装.html":{"ref":"install-mannual/管理控制台安装.html","tf":0.020833333333333332}}},"控":{"docs":{},"制":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":0.0625}}}}}},"动":{"docs":{},"态":{"docs":{},"配":{"docs":{},"置":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":0.0625}}}}}},"当":{"docs":{},"你":{"docs":{},"需":{"docs":{},"要":{"docs":{},"管":{"docs":{},"理":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"时":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"要":{"docs":{},"搜":{"docs":{},"索":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"打":{"docs":{},"开":{"docs":{},"它":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"页":{"docs":{},"面":{"docs":{},":":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"页":{"docs":{},"面":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":0.0625}}}}}},"服":{"docs":{},"务":{"docs":{},"应":{"docs":{},"用":{"docs":{},"页":{"docs":{},"面":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":0.0625}}}}}},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"页":{"docs":{},"面":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":0.0625}}}}}}},"注":{"docs":{},"册":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":0.0625}}}},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"页":{"docs":{},"面":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":0.0625}}}}}}},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":0.0625}}}}},"降":{"docs":{},"级":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":0.0625}}}}}},"权":{"docs":{},"重":{"docs":{},"调":{"docs":{},"节":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":0.0625}}}}}},"添":{"docs":{},"加":{"docs":{},"动":{"docs":{},"态":{"docs":{},"配":{"docs":{},"置":{"docs":{},"页":{"docs":{},"面":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":0.0625}}}}}}}},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{},"页":{"docs":{},"面":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":0.0625}}}}}}}}}},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":0.0625}}}}}},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{"ops-mannual/管理控制台运维.html":{"ref":"ops-mannual/管理控制台运维.html","tf":0.0625}}}}}}},"length":316},"corpusTokens":["&","(see:","(参见:","(或将dubbo.properties放在当前用户目录下)","(用户:root,密码:root","./bin/dump.sh","./bin/restart.sh","./bin/server.sh","./bin/shutdown.sh","./bin/start.sh","./bin/startup.sh","./bin/stop.sh","./bin/zkserver.sh","./src/redi","/dubbo/com.foo.barservice/provid","1","1.1","1.2","1.3","1.4","1.5","1.7","127.0.0.1","2.1","2.1.0以上版本支持","2.3.3以上版本的zookeeper注册中心客户端","2.4.1","2.4.1.war","2.4.8","2.4.8.tar.gz","20880","2181","3.3.3","3.3.3.tar.gz","3.3.3/data","3.3.3/zookeep","6.0.35","6.0.35.tar.gz","6/v6.0.35/bin/apach","6379","9090","admin","admin/2.4.1/dubbo","apach","assembly.tar.gz","cd","cli","clientport=2181","command","conf/dubbo.properti","conf/zoo.cfg","conf/zoo_sample.cfg","consum","consumer/2.4.1/dubbo","consumer可以直接启动多个实例,而多个demo","consumer,simpl","consumer,它们缺省配置为通过multicast注册中心广播互相发现,建议在不同机器上运行,如果在同一机器上,需设置unicast=false:即:multicast://224.5.6.7:1234?unicast=false,否则发给消费者的单播消息可能被提供者抢占,两个消费者在同一台机器也一样,只有multicast注册中心有此问题。","consumer,来验证软负载均衡,demo","cp","d","data","datadir=/home/dubbo/zookeep","debug","demo","dubbo","dubbo.admin.guest.password=guest","dubbo.admin.root.password=root","dubbo.properti","dubbo.registry.address=zookeeper://10.20.153.10:2181?backup=10.20.153.11:2181","dubbo.registry.address=zookeeper://127.0.0.1:2181","dubbo未对zookeeper服务器端做任何侵入修改,只需安装原生的zookeeper服务器即可,所有注册中心逻辑适配都在调用zookeeper客户端时完成。","dump","echo","f","hadoop的子项目,强度相对较好,建议生产环境使用该注册中心。","help","hgetal","http://127.0.0.1:8080/","http://apache.etoak.com/tomcat/tomcat","http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo","http://redis.googlecode.com/files/redi","http://redis.io/commands)","http://www.apache.org/dist//zookeeper/zookeep","http://zookeeper.apache.org/doc/r3.3.3/zookeeperadmin.html)","inf/dubbo.properti","initlimit=10","introduct","killal","logs/stdout.log","make","mkdir","monitor三者安装目录下的conf/dubbo.properties,将dubbo.registry.address的值改为zookeeper://127.0.0.1:2181,同理,如果换成redi","monitor监控中心,它缺省配置为通过multicast注册中心广播发现provider和consumer,并展示出它们的依赖关系,以及它们之间调用的次数和时间。","myid","myid指明自己的id,对应上面zoo.cfg中server.后的数字,第一台的内容为1,第二台的内容为2,内容如下:","nc","nohup","or:","proivder,demo","provid","provider/2.4.1/dubbo","provider和demo","provider因有端口冲突,可在不同机器上运行,或者修改demo","provider安装目录下conf/dubbo.properties配置中的dubbo.protocol.port的值。","redi","redis.conf","redis使用使用方式参见:","redis使用手册,只需搭一个原生的redis服务器,并将quick","redis注册中心安装","redis说明redis是一个高效的kv存储服务器,参见:http://redis.io","redis集群redis注册中心集群采用在客户端同时写入多个服务器,读取单个服务器的策略实现。","reference)","registri","registry后,修改demo","registry没有经过严格测试,可能不健状,并且不支持集群,不建议用于生产环境。","registry,值改为dubbo://127.0.0.1:9090","registry,值改为redis://127.0.0.1:6379,如果换成simpl","restart","rf","rm","server","server.1=10.20.153.10:2555:3555","server.2=10.20.153.11:2555:3555","simpl","simple/2.4.1/dubbo","simple注册中心安装","start","start中provider和consumer里的conf/dubbo.properties中的dubbo.registry.addrss的值改为redis://127.0.0.1:6379即可使用","statu","stop","synclimit=5","tail","tar","telnet","ticktime=2000","tomcat","unzip","vi","webapps/root","webapps/root/web","wget","xzf","zoo.cfg","zookeep","zookeeper是apach","zookeeper注册中心安装","zxvf","|","你也可以增加运行simpl","你也可以将multicast注册中心换成zookeeper注册中心,安装zookeep","你也可以运行多个demo","你可以只运行demo","停止:","动态配置","参见:http://redis.io/topics/quickstart","启动:","命令行:","如果不需要集群,zoo.cfg的内容如下:(其中data目录需改成你真实输出目录)","如果需要集群,zoo.cfg的内容如下:(其中data目录和server地址需改成你真实部署机器的信息)","如果需要,可以考虑使用taobao的zookeeper监控:http://rdc.taobao.com/team/jm/archives/1450","安装:","并在data目录下放置myid文件:(上面zoo.cfg中的datadir)","建议使用dubbo","当你需要管理dubbo的服务时,首先要搜索到这个服务,然后打开它的管理页面:","总控入口:","或","或者:","推荐使用zookeeper注册中心","搜索页面","服务应用页面","服务提供者页面","服务注册","服务消费者页面","服务负责人","服务降级","权重调节","标准输出:","注意:multicast地址不能配成127.0.0.1,也不能配成机器的ip地址,必须是d段广播地址,也就是:224.0.0.0到239.255.255.255之间的任意地址","添加动态配置页面","添加路由规则页面","用户:guest,密码:guest)","用法:","示例提供者安装","示例消费者安装","管理控制台为内部裁剪版本,开源部分主要包含:路由规则,动态配置,服务降级,访问控制,权重调整,负载均衡,等管理功能。","管理控制台安装","管理控制台运维","系统状态:","访问:","访问控制","调试:","负载均衡","路由规则","配置:","重启:"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Introduction","keywords":"","body":"\n推荐使用Zookeeper注册中心\n\n\n你可以只运行Demo Provider和Demo Consumer,它们缺省配置为通过Multicast注册中心广播互相发现,建议在不同机器上运行,如果在同一机器上,需设置unicast=false:即:multicast://224.5.6.7:1234?unicast=false,否则发给消费者的单播消息可能被提供者抢占,两个消费者在同一台机器也一样,只有multicast注册中心有此问题。\n你也可以运行多个Demo Provider和Demo Consumer,来验证软负载均衡,Demo Consumer可以直接启动多个实例,而多个Demo Provider因有端口冲突,可在不同机器上运行,或者修改Demo Provider安装目录下conf/dubbo.properties配置中的dubbo.protocol.port的值。\n你也可以增加运行Simple Monitor监控中心,它缺省配置为通过Multicast注册中心广播发现Provider和Consumer,并展示出它们的依赖关系,以及它们之间调用的次数和时间。\n你也可以将Multicast注册中心换成Zookeeper注册中心,安装Zookeeper Registry后,修改Demo Proivder,Demo Consumer,Simple Monitor三者安装目录下的conf/dubbo.properties,将dubbo.registry.address的值改为zookeeper://127.0.0.1:2181,同理,如果换成Redis Registry,值改为redis://127.0.0.1:6379,如果换成Simple Registry,值改为dubbo://127.0.0.1:9090\n  注意:multicast地址不能配成127.0.0.1,也不能配成机器的IP地址,必须是D段广播地址,也就是:224.0.0.0到239.255.255.255之间的任意地址\n\n\n"},"install-mannual/示例提供者安装.html":{"url":"install-mannual/示例提供者安装.html","title":"1.1 示例提供者安装","keywords":"","body":"\n安装:\n\nwget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-demo-provider/2.4.1/dubbo-demo-provider-2.4.1-assembly.tar.gz\ntar zxvf dubbo-demo-provider-2.4.1-assembly.tar.gz\ncd dubbo-demo-provider-2.4.1\n\n\n配置:\n\nvi conf/dubbo.properties\n\n\n启动:\n\n./bin/start.sh\n\n\n停止:\n\n./bin/stop.sh\n\n\n重启:\n\n./bin/restart.sh\n\n\n调试:\n\n./bin/start.sh debug\n\n\n系统状态:\n\n./bin/dump.sh\n\n\n总控入口:\n\n./bin/server.sh start\n./bin/server.sh stop\n./bin/server.sh restart\n./bin/server.sh debug\n./bin/server.sh dump\n\n\n标准输出:\n\ntail -f logs/stdout.log\n\n\n命令行: (See: Telnet Command Reference)\n\ntelnet 127.0.0.1 20880\nhelp\n\nOr:\necho status | nc -i 1 127.0.0.1 20880\n\n"},"install-mannual/示例消费者安装.html":{"url":"install-mannual/示例消费者安装.html","title":"1.2 示例消费者安装","keywords":"","body":"\n安装:\n\nwget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-demo-consumer/2.4.1/dubbo-demo-consumer-2.4.1-assembly.tar.gz\ntar zxvf dubbo-demo-consumer-2.4.1-assembly.tar.gz\ncd dubbo-demo-consumer-2.4.1\n\n\n配置:\n\nvi conf/dubbo.properties\n\n\n启动:\n\n./bin/start.sh\ntail -f logs/stdout.log\n\n\n停止:\n\n./bin/stop.sh\n\n\n重启:\n\n./bin/restart.sh\n\n\n调试:\n\n./bin/start.sh debug\n\n\n系统状态:\n\n./bin/dump.sh\n\n\n总控入口:\n\n./bin/server.sh start\n./bin/server.sh stop\n./bin/server.sh restart\n./bin/server.sh debug\n./bin/server.sh dump\n\n\n标准输出:\n\ntail -f logs/stdout.log\n\n"},"install-mannual/Zookeeper注册中心安装.html":{"url":"install-mannual/Zookeeper注册中心安装.html","title":"1.3 Zookeeper注册中心安装","keywords":"","body":"\n建议使用dubbo-2.3.3以上版本的zookeeper注册中心客户端\nZookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注册中心。\nDubbo未对Zookeeper服务器端做任何侵入修改,只需安装原生的Zookeeper服务器即可,所有注册中心逻辑适配都在调用Zookeeper客户端时完成。\n如果需要,可以考虑使用taobao的zookeeper监控:http://rdc.taobao.com/team/jm/archives/1450\n\n\n安装:\n\nwget http://www.apache.org/dist//zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz\ntar zxvf zookeeper-3.3.3.tar.gz\ncd zookeeper-3.3.3\ncp conf/zoo_sample.cfg conf/zoo.cfg\n\n\n配置:\n\nvi conf/zoo.cfg\n\n如果不需要集群,zoo.cfg的内容如下:(其中data目录需改成你真实输出目录)\n\nzoo.cfg\n\ntickTime=2000\ninitLimit=10\nsyncLimit=5\ndataDir=/home/dubbo/zookeeper-3.3.3/data\nclientPort=2181\n如果需要集群,zoo.cfg的内容如下:(其中data目录和server地址需改成你真实部署机器的信息)\n\nzoo.cfg\n\ntickTime=2000\ninitLimit=10\nsyncLimit=5\ndataDir=/home/dubbo/zookeeper-3.3.3/data\nclientPort=2181\nserver.1=10.20.153.10:2555:3555\nserver.2=10.20.153.11:2555:3555\n并在data目录下放置myid文件:(上面zoo.cfg中的dataDir)\nmkdir data\nvi myid\n\nmyid指明自己的id,对应上面zoo.cfg中server.后的数字,第一台的内容为1,第二台的内容为2,内容如下:\n\nmyid\n\n1\n\n启动:\n\n./bin/zkServer.sh start\n\n\n停止:\n\n./bin/zkServer.sh stop\n\n\n命令行: (See: http://zookeeper.apache.org/doc/r3.3.3/zookeeperAdmin.html)\n\ntelnet 127.0.0.1 2181\ndump\n\nOr:\necho dump | nc 127.0.0.1 2181\n\n\n用法:\n\ndubbo.registry.address=zookeeper://10.20.153.10:2181?backup=10.20.153.11:2181\nOr:\n\n\n"},"install-mannual/Redis注册中心安装.html":{"url":"install-mannual/Redis注册中心安装.html","title":"1.4 Redis注册中心安装","keywords":"","body":"\nRedis说明Redis是一个高效的KV存储服务器,参见:http://redis.io\nRedis使用使用方式参见: Redis使用手册,只需搭一个原生的Redis服务器,并将Quick Start中Provider和Consumer里的conf/dubbo.properties中的dubbo.registry.addrss的值改为redis://127.0.0.1:6379即可使用\nRedis集群Redis注册中心集群采用在客户端同时写入多个服务器,读取单个服务器的策略实现。\n2.1.0以上版本支持\n\n参见:http://redis.io/topics/quickstart\n\n安装:\n\nwget http://redis.googlecode.com/files/redis-2.4.8.tar.gz\ntar xzf redis-2.4.8.tar.gz\ncd redis-2.4.8\nmake\n\n\n配置:\n\nvi redis.conf\n\n\n启动:\n\nnohup ./src/redis-server redis.conf &\n\n\n停止:\n\nkillall redis-server\n\n\n命令行: (参见: http://redis.io/commands)\n\n./src/redis-cli\nhgetall /dubbo/com.foo.BarService/providers\n\n或者:\ntelnet 127.0.0.1 6379\nhgetall /dubbo/com.foo.BarService/providers\n\n"},"install-mannual/简单注册中心安装.html":{"url":"install-mannual/简单注册中心安装.html","title":"1.5 Simple注册中心安装","keywords":"","body":"\nSimple Registry没有经过严格测试,可能不健状,并且不支持集群,不建议用于生产环境。\n\n\n安装:\n\nwget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-registry-simple/2.4.1/dubbo-registry-simple-2.4.1-assembly.tar.gz\ntar zxvf dubbo-registry-simple-2.4.1-assembly.tar.gz\ncd dubbo-registry-simple-2.4.1\n\n\n配置:\n\nvi conf/dubbo.properties\n\n\n启动:\n\n./bin/start.sh\n\n\n停止:\n\n./bin/stop.sh\n\n\n重启:\n\n./bin/restart.sh\n\n\n调试:\n\n./bin/start.sh debug\n\n\n系统状态:\n\n./bin/dump.sh\n\n\n总控入口:\n\n./bin/server.sh start\n./bin/server.sh stop\n./bin/server.sh restart\n./bin/server.sh debug\n./bin/server.sh dump\n\n\n标准输出:\n\ntail -f logs/stdout.log\n\n\n命令行: (See: Telnet Command Reference)\n\ntelnet 127.0.0.1 9090\nhelp\n\nOr:\necho status | nc -i 1 127.0.0.1 9090\n\n"},"install-mannual/管理控制台安装.html":{"url":"install-mannual/管理控制台安装.html","title":"1.7 管理控制台安装","keywords":"","body":"\n管理控制台为内部裁剪版本,开源部分主要包含:路由规则,动态配置,服务降级,访问控制,权重调整,负载均衡,等管理功能。\n\n\n安装:\n\nwget http://apache.etoak.com/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz\ntar zxvf apache-tomcat-6.0.35.tar.gz\ncd apache-tomcat-6.0.35\nrm -rf webapps/ROOT\nwget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-admin/2.4.1/dubbo-admin-2.4.1.war\nunzip dubbo-admin-2.4.1.war -d webapps/ROOT\n\n\n配置: (或将dubbo.properties放在当前用户目录下)\n\nvi webapps/ROOT/WEB-INF/dubbo.properties\ndubbo.properties\ndubbo.registry.address=zookeeper://127.0.0.1:2181\ndubbo.admin.root.password=root\ndubbo.admin.guest.password=guest\n\n\n启动:\n\n./bin/startup.sh\n\n\n停止:\n\n./bin/shutdown.sh\n\n\n访问: (用户:root,密码:root 或 用户:guest,密码:guest)\n\nhttp://127.0.0.1:8080/\n"},"ops-mannual/管理控制台运维.html":{"url":"ops-mannual/管理控制台运维.html","title":"2.1 管理控制台运维","keywords":"","body":"管理控制台运维\n搜索页面\n当你需要管理Dubbo的服务时,首先要搜索到这个服务,然后打开它的管理页面:\n\n服务提供者页面\n\n服务消费者页面\n\n服务应用页面\n\n添加路由规则页面\n\n添加动态配置页面\n\n服务注册\n服务降级\n路由规则\n访问控制\n动态配置\n权重调节\n负载均衡\n服务负责人\n"}}}
\ No newline at end of file
diff --git a/bin/publish_gitbook.sh b/bin/publish_gitbook.sh
index 1c7e82b..c0bff8d 100755
--- a/bin/publish_gitbook.sh
+++ b/bin/publish_gitbook.sh
@@ -11,16 +11,25 @@
 
 cd $DEPLOY_DIR/user-guide
 gitbook build .
+if [ ! -d "$STATIC_TMP_DIR/user-guide" ] ; then
+    mkdir $STATIC_TMP_DIR/user-guide
+fi
 cp -rf ./_book/*  $STATIC_TMP_DIR/user-guide
 rm -rf ./_book
 
 cd $DEPLOY_DIR/developer-guide
 gitbook build .
+if [ ! -d "$STATIC_TMP_DIR/developer-guide" ] ; then
+    mkdir $STATIC_TMP_DIR/developer-guide
+fi
 cp -rf ./_book/*  $STATIC_TMP_DIR/developer-guide
 rm -rf ./_book
 
 cd $DEPLOY_DIR/admin-guide
 gitbook build .
+if [ ! -d "$STATIC_TMP_DIR/admin-guide" ] ; then
+    mkdir $STATIC_TMP_DIR/admin-guide
+fi
 cp -rf ./_book/*  $STATIC_TMP_DIR/admin-guide
 rm -rf ./_book
 
@@ -38,7 +47,7 @@
 
 git add .
 git commit -m 'MISC:auto publish'
-git push -u origin gh-pages
+git push -u origin master
 
 cd ~
-rm -rf $STATIC_TMP_DIR
+rm -rf $STATIC_TMP_DIR
\ No newline at end of file
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/Telnet\345\221\275\344\273\244\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/Telnet\345\221\275\344\273\244\346\211\251\345\261\225.html"
deleted file mode 100644
index c6d1fdc..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/Telnet\345\221\275\344\273\244\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,782 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.20 Telnet命令扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="状态检查扩展.html" />
-    
-    
-    <link rel="prev" href="组网扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.20 Telnet命令扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x6240;&#x6709;&#x670D;&#x52A1;&#x5668;&#x5747;&#x652F;&#x6301; telnet &#x8BBF;&#x95EE;&#xFF0C;&#x7528;&#x4E8E;&#x4EBA;&#x5DE5;&#x5E72;&#x9884;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.remoting.telnet.TelnetHandler</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">telnet</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">telnet</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x7F3A;&#x7701;&#x503C;&#x8BBE;&#x7F6E;&#xFF0C;&#x5F53;&lt;dubbo:protocol&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;telnet&#x5C5E;&#x6027;&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.remoting.telnet.support.ClearTelnetHandler</code></li>
-<li><code>com.alibaba.dubbo.remoting.telnet.support.ExitTelnetHandler</code></li>
-<li><code>com.alibaba.dubbo.remoting.telnet.support.HelpTelnetHandler</code></li>
-<li><code>com.alibaba.dubbo.remoting.telnet.support.StatusTelnetHandler</code></li>
-<li><code>com.alibaba.dubbo.rpc.dubbo.telnet.ListTelnetHandler</code></li>
-<li><code>com.alibaba.dubbo.rpc.dubbo.telnet.ChangeTelnetHandler</code></li>
-<li><code>com.alibaba.dubbo.rpc.dubbo.telnet.CurrentTelnetHandler</code></li>
-<li><code>com.alibaba.dubbo.rpc.dubbo.telnet.InvokeTelnetHandler</code></li>
-<li><code>com.alibaba.dubbo.rpc.dubbo.telnet.TraceTelnetHandler</code></li>
-<li><code>com.alibaba.dubbo.rpc.dubbo.telnet.CountTelnetHandler</code></li>
-<li><code>com.alibaba.dubbo.rpc.dubbo.telnet.PortTelnetHandler</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxTelnetHandler.java (&#x5B9E;&#x73B0;TelnetHandler&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.remoting.telnet.TelnetHandler (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxTelnetHandler)
-</code></pre><p>XxxTelnetHandler.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.remoting.telnet.TelnetHandler;
-
-<span class="hljs-meta">@Help</span>(parameter=<span class="hljs-string">&quot;...&quot;</span>, summary=<span class="hljs-string">&quot;...&quot;</span>, detail=<span class="hljs-string">&quot;...&quot;</span>)
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxTelnetHandler</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">TelnetHandler</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> String <span class="hljs-title">telnet</span><span class="hljs-params">(Channel channel, String message)</span> <span class="hljs-keyword">throws</span> RemotingException </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.remoting.telnet.TelnetHandler</p>
-<pre><code>xxx=com.xxx.XxxTelnetHandler
-</code></pre><p>&#x7528;&#x6CD5;</p>
-<pre><code class="lang-sh">telnet 127.0.0.1 20880
-dubbo&gt; xxx args
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="组网扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.19 组网扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="状态检查扩展.html" class="navigation navigation-next " aria-label="Next page: 6.21 状态检查扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.20 Telnet命令扩展","level":"1.7.20","depth":2,"next":{"title":"6.21 状态检查扩展","level":"1.7.21","depth":2,"path":"SPI参考手册/状态检查扩展.md","ref":"./SPI参考手册/状态检查扩展.md","articles":[]},"previous":{"title":"6.19 组网扩展","level":"1.7.19","depth":2,"path":"SPI参考手册/组网扩展.md","ref":"./SPI参考手册/组网扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/Telnet命令扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/introduction.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/introduction.html"
deleted file mode 100644
index 0aab840..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/introduction.html"
+++ /dev/null
@@ -1,732 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6 SPI参考手册 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="协议扩展.html" />
-    
-    
-    <link rel="prev" href="../扩展点加载.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6 SPI参考手册</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning">SPI&#x4F7F;&#x7528;&#x8303;&#x56F4;<br>&#x6269;&#x5C55;&#x63A5;&#x53E3;&#x4EC5;&#x7528;&#x4E8E;&#x7CFB;&#x7EDF;&#x96C6;&#x6210;&#xFF0C;&#x6216;Contributor&#x6269;&#x5C55;&#x529F;&#x80FD;&#x63D2;&#x4EF6;&#x3002;</p>
-</blockquote>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="../扩展点加载.html" class="navigation navigation-prev " aria-label="Previous page: 5 扩展点加载">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="协议扩展.html" class="navigation navigation-next " aria-label="Next page: 6.1 协议扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6 SPI参考手册","level":"1.7","depth":1,"next":{"title":"6.1 协议扩展","level":"1.7.1","depth":2,"path":"SPI参考手册/协议扩展.md","ref":"./SPI参考手册/协议扩展.md","articles":[]},"previous":{"title":"5 扩展点加载","level":"1.6","depth":1,"path":"扩展点加载.md","ref":"./扩展点加载.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/introduction.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\344\277\241\346\201\257\344\272\244\346\215\242\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\344\277\241\346\201\257\344\272\244\346\215\242\346\211\251\345\261\225.html"
deleted file mode 100644
index f4829f9..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\344\277\241\346\201\257\344\272\244\346\215\242\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,793 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.18 信息交换扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="组网扩展.html" />
-    
-    
-    <link rel="prev" href="网络传输扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.18 信息交换扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x57FA;&#x4E8E;&#x4F20;&#x8F93;&#x5C42;&#x4E4B;&#x4E0A;&#xFF0C;&#x5B9E;&#x73B0;Request-Response&#x4FE1;&#x606F;&#x4EA4;&#x6362;&#x8BED;&#x4E49;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.remoting.exchange.Exchanger</code></li>
-<li><code>com.alibaba.dubbo.remoting.exchange.ExchangeServer</code></li>
-<li><code>com.alibaba.dubbo.remoting.exchange.ExchangeClient</code></li>
-</ul>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">exchanger</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">exchanger</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x7F3A;&#x7701;&#x503C;&#x8BBE;&#x7F6E;&#xFF0C;&#x5F53;&lt;dubbo:protocol&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;exchanger&#x5C5E;&#x6027;&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<p><code>com.alibaba.dubbo.remoting.exchange.exchanger.HeaderExchanger</code></p>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxExchanger.java (&#x5B9E;&#x73B0;Exchanger&#x63A5;&#x53E3;)
-                |-XxxExchangeServer.java (&#x5B9E;&#x73B0;ExchangeServer&#x63A5;&#x53E3;)
-                |-XxxExchangeClient.java (&#x5B9E;&#x73B0;ExchangeClient&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.remoting.exchange.Exchanger (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxExchanger)
-</code></pre><p>XxxExchanger.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.remoting.exchange.Exchanger;
-
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxExchanger</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Exchanger</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> ExchangeServer <span class="hljs-title">bind</span><span class="hljs-params">(URL url, ExchangeHandler handler)</span> <span class="hljs-keyword">throws</span> RemotingException </span>{
-        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> XxxExchangeServer(url, handler);
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> ExchangeClient <span class="hljs-title">connect</span><span class="hljs-params">(URL url, ExchangeHandler handler)</span> <span class="hljs-keyword">throws</span> RemotingException </span>{
-        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> XxxExchangeClient(url, handler);
-    }
-}
-</code></pre>
-<p>XxxExchangeServer.java</p>
-<pre><code class="lang-java">
-<span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.remoting.exchange.ExchangeServer;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxExchangeServer</span> <span class="hljs-title">impelements</span> <span class="hljs-title">ExchangeServer</span> </span>{
-    <span class="hljs-comment">// ...</span>
-}
-</code></pre>
-<p>XxxExchangeClient.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.remoting.exchange.ExchangeClient;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxExchangeClient</span> <span class="hljs-title">impelments</span> <span class="hljs-title">ExchangeClient</span> </span>{
-    <span class="hljs-comment">// ...</span>
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.remoting.exchange.Exchanger</p>
-<pre><code>xxx=com.xxx.XxxExchanger
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="网络传输扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.17 网络传输扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="组网扩展.html" class="navigation navigation-next " aria-label="Next page: 6.19 组网扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.18 信息交换扩展","level":"1.7.18","depth":2,"next":{"title":"6.19 组网扩展","level":"1.7.19","depth":2,"path":"SPI参考手册/组网扩展.md","ref":"./SPI参考手册/组网扩展.md","articles":[]},"previous":{"title":"6.17 网络传输扩展","level":"1.7.17","depth":2,"path":"SPI参考手册/网络传输扩展.md","ref":"./SPI参考手册/网络传输扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/信息交换扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\212\250\346\200\201\344\273\243\347\220\206\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\212\250\346\200\201\344\273\243\347\220\206\346\211\251\345\261\225.html"
deleted file mode 100644
index b8fca8d..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\212\250\346\200\201\344\273\243\347\220\206\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,773 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.12 动态代理扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="编译器扩展.html" />
-    
-    
-    <link rel="prev" href="扩展点加载扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.12 动态代理扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x5C06; <code>Invoker</code> &#x63A5;&#x53E3;&#x8F6C;&#x6362;&#x6210;&#x4E1A;&#x52A1;&#x63A5;&#x53E3;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.rpc.ProxyFactory</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">proxy</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">proxy</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x7F3A;&#x7701;&#x503C;&#x914D;&#x7F6E;&#xFF0C;&#x5F53;&lt;dubbo:protocol&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;proxy&#x5C5E;&#x6027;&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.rpc.proxy.JdkProxyFactory</code></li>
-<li><code>com.alibaba.dubbo.rpc.proxy.JavassistProxyFactory</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxProxyFactory.java (&#x5B9E;&#x73B0;ProxyFactory&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.rpc.ProxyFactory (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxProxyFactory)
-</code></pre><p>XxxProxyFactory.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.ProxyFactory;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Invoker;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.RpcException;
-
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxProxyFactory</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">ProxyFactory</span> </span>{
-    <span class="hljs-keyword">public</span> &lt;T&gt; <span class="hljs-function">T <span class="hljs-title">getProxy</span><span class="hljs-params">(Invoker&lt;T&gt; invoker)</span> <span class="hljs-keyword">throws</span> RpcException </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-keyword">public</span> &lt;T&gt; <span class="hljs-function">Invoker&lt;T&gt; <span class="hljs-title">getInvoker</span><span class="hljs-params">(T proxy, Class&lt;T&gt; type, URL url)</span> <span class="hljs-keyword">throws</span> RpcException </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.rpc.ProxyFactory</p>
-<pre><code>xxx=com.xxx.XxxProxyFactory
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="扩展点加载扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.11 扩展点加载扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="编译器扩展.html" class="navigation navigation-next " aria-label="Next page: 6.13 编译器扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.12 动态代理扩展","level":"1.7.12","depth":2,"next":{"title":"6.13 编译器扩展","level":"1.7.13","depth":2,"path":"SPI参考手册/编译器扩展.md","ref":"./SPI参考手册/编译器扩展.md","articles":[]},"previous":{"title":"6.11 扩展点加载扩展","level":"1.7.11","depth":2,"path":"SPI参考手册/扩展点加载扩展.md","ref":"./SPI参考手册/扩展点加载扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/动态代理扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\215\217\350\256\256\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\215\217\350\256\256\346\211\251\345\261\225.html"
deleted file mode 100644
index a11a12f..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\215\217\350\256\256\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,851 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.1 协议扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="调用拦截扩展.html" />
-    
-    
-    <link rel="prev" href="introduction.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter active" data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.1 协议扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;&#xFF1A;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;&#xFF1A;</h5>
-<p>RPC&#x534F;&#x8BAE;&#x6269;&#x5C55;&#xFF0C;&#x5C01;&#x88C5;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x7EC6;&#x8282;&#x3002;</p>
-<p>&#x5951;&#x7EA6;&#xFF1A;</p>
-<ul>
-<li>&#x5F53;&#x7528;&#x6237;&#x8C03;&#x7528; <code>refer()</code> &#x6240;&#x8FD4;&#x56DE;&#x7684; <code>Invoker</code> &#x5BF9;&#x8C61;&#x7684; <code>invoke()</code> &#x65B9;&#x6CD5;&#x65F6;&#xFF0C;&#x534F;&#x8BAE;&#x9700;&#x76F8;&#x5E94;&#x6267;&#x884C;&#x540C; URL &#x8FDC;&#x7AEF; <code>export()</code> &#x4F20;&#x5165;&#x7684; <code>Invoker</code> &#x5BF9;&#x8C61;&#x7684; <code>invoke()</code> &#x65B9;&#x6CD5;&#x3002;</li>
-<li>&#x5176;&#x4E2D;&#xFF0C;<code>refer()</code> &#x8FD4;&#x56DE;&#x7684; <code>Invoker</code> &#x7531;&#x534F;&#x8BAE;&#x5B9E;&#x73B0;&#xFF0C;&#x534F;&#x8BAE;&#x901A;&#x5E38;&#x9700;&#x8981;&#x5728;&#x6B64; <code>Invoker</code> &#x4E2D;&#x53D1;&#x9001;&#x8FDC;&#x7A0B;&#x8BF7;&#x6C42;&#xFF0C;<code>export()</code> &#x4F20;&#x5165;&#x7684; <code>Invoker</code> &#x7531;&#x6846;&#x67B6;&#x5B9E;&#x73B0;&#x5E76;&#x4F20;&#x5165;&#xFF0C;&#x534F;&#x8BAE;&#x4E0D;&#x9700;&#x8981;&#x5173;&#x5FC3;&#x3002;</li>
-</ul>
-<p>&#x6CE8;&#x610F;&#xFF1A;</p>
-<ul>
-<li>&#x534F;&#x8BAE;&#x4E0D;&#x5173;&#x5FC3;&#x4E1A;&#x52A1;&#x63A5;&#x53E3;&#x7684;&#x900F;&#x660E;&#x4EE3;&#x7406;&#xFF0C;&#x4EE5; <code>Invoker</code> &#x4E3A;&#x4E2D;&#x5FC3;&#xFF0C;&#x7531;&#x5916;&#x5C42;&#x5C06; <code>Invoker</code> &#x8F6C;&#x6362;&#x4E3A;&#x4E1A;&#x52A1;&#x63A5;&#x53E3;&#x3002;</li>
-<li>&#x534F;&#x8BAE;&#x4E0D;&#x4E00;&#x5B9A;&#x8981;&#x662F; TCP &#x7F51;&#x7EDC;&#x901A;&#x8BAF;&#xFF0C;&#x6BD4;&#x5982;&#x901A;&#x8FC7;&#x5171;&#x4EAB;&#x6587;&#x4EF6;&#xFF0C;IPC &#x8FDB;&#x7A0B;&#x95F4;&#x901A;&#x8BAF;&#x7B49;&#x3002;</li>
-</ul>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;&#xFF1A;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;&#xFF1A;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.rpc.Protocol</code></li>
-<li><code>com.alibaba.dubbo.rpc.Exporter</code></li>
-<li><code>com.alibaba.dubbo.rpc.Invoker</code></li>
-</ul>
-<pre><code class="lang-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">Protocol</span> </span>{
-    <span class="hljs-comment">/**
-     * &#x66B4;&#x9732;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#xFF1A;&lt;br&gt;
-     * 1. &#x534F;&#x8BAE;&#x5728;&#x63A5;&#x6536;&#x8BF7;&#x6C42;&#x65F6;&#xFF0C;&#x5E94;&#x8BB0;&#x5F55;&#x8BF7;&#x6C42;&#x6765;&#x6E90;&#x65B9;&#x5730;&#x5740;&#x4FE1;&#x606F;&#xFF1A;RpcContext.getContext().setRemoteAddress();&lt;br&gt;
-     * 2. export()&#x5FC5;&#x987B;&#x662F;&#x5E42;&#x7B49;&#x7684;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x66B4;&#x9732;&#x540C;&#x4E00;&#x4E2A;URL&#x7684;Invoker&#x4E24;&#x6B21;&#xFF0C;&#x548C;&#x66B4;&#x9732;&#x4E00;&#x6B21;&#x6CA1;&#x6709;&#x533A;&#x522B;&#x3002;&lt;br&gt;
-     * 3. export()&#x4F20;&#x5165;&#x7684;Invoker&#x7531;&#x6846;&#x67B6;&#x5B9E;&#x73B0;&#x5E76;&#x4F20;&#x5165;&#xFF0C;&#x534F;&#x8BAE;&#x4E0D;&#x9700;&#x8981;&#x5173;&#x5FC3;&#x3002;&lt;br&gt;
-     * 
-     * <span class="hljs-doctag">@param</span> &lt;T&gt; &#x670D;&#x52A1;&#x7684;&#x7C7B;&#x578B;
-     * <span class="hljs-doctag">@param</span> invoker &#x670D;&#x52A1;&#x7684;&#x6267;&#x884C;&#x4F53;
-     * <span class="hljs-doctag">@return</span> exporter &#x66B4;&#x9732;&#x670D;&#x52A1;&#x7684;&#x5F15;&#x7528;&#xFF0C;&#x7528;&#x4E8E;&#x53D6;&#x6D88;&#x66B4;&#x9732;
-     * <span class="hljs-doctag">@throws</span> RpcException &#x5F53;&#x66B4;&#x9732;&#x670D;&#x52A1;&#x51FA;&#x9519;&#x65F6;&#x629B;&#x51FA;&#xFF0C;&#x6BD4;&#x5982;&#x7AEF;&#x53E3;&#x5DF2;&#x5360;&#x7528;
-     */</span>
-    &lt;T&gt; <span class="hljs-function">Exporter&lt;T&gt; <span class="hljs-title">export</span><span class="hljs-params">(Invoker&lt;T&gt; invoker)</span> <span class="hljs-keyword">throws</span> RpcException</span>;
-
-    <span class="hljs-comment">/**
-     * &#x5F15;&#x7528;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#xFF1A;&lt;br&gt;
-     * 1. &#x5F53;&#x7528;&#x6237;&#x8C03;&#x7528;refer()&#x6240;&#x8FD4;&#x56DE;&#x7684;Invoker&#x5BF9;&#x8C61;&#x7684;invoke()&#x65B9;&#x6CD5;&#x65F6;&#xFF0C;&#x534F;&#x8BAE;&#x9700;&#x76F8;&#x5E94;&#x6267;&#x884C;&#x540C;URL&#x8FDC;&#x7AEF;export()&#x4F20;&#x5165;&#x7684;Invoker&#x5BF9;&#x8C61;&#x7684;invoke()&#x65B9;&#x6CD5;&#x3002;&lt;br&gt;
-     * 2. refer()&#x8FD4;&#x56DE;&#x7684;Invoker&#x7531;&#x534F;&#x8BAE;&#x5B9E;&#x73B0;&#xFF0C;&#x534F;&#x8BAE;&#x901A;&#x5E38;&#x9700;&#x8981;&#x5728;&#x6B64;Invoker&#x4E2D;&#x53D1;&#x9001;&#x8FDC;&#x7A0B;&#x8BF7;&#x6C42;&#x3002;&lt;br&gt;
-     * 3. &#x5F53;url&#x4E2D;&#x6709;&#x8BBE;&#x7F6E;check=false&#x65F6;&#xFF0C;&#x8FDE;&#x63A5;&#x5931;&#x8D25;&#x4E0D;&#x80FD;&#x629B;&#x51FA;&#x5F02;&#x5E38;&#xFF0C;&#x9700;&#x5185;&#x90E8;&#x81EA;&#x52A8;&#x6062;&#x590D;&#x3002;&lt;br&gt;
-     * 
-     * <span class="hljs-doctag">@param</span> &lt;T&gt; &#x670D;&#x52A1;&#x7684;&#x7C7B;&#x578B;
-     * <span class="hljs-doctag">@param</span> type &#x670D;&#x52A1;&#x7684;&#x7C7B;&#x578B;
-     * <span class="hljs-doctag">@param</span> url &#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x7684;URL&#x5730;&#x5740;
-     * <span class="hljs-doctag">@return</span> invoker &#x670D;&#x52A1;&#x7684;&#x672C;&#x5730;&#x4EE3;&#x7406;
-     * <span class="hljs-doctag">@throws</span> RpcException &#x5F53;&#x8FDE;&#x63A5;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x5931;&#x8D25;&#x65F6;&#x629B;&#x51FA;
-     */</span>
-    &lt;T&gt; <span class="hljs-function">Invoker&lt;T&gt; <span class="hljs-title">refer</span><span class="hljs-params">(Class&lt;T&gt; type, URL url)</span> <span class="hljs-keyword">throws</span> RpcException</span>;
-
-}
-</code></pre>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;&#xFF1A;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;&#xFF1A;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;xxx1&quot;</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x58F0;&#x660E;&#x534F;&#x8BAE;&#xFF0C;&#x5982;&#x679C;&#x6CA1;&#x6709;&#x914D;&#x7F6E;id&#xFF0C;&#x5C06;&#x4EE5;name&#x4E3A;id --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;xxx1&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x5F15;&#x7528;&#x534F;&#x8BAE;&#xFF0C;&#x5982;&#x679C;&#x6CA1;&#x6709;&#x914D;&#x7F6E;protocol&#x5C5E;&#x6027;&#xFF0C;&#x5C06;&#x5728;ApplicationContext&#x4E2D;&#x81EA;&#x52A8;&#x626B;&#x63CF;protocol&#x914D;&#x7F6E; --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;xxx1&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x5F15;&#x7528;&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x503C;&#xFF0C;&#x5F53;&lt;dubbo:service&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;prototol&#x5C5E;&#x6027;&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;&#xFF1A;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;&#xFF1A;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.rpc.injvm.InjvmProtocol</code></li>
-<li><code>com.alibaba.dubbo.rpc.dubbo.DubboProtocol</code></li>
-<li><code>com.alibaba.dubbo.rpc.rmi.RmiProtocol</code></li>
-<li><code>com.alibaba.dubbo.rpc.http.HttpProtocol</code></li>
-<li><code>com.alibaba.dubbo.rpc.http.hessian.HessianProtocol</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;&#xFF1A;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;&#xFF1A;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>
-src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxProtocol.java (&#x5B9E;&#x73B0;Protocol&#x63A5;&#x53E3;)
-                |-XxxExporter.java (&#x5B9E;&#x73B0;Exporter&#x63A5;&#x53E3;)
-                |-XxxInvoker.java (&#x5B9E;&#x73B0;Invoker&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.rpc.Protocol (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxProtocol)
-</code></pre><p>XxxProtocol.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Protocol;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxProtocol</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Protocol</span> </span>{
-    <span class="hljs-keyword">public</span> &lt;T&gt; <span class="hljs-function">Exporter&lt;T&gt; <span class="hljs-title">export</span><span class="hljs-params">(Invoker&lt;T&gt; invoker)</span> <span class="hljs-keyword">throws</span> RpcException </span>{
-        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> XxxExporter(invoker);
-    }
-    <span class="hljs-keyword">public</span> &lt;T&gt; <span class="hljs-function">Invoker&lt;T&gt; <span class="hljs-title">refer</span><span class="hljs-params">(Class&lt;T&gt; type, URL url)</span> <span class="hljs-keyword">throws</span> RpcException </span>{
-        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> XxxInvoker(type, url);
-    }
-}
-</code></pre>
-<p>XxxExporter.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.support.AbstractExporter;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxExporter</span>&lt;<span class="hljs-title">T</span>&gt; <span class="hljs-keyword">extends</span> <span class="hljs-title">AbstractExporter</span>&lt;<span class="hljs-title">T</span>&gt; </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">XxxExporter</span><span class="hljs-params">(Invoker&lt;T&gt; invoker)</span> <span class="hljs-keyword">throws</span> RemotingException</span>{
-        <span class="hljs-keyword">super</span>(invoker);
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">unexport</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-keyword">super</span>.unexport();
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>XxxInvoker.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.support.AbstractInvoker;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxInvoker</span>&lt;<span class="hljs-title">T</span>&gt; <span class="hljs-keyword">extends</span> <span class="hljs-title">AbstractInvoker</span>&lt;<span class="hljs-title">T</span>&gt; </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">XxxInvoker</span><span class="hljs-params">(Class&lt;T&gt; type, URL url)</span> <span class="hljs-keyword">throws</span> RemotingException</span>{
-        <span class="hljs-keyword">super</span>(type, url);
-    }
-    <span class="hljs-function"><span class="hljs-keyword">protected</span> <span class="hljs-keyword">abstract</span> Object <span class="hljs-title">doInvoke</span><span class="hljs-params">(Invocation invocation)</span> <span class="hljs-keyword">throws</span> Throwable </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.rpc.Protocol</p>
-<pre><code>xxx=com.xxx.XxxProtocol
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="introduction.html" class="navigation navigation-prev " aria-label="Previous page: 6 SPI参考手册">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="调用拦截扩展.html" class="navigation navigation-next " aria-label="Next page: 6.2 调用拦截扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.1 协议扩展","level":"1.7.1","depth":2,"next":{"title":"6.2 调用拦截扩展","level":"1.7.2","depth":2,"path":"SPI参考手册/调用拦截扩展.md","ref":"./SPI参考手册/调用拦截扩展.md","articles":[]},"previous":{"title":"6 SPI参考手册","level":"1.7","depth":1,"path":"SPI参考手册/introduction.md","ref":"./SPI参考手册/introduction.md","articles":[{"title":"6.1 协议扩展","level":"1.7.1","depth":2,"path":"SPI参考手册/协议扩展.md","ref":"./SPI参考手册/协议扩展.md","articles":[]},{"title":"6.2 调用拦截扩展","level":"1.7.2","depth":2,"path":"SPI参考手册/调用拦截扩展.md","ref":"./SPI参考手册/调用拦截扩展.md","articles":[]},{"title":"6.3 引用监听扩展","level":"1.7.3","depth":2,"path":"SPI参考手册/引用监听扩展.md","ref":"./SPI参考手册/引用监听扩展.md","articles":[]},{"title":"6.4 暴露监听扩展","level":"1.7.4","depth":2,"path":"SPI参考手册/暴露监听扩展.md","ref":"./SPI参考手册/暴露监听扩展.md","articles":[]},{"title":"6.5 集群扩展","level":"1.7.5","depth":2,"path":"SPI参考手册/集群扩展.md","ref":"./SPI参考手册/集群扩展.md","articles":[]},{"title":"6.6 路由扩展","level":"1.7.6","depth":2,"path":"SPI参考手册/路由扩展.md","ref":"./SPI参考手册/路由扩展.md","articles":[]},{"title":"6.7 负载均衡扩展","level":"1.7.7","depth":2,"path":"SPI参考手册/负载均衡扩展.md","ref":"./SPI参考手册/负载均衡扩展.md","articles":[]},{"title":"6.8 合并结果扩展","level":"1.7.8","depth":2,"path":"SPI参考手册/合并结果扩展.md","ref":"./SPI参考手册/合并结果扩展.md","articles":[]},{"title":"6.9 注册中心扩展","level":"1.7.9","depth":2,"path":"SPI参考手册/注册中心扩展.md","ref":"./SPI参考手册/注册中心扩展.md","articles":[]},{"title":"6.10 监控中心扩展","level":"1.7.10","depth":2,"path":"SPI参考手册/监控中心扩展.md","ref":"./SPI参考手册/监控中心扩展.md","articles":[]},{"title":"6.11 扩展点加载扩展","level":"1.7.11","depth":2,"path":"SPI参考手册/扩展点加载扩展.md","ref":"./SPI参考手册/扩展点加载扩展.md","articles":[]},{"title":"6.12 动态代理扩展","level":"1.7.12","depth":2,"path":"SPI参考手册/动态代理扩展.md","ref":"./SPI参考手册/动态代理扩展.md","articles":[]},{"title":"6.13 编译器扩展","level":"1.7.13","depth":2,"path":"SPI参考手册/编译器扩展.md","ref":"./SPI参考手册/编译器扩展.md","articles":[]},{"title":"6.14 消息派发扩展","level":"1.7.14","depth":2,"path":"SPI参考手册/消息派发扩展.md","ref":"./SPI参考手册/消息派发扩展.md","articles":[]},{"title":"6.15 线程池扩展","level":"1.7.15","depth":2,"path":"SPI参考手册/线程池扩展.md","ref":"./SPI参考手册/线程池扩展.md","articles":[]},{"title":"6.16 序列化扩展","level":"1.7.16","depth":2,"path":"SPI参考手册/序列化扩展.md","ref":"./SPI参考手册/序列化扩展.md","articles":[]},{"title":"6.17 网络传输扩展","level":"1.7.17","depth":2,"path":"SPI参考手册/网络传输扩展.md","ref":"./SPI参考手册/网络传输扩展.md","articles":[]},{"title":"6.18 信息交换扩展","level":"1.7.18","depth":2,"path":"SPI参考手册/信息交换扩展.md","ref":"./SPI参考手册/信息交换扩展.md","articles":[]},{"title":"6.19 组网扩展","level":"1.7.19","depth":2,"path":"SPI参考手册/组网扩展.md","ref":"./SPI参考手册/组网扩展.md","articles":[]},{"title":"6.20 Telnet命令扩展","level":"1.7.20","depth":2,"path":"SPI参考手册/Telnet命令扩展.md","ref":"./SPI参考手册/Telnet命令扩展.md","articles":[]},{"title":"6.21 状态检查扩展","level":"1.7.21","depth":2,"path":"SPI参考手册/状态检查扩展.md","ref":"./SPI参考手册/状态检查扩展.md","articles":[]},{"title":"6.22 容器扩展","level":"1.7.22","depth":2,"path":"SPI参考手册/容器扩展.md","ref":"./SPI参考手册/容器扩展.md","articles":[]},{"title":"6.23 页面扩展","level":"1.7.23","depth":2,"path":"SPI参考手册/页面扩展.md","ref":"./SPI参考手册/页面扩展.md","articles":[]},{"title":"6.24 缓存扩展","level":"1.7.24","depth":2,"path":"SPI参考手册/缓存扩展.md","ref":"./SPI参考手册/缓存扩展.md","articles":[]},{"title":"6.25 验证扩展","level":"1.7.25","depth":2,"path":"SPI参考手册/验证扩展.md","ref":"./SPI参考手册/验证扩展.md","articles":[]},{"title":"6.26 日志适配扩展","level":"1.7.26","depth":2,"path":"SPI参考手册/日志适配扩展.md","ref":"./SPI参考手册/日志适配扩展.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/协议扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\220\210\345\271\266\347\273\223\346\236\234\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\220\210\345\271\266\347\273\223\346\236\234\346\211\251\345\261\225.html"
deleted file mode 100644
index fa7a28f..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\220\210\345\271\266\347\273\223\346\236\234\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,768 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.8 合并结果扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="注册中心扩展.html" />
-    
-    
-    <link rel="prev" href="负载均衡扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.8 合并结果扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x5408;&#x5E76;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#xFF0C;&#x7528;&#x4E8E;&#x5206;&#x7EC4;&#x805A;&#x5408;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.rpc.cluster.Merger</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">merger</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.rpc.cluster.merger.ArrayMerger</code></li>
-<li><code>com.alibaba.dubbo.rpc.cluster.merger.ListMerger</code></li>
-<li><code>com.alibaba.dubbo.rpc.cluster.merger.SetMerger</code></li>
-<li><code>com.alibaba.dubbo.rpc.cluster.merger.MapMerger</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxMerger.java (&#x5B9E;&#x73B0;Merger&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.rpc.cluster.Merger (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxMerger)
-</code></pre><p>XxxMerger.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.cluster.Merger;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxMerger</span>&lt;<span class="hljs-title">T</span>&gt; <span class="hljs-keyword">implements</span> <span class="hljs-title">Merger</span>&lt;<span class="hljs-title">T</span>&gt; </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> T <span class="hljs-title">merge</span><span class="hljs-params">(T... results)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.rpc.cluster.Merger</p>
-<pre><code>xxx=com.xxx.XxxMerger
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="负载均衡扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.7 负载均衡扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="注册中心扩展.html" class="navigation navigation-next " aria-label="Next page: 6.9 注册中心扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.8 合并结果扩展","level":"1.7.8","depth":2,"next":{"title":"6.9 注册中心扩展","level":"1.7.9","depth":2,"path":"SPI参考手册/注册中心扩展.md","ref":"./SPI参考手册/注册中心扩展.md","articles":[]},"previous":{"title":"6.7 负载均衡扩展","level":"1.7.7","depth":2,"path":"SPI参考手册/负载均衡扩展.md","ref":"./SPI参考手册/负载均衡扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/合并结果扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\256\271\345\231\250\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\256\271\345\231\250\346\211\251\345\261\225.html"
deleted file mode 100644
index 7fbf512..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\256\271\345\231\250\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,771 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.22 容器扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="页面扩展.html" />
-    
-    
-    <link rel="prev" href="状态检查扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.22 容器扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x670D;&#x52A1;&#x5BB9;&#x5668;&#x6269;&#x5C55;&#xFF0C;&#x7528;&#x4E8E;&#x81EA;&#x5B9A;&#x4E49;&#x52A0;&#x8F7D;&#x5185;&#x5BB9;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.container.Container</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-sh">java com.alibaba.dubbo.container.Main spring jetty <span class="hljs-built_in">log</span>4j
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.container.spring.SpringContainer</code></li>
-<li><code>com.alibaba.dubbo.container.spring.JettyContainer</code></li>
-<li><code>com.alibaba.dubbo.container.spring.Log4jContainer</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxContainer.java (&#x5B9E;&#x73B0;Container&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.container.Container (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxContainer)
-</code></pre><p>XxxContainer.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-com.alibaba.dubbo.container.Container;
-
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxContainer</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Container</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Status <span class="hljs-title">start</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Status <span class="hljs-title">stop</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.container.Container</p>
-<pre><code>xxx=com.xxx.XxxContainer
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="状态检查扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.21 状态检查扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="页面扩展.html" class="navigation navigation-next " aria-label="Next page: 6.23 页面扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.22 容器扩展","level":"1.7.22","depth":2,"next":{"title":"6.23 页面扩展","level":"1.7.23","depth":2,"path":"SPI参考手册/页面扩展.md","ref":"./SPI参考手册/页面扩展.md","articles":[]},"previous":{"title":"6.21 状态检查扩展","level":"1.7.21","depth":2,"path":"SPI参考手册/状态检查扩展.md","ref":"./SPI参考手册/状态检查扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/容器扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\272\217\345\210\227\345\214\226\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\272\217\345\210\227\345\214\226\346\211\251\345\261\225.html"
deleted file mode 100644
index f3d7736..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\272\217\345\210\227\345\214\226\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,781 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.16 序列化扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="网络传输扩展.html" />
-    
-    
-    <link rel="prev" href="线程池扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.16 序列化扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x5C06;&#x5BF9;&#x8C61;&#x8F6C;&#x6210;&#x5B57;&#x8282;&#x6D41;&#xFF0C;&#x7528;&#x4E8E;&#x7F51;&#x7EDC;&#x4F20;&#x8F93;&#xFF0C;&#x4EE5;&#x53CA;&#x5C06;&#x5B57;&#x8282;&#x6D41;&#x8F6C;&#x4E3A;&#x5BF9;&#x8C61;&#xFF0C;&#x7528;&#x4E8E;&#x5728;&#x6536;&#x5230;&#x5B57;&#x8282;&#x6D41;&#x6570;&#x636E;&#x540E;&#x8FD8;&#x539F;&#x6210;&#x5BF9;&#x8C61;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.common.serialize.Serialization</code></li>
-<li><code>com.alibaba.dubbo.common.serialize.ObjectInput</code></li>
-<li><code>com.alibaba.dubbo.common.serialize.ObjectOutput</code></li>
-</ul>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">serialization</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x534F;&#x8BAE;&#x7684;&#x5E8F;&#x5217;&#x5316;&#x65B9;&#x5F0F; --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">serialization</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x7F3A;&#x7701;&#x503C;&#x8BBE;&#x7F6E;&#xFF0C;&#x5F53;&lt;dubbo:protocol&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;serialization&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.common.serialize.dubbo.DubboSerialization</code></li>
-<li><code>com.alibaba.dubbo.common.serialize.hessian.Hessian2Serialization</code></li>
-<li><code>com.alibaba.dubbo.common.serialize.java.JavaSerialization</code></li>
-<li><code>com.alibaba.dubbo.common.serialize.java.CompactedJavaSerialization</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxSerialization.java (&#x5B9E;&#x73B0;Serialization&#x63A5;&#x53E3;)
-                |-XxxObjectInput.java (&#x5B9E;&#x73B0;ObjectInput&#x63A5;&#x53E3;)
-                |-XxxObjectOutput.java (&#x5B9E;&#x73B0;ObjectOutput&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.common.serialize.Serialization (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxSerialization)
-</code></pre><p>XxxSerialization.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.common.serialize.Serialization;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.common.serialize.ObjectInput;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.common.serialize.ObjectOutput;
-
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxSerialization</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Serialization</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> ObjectOutput <span class="hljs-title">serialize</span><span class="hljs-params">(Parameters parameters, OutputStream output)</span> <span class="hljs-keyword">throws</span> IOException </span>{
-        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> XxxObjectOutput(output);
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> ObjectInput <span class="hljs-title">deserialize</span><span class="hljs-params">(Parameters parameters, InputStream input)</span> <span class="hljs-keyword">throws</span> IOException </span>{
-        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> XxxObjectInput(input);
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.common.serialize.Serialization</p>
-<pre><code>xxx=com.xxx.XxxSerialization
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="线程池扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.15 线程池扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="网络传输扩展.html" class="navigation navigation-next " aria-label="Next page: 6.17 网络传输扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.16 序列化扩展","level":"1.7.16","depth":2,"next":{"title":"6.17 网络传输扩展","level":"1.7.17","depth":2,"path":"SPI参考手册/网络传输扩展.md","ref":"./SPI参考手册/网络传输扩展.md","articles":[]},"previous":{"title":"6.15 线程池扩展","level":"1.7.15","depth":2,"path":"SPI参考手册/线程池扩展.md","ref":"./SPI参考手册/线程池扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/序列化扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\274\225\347\224\250\347\233\221\345\220\254\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\274\225\347\224\250\347\233\221\345\220\254\346\211\251\345\261\225.html"
deleted file mode 100644
index e2b270e..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\345\274\225\347\224\250\347\233\221\345\220\254\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,770 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.3 引用监听扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="暴露监听扩展.html" />
-    
-    
-    <link rel="prev" href="调用拦截扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.3 引用监听扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x5F53;&#x6709;&#x670D;&#x52A1;&#x5F15;&#x7528;&#x65F6;&#xFF0C;&#x89E6;&#x53D1;&#x8BE5;&#x4E8B;&#x4EF6;&#x3002;</p>
-<h5 id="2--&#x6269;&#x5C55;&#x63A5;&#x53E3;">2.  &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.rpc.InvokerListener</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">listener</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x5F15;&#x7528;&#x670D;&#x52A1;&#x76D1;&#x542C; --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:consumer</span> <span class="hljs-attr">listener</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x5F15;&#x7528;&#x670D;&#x52A1;&#x7F3A;&#x7701;&#x76D1;&#x542C;&#x5668; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<p><code>com.alibaba.dubbo.rpc.listener.DeprecatedInvokerListener</code></p>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxInvokerListener.java (&#x5B9E;&#x73B0;InvokerListener&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.rpc.InvokerListener (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxInvokerListener)
-</code></pre><p>XxxInvokerListener.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.InvokerListener;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Invoker;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.RpcException;
-
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxInvokerListener</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">InvokerListener</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">referred</span><span class="hljs-params">(Invoker&lt;?&gt; invoker)</span> <span class="hljs-keyword">throws</span> RpcException </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">destroyed</span><span class="hljs-params">(Invoker&lt;?&gt; invoker)</span> <span class="hljs-keyword">throws</span> RpcException </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.rpc.InvokerListener</p>
-<pre><code>xxx=com.xxx.XxxInvokerListener
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="调用拦截扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.2 调用拦截扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="暴露监听扩展.html" class="navigation navigation-next " aria-label="Next page: 6.4 暴露监听扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.3 引用监听扩展","level":"1.7.3","depth":2,"next":{"title":"6.4 暴露监听扩展","level":"1.7.4","depth":2,"path":"SPI参考手册/暴露监听扩展.md","ref":"./SPI参考手册/暴露监听扩展.md","articles":[]},"previous":{"title":"6.2 调用拦截扩展","level":"1.7.2","depth":2,"path":"SPI参考手册/调用拦截扩展.md","ref":"./SPI参考手册/调用拦截扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/引用监听扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\346\211\251\345\261\225\347\202\271\345\212\240\350\275\275\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\346\211\251\345\261\225\347\202\271\345\212\240\350\275\275\346\211\251\345\261\225.html"
deleted file mode 100644
index a0d6bbf..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\346\211\251\345\261\225\347\202\271\345\212\240\350\275\275\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,766 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.11 扩展点加载扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="动态代理扩展.html" />
-    
-    
-    <link rel="prev" href="监控中心扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.11 扩展点加载扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x6269;&#x5C55;&#x70B9;&#x672C;&#x8EAB;&#x7684;&#x52A0;&#x8F7D;&#x5BB9;&#x5668;&#xFF0C;&#x53EF;&#x4ECE;&#x4E0D;&#x540C;&#x5BB9;&#x5668;&#x52A0;&#x8F7D;&#x6269;&#x5C55;&#x70B9;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.common.extension.ExtensionFactory</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">compiler</span>=<span class="hljs-string">&quot;jdk&quot;</span> /&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.common.extension.factory.SpiExtensionFactory</code></li>
-<li><code>com.alibaba.dubbo.config.spring.extension.SpringExtensionFactory</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxExtensionFactory.java (&#x5B9E;&#x73B0;ExtensionFactory&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.common.extension.ExtensionFactory (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxExtensionFactory)
-</code></pre><p>XxxExtensionFactory.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.common.extension.ExtensionFactory;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxExtensionFactory</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">ExtensionFactory</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Object <span class="hljs-title">getExtension</span><span class="hljs-params">(Class&lt;?&gt; type, String name)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.common.extension.ExtensionFactory</p>
-<pre><code>xxx=com.xxx.XxxExtensionFactory
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="监控中心扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.10 监控中心扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="动态代理扩展.html" class="navigation navigation-next " aria-label="Next page: 6.12 动态代理扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.11 扩展点加载扩展","level":"1.7.11","depth":2,"next":{"title":"6.12 动态代理扩展","level":"1.7.12","depth":2,"path":"SPI参考手册/动态代理扩展.md","ref":"./SPI参考手册/动态代理扩展.md","articles":[]},"previous":{"title":"6.10 监控中心扩展","level":"1.7.10","depth":2,"path":"SPI参考手册/监控中心扩展.md","ref":"./SPI参考手册/监控中心扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/扩展点加载扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\346\227\245\345\277\227\351\200\202\351\205\215\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\346\227\245\345\277\227\351\200\202\351\205\215\346\211\251\345\261\225.html"
deleted file mode 100644
index a9c299e..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\346\227\245\345\277\227\351\200\202\351\205\215\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,785 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.26 日志适配扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="../技术兼容性测试.html" />
-    
-    
-    <link rel="prev" href="验证扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.26 日志适配扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x65E5;&#x5FD7;&#x8F93;&#x51FA;&#x9002;&#x914D;&#x6269;&#x5C55;&#x70B9;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.common.logger.LoggerAdapter</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">logger</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span>
-</code></pre>
-<pre><code class="lang-sh">-Ddubbo:application.logger=xxx
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.common.logger.slf4j.Slf4jLoggerAdapter</code></li>
-<li><code>com.alibaba.dubbo.common.logger.jcl.JclLoggerAdapter</code></li>
-<li><code>com.alibaba.dubbo.common.logger.log4j.Log4jLoggerAdapter</code></li>
-<li><code>com.alibaba.dubbo.common.logger.jdk.JdkLoggerAdapter</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxLoggerAdapter.java (&#x5B9E;&#x73B0;LoggerAdapter&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.common.logger.LoggerAdapter (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxLoggerAdapter)
-</code></pre><p>XxxLoggerAdapter.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.common.logger.LoggerAdapter;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxLoggerAdapter</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">LoggerAdapter</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Logger <span class="hljs-title">getLogger</span><span class="hljs-params">(URL url)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>XxxLogger.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.common.logger.Logger;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxLogger</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Logger</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">XxxLogger</span><span class="hljs-params">(URL url)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">info</span><span class="hljs-params">(String msg)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-comment">// ...</span>
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.common.logger.LoggerAdapter</p>
-<pre><code>xxx=com.xxx.XxxLoggerAdapter
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="验证扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.25 验证扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="../技术兼容性测试.html" class="navigation navigation-next " aria-label="Next page: 7 技术兼容性测试">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.26 日志适配扩展","level":"1.7.26","depth":2,"next":{"title":"7 技术兼容性测试","level":"1.8","depth":1,"path":"技术兼容性测试.md","ref":"./技术兼容性测试.md","articles":[]},"previous":{"title":"6.25 验证扩展","level":"1.7.25","depth":2,"path":"SPI参考手册/验证扩展.md","ref":"./SPI参考手册/验证扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/日志适配扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\346\232\264\351\234\262\347\233\221\345\220\254\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\346\232\264\351\234\262\347\233\221\345\220\254\346\211\251\345\261\225.html"
deleted file mode 100644
index 7899195..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\346\232\264\351\234\262\347\233\221\345\220\254\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,770 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.4 暴露监听扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="集群扩展.html" />
-    
-    
-    <link rel="prev" href="引用监听扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.4 暴露监听扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x5F53;&#x6709;&#x670D;&#x52A1;&#x66B4;&#x9732;&#x65F6;&#xFF0C;&#x89E6;&#x53D1;&#x8BE5;&#x4E8B;&#x4EF6;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.rpc.ExporterListener</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">listener</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x66B4;&#x9732;&#x670D;&#x52A1;&#x76D1;&#x542C; --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">listener</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x66B4;&#x9732;&#x670D;&#x52A1;&#x7F3A;&#x7701;&#x76D1;&#x542C;&#x5668; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<p><code>com.alibaba.dubbo.registry.directory.RegistryExporterListener</code></p>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxExporterListener.java (&#x5B9E;&#x73B0;ExporterListener&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.rpc.ExporterListener (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxExporterListener)
-</code></pre><p>XxxExporterListener.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.ExporterListener;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Exporter;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.RpcException;
-
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxExporterListener</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">ExporterListener</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">exported</span><span class="hljs-params">(Exporter&lt;?&gt; exporter)</span> <span class="hljs-keyword">throws</span> RpcException </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">unexported</span><span class="hljs-params">(Exporter&lt;?&gt; exporter)</span> <span class="hljs-keyword">throws</span> RpcException </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.rpc.ExporterListener</p>
-<pre><code>xxx=com.xxx.XxxExporterListener
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="引用监听扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.3 引用监听扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="集群扩展.html" class="navigation navigation-next " aria-label="Next page: 6.5 集群扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.4 暴露监听扩展","level":"1.7.4","depth":2,"next":{"title":"6.5 集群扩展","level":"1.7.5","depth":2,"path":"SPI参考手册/集群扩展.md","ref":"./SPI参考手册/集群扩展.md","articles":[]},"previous":{"title":"6.3 引用监听扩展","level":"1.7.3","depth":2,"path":"SPI参考手册/引用监听扩展.md","ref":"./SPI参考手册/引用监听扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/暴露监听扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\346\263\250\345\206\214\344\270\255\345\277\203\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\346\263\250\345\206\214\344\270\255\345\277\203\346\211\251\345\261\225.html"
deleted file mode 100644
index fb7fe27..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\346\263\250\345\206\214\344\270\255\345\277\203\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,898 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.9 注册中心扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="监控中心扩展.html" />
-    
-    
-    <link rel="prev" href="合并结果扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.9 注册中心扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x8D1F;&#x8D23;&#x670D;&#x52A1;&#x7684;&#x6CE8;&#x518C;&#x4E0E;&#x53D1;&#x73B0;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.registry.RegistryFactory</code></li>
-<li><code>com.alibaba.dubbo.registry.Registry</code></li>
-</ul>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;xxx1&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;xxx://ip:port&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x5B9A;&#x4E49;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3; --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">registry</span>=<span class="hljs-string">&quot;xxx1&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x5F15;&#x7528;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x5982;&#x679C;&#x6CA1;&#x6709;&#x914D;&#x7F6E;registry&#x5C5E;&#x6027;&#xFF0C;&#x5C06;&#x5728;ApplicationContext&#x4E2D;&#x81EA;&#x52A8;&#x626B;&#x63CF;registry&#x914D;&#x7F6E; --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">registry</span>=<span class="hljs-string">&quot;xxx1&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x5F15;&#x7528;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7F3A;&#x7701;&#x503C;&#xFF0C;&#x5F53;&lt;dubbo:service&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;registry&#x5C5E;&#x6027;&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x6269;&#x5C55;&#x5951;&#x7EA6;">4. &#x6269;&#x5C55;&#x5951;&#x7EA6;</h5>
-<p>RegistryFactory.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">RegistryFactory</span> </span>{
-    <span class="hljs-comment">/**
-     * &#x8FDE;&#x63A5;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;.
-     * 
-     * &#x8FDE;&#x63A5;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x9700;&#x5904;&#x7406;&#x5951;&#x7EA6;&#xFF1A;&lt;br&gt;
-     * 1. &#x5F53;&#x8BBE;&#x7F6E;check=false&#x65F6;&#x8868;&#x793A;&#x4E0D;&#x68C0;&#x67E5;&#x8FDE;&#x63A5;&#xFF0C;&#x5426;&#x5219;&#x5728;&#x8FDE;&#x63A5;&#x4E0D;&#x4E0A;&#x65F6;&#x629B;&#x51FA;&#x5F02;&#x5E38;&#x3002;&lt;br&gt;
-     * 2. &#x652F;&#x6301;URL&#x4E0A;&#x7684;username:password&#x6743;&#x9650;&#x8BA4;&#x8BC1;&#x3002;&lt;br&gt;
-     * 3. &#x652F;&#x6301;backup=10.20.153.10&#x5907;&#x9009;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x96C6;&#x7FA4;&#x5730;&#x5740;&#x3002;&lt;br&gt;
-     * 4. &#x652F;&#x6301;file=registry.cache&#x672C;&#x5730;&#x78C1;&#x76D8;&#x6587;&#x4EF6;&#x7F13;&#x5B58;&#x3002;&lt;br&gt;
-     * 5. &#x652F;&#x6301;timeout=1000&#x8BF7;&#x6C42;&#x8D85;&#x65F6;&#x8BBE;&#x7F6E;&#x3002;&lt;br&gt;
-     * 6. &#x652F;&#x6301;session=60000&#x4F1A;&#x8BDD;&#x8D85;&#x65F6;&#x6216;&#x8FC7;&#x671F;&#x8BBE;&#x7F6E;&#x3002;&lt;br&gt;
-     * 
-     * <span class="hljs-doctag">@param</span> url &#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5730;&#x5740;&#xFF0C;&#x4E0D;&#x5141;&#x8BB8;&#x4E3A;&#x7A7A;
-     * <span class="hljs-doctag">@return</span> &#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5F15;&#x7528;&#xFF0C;&#x603B;&#x4E0D;&#x8FD4;&#x56DE;&#x7A7A;
-     */</span>
-    <span class="hljs-function">Registry <span class="hljs-title">getRegistry</span><span class="hljs-params">(URL url)</span></span>; 
-}
-</code></pre>
-<p>RegistryService.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">RegistryService</span> </span>{ <span class="hljs-comment">// Registry extends RegistryService </span>
-    <span class="hljs-comment">/**
-     * &#x6CE8;&#x518C;&#x670D;&#x52A1;.
-     * 
-     * &#x6CE8;&#x518C;&#x9700;&#x5904;&#x7406;&#x5951;&#x7EA6;&#xFF1A;&lt;br&gt;
-     * 1. &#x5F53;URL&#x8BBE;&#x7F6E;&#x4E86;check=false&#x65F6;&#xFF0C;&#x6CE8;&#x518C;&#x5931;&#x8D25;&#x540E;&#x4E0D;&#x62A5;&#x9519;&#xFF0C;&#x5728;&#x540E;&#x53F0;&#x5B9A;&#x65F6;&#x91CD;&#x8BD5;&#xFF0C;&#x5426;&#x5219;&#x629B;&#x51FA;&#x5F02;&#x5E38;&#x3002;&lt;br&gt;
-     * 2. &#x5F53;URL&#x8BBE;&#x7F6E;&#x4E86;dynamic=false&#x53C2;&#x6570;&#xFF0C;&#x5219;&#x9700;&#x6301;&#x4E45;&#x5B58;&#x50A8;&#xFF0C;&#x5426;&#x5219;&#xFF0C;&#x5F53;&#x6CE8;&#x518C;&#x8005;&#x51FA;&#x73B0;&#x65AD;&#x7535;&#x7B49;&#x60C5;&#x51B5;&#x5F02;&#x5E38;&#x9000;&#x51FA;&#x65F6;&#xFF0C;&#x9700;&#x81EA;&#x52A8;&#x5220;&#x9664;&#x3002;&lt;br&gt;
-     * 3. &#x5F53;URL&#x8BBE;&#x7F6E;&#x4E86;category=overrides&#x65F6;&#xFF0C;&#x8868;&#x793A;&#x5206;&#x7C7B;&#x5B58;&#x50A8;&#xFF0C;&#x7F3A;&#x7701;&#x7C7B;&#x522B;&#x4E3A;providers&#xFF0C;&#x53EF;&#x6309;&#x5206;&#x7C7B;&#x90E8;&#x5206;&#x901A;&#x77E5;&#x6570;&#x636E;&#x3002;&lt;br&gt;
-     * 4. &#x5F53;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x91CD;&#x542F;&#xFF0C;&#x7F51;&#x7EDC;&#x6296;&#x52A8;&#xFF0C;&#x4E0D;&#x80FD;&#x4E22;&#x5931;&#x6570;&#x636E;&#xFF0C;&#x5305;&#x62EC;&#x65AD;&#x7EBF;&#x81EA;&#x52A8;&#x5220;&#x9664;&#x6570;&#x636E;&#x3002;&lt;br&gt;
-     * 5. &#x5141;&#x8BB8;URI&#x76F8;&#x540C;&#x4F46;&#x53C2;&#x6570;&#x4E0D;&#x540C;&#x7684;URL&#x5E76;&#x5B58;&#xFF0C;&#x4E0D;&#x80FD;&#x8986;&#x76D6;&#x3002;&lt;br&gt;
-     * 
-     * <span class="hljs-doctag">@param</span> url &#x6CE8;&#x518C;&#x4FE1;&#x606F;&#xFF0C;&#x4E0D;&#x5141;&#x8BB8;&#x4E3A;&#x7A7A;&#xFF0C;&#x5982;&#xFF1A;dubbo://10.20.153.10/com.alibaba.foo.BarService?version=1.0.0&amp;application=kylin
-     */</span>
-    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">register</span><span class="hljs-params">(URL url)</span></span>;
-
-    <span class="hljs-comment">/**
-     * &#x53D6;&#x6D88;&#x6CE8;&#x518C;&#x670D;&#x52A1;.
-     * 
-     * &#x53D6;&#x6D88;&#x6CE8;&#x518C;&#x9700;&#x5904;&#x7406;&#x5951;&#x7EA6;&#xFF1A;&lt;br&gt;
-     * 1. &#x5982;&#x679C;&#x662F;dynamic=false&#x7684;&#x6301;&#x4E45;&#x5B58;&#x50A8;&#x6570;&#x636E;&#xFF0C;&#x627E;&#x4E0D;&#x5230;&#x6CE8;&#x518C;&#x6570;&#x636E;&#xFF0C;&#x5219;&#x629B;IllegalStateException&#xFF0C;&#x5426;&#x5219;&#x5FFD;&#x7565;&#x3002;&lt;br&gt;
-     * 2. &#x6309;&#x5168;URL&#x5339;&#x914D;&#x53D6;&#x6D88;&#x6CE8;&#x518C;&#x3002;&lt;br&gt;
-     * 
-     * <span class="hljs-doctag">@param</span> url &#x6CE8;&#x518C;&#x4FE1;&#x606F;&#xFF0C;&#x4E0D;&#x5141;&#x8BB8;&#x4E3A;&#x7A7A;&#xFF0C;&#x5982;&#xFF1A;dubbo://10.20.153.10/com.alibaba.foo.BarService?version=1.0.0&amp;application=kylin
-     */</span>
-    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">unregister</span><span class="hljs-params">(URL url)</span></span>;
-
-    <span class="hljs-comment">/**
-     * &#x8BA2;&#x9605;&#x670D;&#x52A1;.
-     * 
-     * &#x8BA2;&#x9605;&#x9700;&#x5904;&#x7406;&#x5951;&#x7EA6;&#xFF1A;&lt;br&gt;
-     * 1. &#x5F53;URL&#x8BBE;&#x7F6E;&#x4E86;check=false&#x65F6;&#xFF0C;&#x8BA2;&#x9605;&#x5931;&#x8D25;&#x540E;&#x4E0D;&#x62A5;&#x9519;&#xFF0C;&#x5728;&#x540E;&#x53F0;&#x5B9A;&#x65F6;&#x91CD;&#x8BD5;&#x3002;&lt;br&gt;
-     * 2. &#x5F53;URL&#x8BBE;&#x7F6E;&#x4E86;category=overrides&#xFF0C;&#x53EA;&#x901A;&#x77E5;&#x6307;&#x5B9A;&#x5206;&#x7C7B;&#x7684;&#x6570;&#x636E;&#xFF0C;&#x591A;&#x4E2A;&#x5206;&#x7C7B;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;&#xFF0C;&#x5E76;&#x5141;&#x8BB8;&#x661F;&#x53F7;&#x901A;&#x914D;&#xFF0C;&#x8868;&#x793A;&#x8BA2;&#x9605;&#x6240;&#x6709;&#x5206;&#x7C7B;&#x6570;&#x636E;&#x3002;&lt;br&gt;
-     * 3. &#x5141;&#x8BB8;&#x4EE5;interface,group,version,classifier&#x4F5C;&#x4E3A;&#x6761;&#x4EF6;&#x67E5;&#x8BE2;&#xFF0C;&#x5982;&#xFF1A;interface=com.alibaba.foo.BarService&amp;version=1.0.0&lt;br&gt;
-     * 4. &#x5E76;&#x4E14;&#x67E5;&#x8BE2;&#x6761;&#x4EF6;&#x5141;&#x8BB8;&#x661F;&#x53F7;&#x901A;&#x914D;&#xFF0C;&#x8BA2;&#x9605;&#x6240;&#x6709;&#x63A5;&#x53E3;&#x7684;&#x6240;&#x6709;&#x5206;&#x7EC4;&#x7684;&#x6240;&#x6709;&#x7248;&#x672C;&#xFF0C;&#x6216;&#xFF1A;interface=*&amp;group=*&amp;version=*&amp;classifier=*&lt;br&gt;
-     * 5. &#x5F53;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x91CD;&#x542F;&#xFF0C;&#x7F51;&#x7EDC;&#x6296;&#x52A8;&#xFF0C;&#x9700;&#x81EA;&#x52A8;&#x6062;&#x590D;&#x8BA2;&#x9605;&#x8BF7;&#x6C42;&#x3002;&lt;br&gt;
-     * 6. &#x5141;&#x8BB8;URI&#x76F8;&#x540C;&#x4F46;&#x53C2;&#x6570;&#x4E0D;&#x540C;&#x7684;URL&#x5E76;&#x5B58;&#xFF0C;&#x4E0D;&#x80FD;&#x8986;&#x76D6;&#x3002;&lt;br&gt;
-     * 7. &#x5FC5;&#x987B;&#x963B;&#x585E;&#x8BA2;&#x9605;&#x8FC7;&#x7A0B;&#xFF0C;&#x7B49;&#x7B2C;&#x4E00;&#x6B21;&#x901A;&#x77E5;&#x5B8C;&#x540E;&#x518D;&#x8FD4;&#x56DE;&#x3002;&lt;br&gt;
-     * 
-     * <span class="hljs-doctag">@param</span> url &#x8BA2;&#x9605;&#x6761;&#x4EF6;&#xFF0C;&#x4E0D;&#x5141;&#x8BB8;&#x4E3A;&#x7A7A;&#xFF0C;&#x5982;&#xFF1A;consumer://10.20.153.10/com.alibaba.foo.BarService?version=1.0.0&amp;application=kylin
-     * <span class="hljs-doctag">@param</span> listener &#x53D8;&#x66F4;&#x4E8B;&#x4EF6;&#x76D1;&#x542C;&#x5668;&#xFF0C;&#x4E0D;&#x5141;&#x8BB8;&#x4E3A;&#x7A7A;
-     */</span>
-    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">subscribe</span><span class="hljs-params">(URL url, NotifyListener listener)</span></span>;
-
-    <span class="hljs-comment">/**
-     * &#x53D6;&#x6D88;&#x8BA2;&#x9605;&#x670D;&#x52A1;.
-     * 
-     * &#x53D6;&#x6D88;&#x8BA2;&#x9605;&#x9700;&#x5904;&#x7406;&#x5951;&#x7EA6;&#xFF1A;&lt;br&gt;
-     * 1. &#x5982;&#x679C;&#x6CA1;&#x6709;&#x8BA2;&#x9605;&#xFF0C;&#x76F4;&#x63A5;&#x5FFD;&#x7565;&#x3002;&lt;br&gt;
-     * 2. &#x6309;&#x5168;URL&#x5339;&#x914D;&#x53D6;&#x6D88;&#x8BA2;&#x9605;&#x3002;&lt;br&gt;
-     * 
-     * <span class="hljs-doctag">@param</span> url &#x8BA2;&#x9605;&#x6761;&#x4EF6;&#xFF0C;&#x4E0D;&#x5141;&#x8BB8;&#x4E3A;&#x7A7A;&#xFF0C;&#x5982;&#xFF1A;consumer://10.20.153.10/com.alibaba.foo.BarService?version=1.0.0&amp;application=kylin
-     * <span class="hljs-doctag">@param</span> listener &#x53D8;&#x66F4;&#x4E8B;&#x4EF6;&#x76D1;&#x542C;&#x5668;&#xFF0C;&#x4E0D;&#x5141;&#x8BB8;&#x4E3A;&#x7A7A;
-     */</span>
-    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">unsubscribe</span><span class="hljs-params">(URL url, NotifyListener listener)</span></span>;
-
-    <span class="hljs-comment">/**
-     * &#x67E5;&#x8BE2;&#x6CE8;&#x518C;&#x5217;&#x8868;&#xFF0C;&#x4E0E;&#x8BA2;&#x9605;&#x7684;&#x63A8;&#x6A21;&#x5F0F;&#x76F8;&#x5BF9;&#x5E94;&#xFF0C;&#x8FD9;&#x91CC;&#x4E3A;&#x62C9;&#x6A21;&#x5F0F;&#xFF0C;&#x53EA;&#x8FD4;&#x56DE;&#x4E00;&#x6B21;&#x7ED3;&#x679C;&#x3002;
-     * 
-     * <span class="hljs-doctag">@see</span> com.alibaba.dubbo.registry.NotifyListener#notify(List)
-     * <span class="hljs-doctag">@param</span> url &#x67E5;&#x8BE2;&#x6761;&#x4EF6;&#xFF0C;&#x4E0D;&#x5141;&#x8BB8;&#x4E3A;&#x7A7A;&#xFF0C;&#x5982;&#xFF1A;consumer://10.20.153.10/com.alibaba.foo.BarService?version=1.0.0&amp;application=kylin
-     * <span class="hljs-doctag">@return</span> &#x5DF2;&#x6CE8;&#x518C;&#x4FE1;&#x606F;&#x5217;&#x8868;&#xFF0C;&#x53EF;&#x80FD;&#x4E3A;&#x7A7A;&#xFF0C;&#x542B;&#x4E49;&#x540C;{<span class="hljs-doctag">@link</span> com.alibaba.dubbo.registry.NotifyListener#notify(List&lt;URL&gt;)}&#x7684;&#x53C2;&#x6570;&#x3002;
-     */</span>
-    <span class="hljs-function">List&lt;URL&gt; <span class="hljs-title">lookup</span><span class="hljs-params">(URL url)</span></span>;
-
-}
-</code></pre>
-<p>NotifyListener.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">NotifyListener</span> </span>{ 
-    <span class="hljs-comment">/**
-     * &#x5F53;&#x6536;&#x5230;&#x670D;&#x52A1;&#x53D8;&#x66F4;&#x901A;&#x77E5;&#x65F6;&#x89E6;&#x53D1;&#x3002;
-     * 
-     * &#x901A;&#x77E5;&#x9700;&#x5904;&#x7406;&#x5951;&#x7EA6;&#xFF1A;&lt;br&gt;
-     * 1. &#x603B;&#x662F;&#x4EE5;&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x548C;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x4E3A;&#x7EF4;&#x5EA6;&#x5168;&#x91CF;&#x901A;&#x77E5;&#xFF0C;&#x5373;&#x4E0D;&#x4F1A;&#x901A;&#x77E5;&#x4E00;&#x4E2A;&#x670D;&#x52A1;&#x7684;&#x540C;&#x7C7B;&#x578B;&#x7684;&#x90E8;&#x5206;&#x6570;&#x636E;&#xFF0C;&#x7528;&#x6237;&#x4E0D;&#x9700;&#x8981;&#x5BF9;&#x6BD4;&#x4E0A;&#x4E00;&#x6B21;&#x901A;&#x77E5;&#x7ED3;&#x679C;&#x3002;&lt;br&gt;
-     * 2. &#x8BA2;&#x9605;&#x65F6;&#x7684;&#x7B2C;&#x4E00;&#x6B21;&#x901A;&#x77E5;&#xFF0C;&#x5FC5;&#x987B;&#x662F;&#x4E00;&#x4E2A;&#x670D;&#x52A1;&#x7684;&#x6240;&#x6709;&#x7C7B;&#x578B;&#x6570;&#x636E;&#x7684;&#x5168;&#x91CF;&#x901A;&#x77E5;&#x3002;&lt;br&gt;
-     * 3. &#x4E2D;&#x9014;&#x53D8;&#x66F4;&#x65F6;&#xFF0C;&#x5141;&#x8BB8;&#x4E0D;&#x540C;&#x7C7B;&#x578B;&#x7684;&#x6570;&#x636E;&#x5206;&#x5F00;&#x901A;&#x77E5;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;providers, consumers, routes, overrides&#xFF0C;&#x5141;&#x8BB8;&#x53EA;&#x901A;&#x77E5;&#x5176;&#x4E2D;&#x4E00;&#x79CD;&#x7C7B;&#x578B;&#xFF0C;&#x4F46;&#x8BE5;&#x7C7B;&#x578B;&#x7684;&#x6570;&#x636E;&#x5FC5;&#x987B;&#x662F;&#x5168;&#x91CF;&#x7684;&#xFF0C;&#x4E0D;&#x662F;&#x589E;&#x91CF;&#x7684;&#x3002;&lt;br&gt;
-     * 4. &#x5982;&#x679C;&#x4E00;&#x79CD;&#x7C7B;&#x578B;&#x7684;&#x6570;&#x636E;&#x4E3A;&#x7A7A;&#xFF0C;&#x9700;&#x901A;&#x77E5;&#x4E00;&#x4E2A;empty&#x534F;&#x8BAE;&#x5E76;&#x5E26;category&#x53C2;&#x6570;&#x7684;&#x6807;&#x8BC6;&#x6027;URL&#x6570;&#x636E;&#x3002;&lt;br&gt;
-     * 5. &#x901A;&#x77E5;&#x8005;(&#x5373;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5B9E;&#x73B0;)&#x9700;&#x4FDD;&#x8BC1;&#x901A;&#x77E5;&#x7684;&#x987A;&#x5E8F;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;&#x5355;&#x7EBF;&#x7A0B;&#x63A8;&#x9001;&#xFF0C;&#x961F;&#x5217;&#x4E32;&#x884C;&#x5316;&#xFF0C;&#x5E26;&#x7248;&#x672C;&#x5BF9;&#x6BD4;&#x3002;&lt;br&gt;
-     * 
-     * <span class="hljs-doctag">@param</span> urls &#x5DF2;&#x6CE8;&#x518C;&#x4FE1;&#x606F;&#x5217;&#x8868;&#xFF0C;&#x603B;&#x4E0D;&#x4E3A;&#x7A7A;&#xFF0C;&#x542B;&#x4E49;&#x540C;{<span class="hljs-doctag">@link</span> com.alibaba.dubbo.registry.RegistryService#lookup(URL)}&#x7684;&#x8FD4;&#x56DE;&#x503C;&#x3002;
-     */</span>
-    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">notify</span><span class="hljs-params">(List&lt;URL&gt; urls)</span></span>;
-
-}
-</code></pre>
-<h5 id="5-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">5. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<p><code>com.alibaba.dubbo.registry.support.dubbo.DubboRegistryFactory</code></p>
-<h5 id="6-&#x6269;&#x5C55;&#x793A;&#x4F8B;">6. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxRegistryFactoryjava (&#x5B9E;&#x73B0;RegistryFactory&#x63A5;&#x53E3;)
-                |-XxxRegistry.java (&#x5B9E;&#x73B0;Registry&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.registry.RegistryFactory (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxRegistryFactory)
-</code></pre><p>XxxRegistryFactory.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.registry.RegistryFactory;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.registry.Registry;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.common.URL;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxRegistryFactory</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">RegistryFactory</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Registry <span class="hljs-title">getRegistry</span><span class="hljs-params">(URL url)</span> </span>{
-        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> XxxRegistry(url);
-    }
-}
-</code></pre>
-<p>XxxRegistry.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.registry.Registry;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.registry.NotifyListener;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.common.URL;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxRegistry</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Registry</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">register</span><span class="hljs-params">(URL url)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">unregister</span><span class="hljs-params">(URL url)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">subscribe</span><span class="hljs-params">(URL url, NotifyListener listener)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">unsubscribe</span><span class="hljs-params">(URL url, NotifyListener listener)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.registry.RegistryFactory</p>
-<pre><code>xxx=com.xxx.XxxRegistryFactory
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="合并结果扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.8 合并结果扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="监控中心扩展.html" class="navigation navigation-next " aria-label="Next page: 6.10 监控中心扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.9 注册中心扩展","level":"1.7.9","depth":2,"next":{"title":"6.10 监控中心扩展","level":"1.7.10","depth":2,"path":"SPI参考手册/监控中心扩展.md","ref":"./SPI参考手册/监控中心扩展.md","articles":[]},"previous":{"title":"6.8 合并结果扩展","level":"1.7.8","depth":2,"path":"SPI参考手册/合并结果扩展.md","ref":"./SPI参考手册/合并结果扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/注册中心扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\346\266\210\346\201\257\346\264\276\345\217\221\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\346\266\210\346\201\257\346\264\276\345\217\221\346\211\251\345\261\225.html"
deleted file mode 100644
index 013e5be..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\346\266\210\346\201\257\346\264\276\345\217\221\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,770 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.14 消息派发扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="线程池扩展.html" />
-    
-    
-    <link rel="prev" href="编译器扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.14 消息派发扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x901A;&#x9053;&#x4FE1;&#x606F;&#x6D3E;&#x53D1;&#x5668;&#xFF0C;&#x7528;&#x4E8E;&#x6307;&#x5B9A;&#x7EBF;&#x7A0B;&#x6C60;&#x6A21;&#x578B;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.remoting.Dispatcher</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">dispatcher</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">dispatcher</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x7F3A;&#x7701;&#x503C;&#x8BBE;&#x7F6E;&#xFF0C;&#x5F53;&lt;dubbo:protocol&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;dispatcher&#x5C5E;&#x6027;&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.remoting.transport.dispatcher.all.AllDispatcher</code></li>
-<li><code>com.alibaba.dubbo.remoting.transport.dispatcher.direct.DirectDispatcher</code></li>
-<li><code>com.alibaba.dubbo.remoting.transport.dispatcher.message.MessageOnlyDispatcher</code></li>
-<li><code>com.alibaba.dubbo.remoting.transport.dispatcher.execution.ExecutionDispatcher</code></li>
-<li><code>com.alibaba.dubbo.remoting.transport.dispatcher.connection.ConnectionOrderedDispatcher</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxDispatcher.java (&#x5B9E;&#x73B0;Dispatcher&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.remoting.Dispatcher (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxDispatcher)
-</code></pre><p>XxxDispatcher.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.remoting.Dispatcher;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxDispatcher</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Dispatcher</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Group <span class="hljs-title">lookup</span><span class="hljs-params">(URL url)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.remoting.Dispatcher</p>
-<pre><code>xxx=com.xxx.XxxDispatcher
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="编译器扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.13 编译器扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="线程池扩展.html" class="navigation navigation-next " aria-label="Next page: 6.15 线程池扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.14 消息派发扩展","level":"1.7.14","depth":2,"next":{"title":"6.15 线程池扩展","level":"1.7.15","depth":2,"path":"SPI参考手册/线程池扩展.md","ref":"./SPI参考手册/线程池扩展.md","articles":[]},"previous":{"title":"6.13 编译器扩展","level":"1.7.13","depth":2,"path":"SPI参考手册/编译器扩展.md","ref":"./SPI参考手册/编译器扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/消息派发扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\212\266\346\200\201\346\243\200\346\237\245\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\212\266\346\200\201\346\243\200\346\237\245\346\211\251\345\261\225.html"
deleted file mode 100644
index 4580eb6..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\212\266\346\200\201\346\243\200\346\237\245\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,772 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.21 状态检查扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="容器扩展.html" />
-    
-    
-    <link rel="prev" href="Telnet命令扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.21 状态检查扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x68C0;&#x67E5;&#x670D;&#x52A1;&#x4F9D;&#x8D56;&#x5404;&#x79CD;&#x8D44;&#x6E90;&#x7684;&#x72B6;&#x6001;&#xFF0C;&#x6B64;&#x72B6;&#x6001;&#x68C0;&#x67E5;&#x53EF;&#x540C;&#x65F6;&#x7528;&#x4E8E; telnet &#x7684; status &#x547D;&#x4EE4;&#x548C; hosting &#x7684; status &#x9875;&#x9762;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.common.status.StatusChecker</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">status</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">status</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x7F3A;&#x7701;&#x503C;&#x8BBE;&#x7F6E;&#xFF0C;&#x5F53;&lt;dubbo:protocol&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;status&#x5C5E;&#x6027;&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.common.status.support.MemoryStatusChecker</code></li>
-<li><code>com.alibaba.dubbo.common.status.support.LoadStatusChecker</code></li>
-<li><code>com.alibaba.dubbo.rpc.dubbo.status.ServerStatusChecker</code></li>
-<li><code>com.alibaba.dubbo.rpc.dubbo.status.ThreadPoolStatusChecker</code></li>
-<li><code>com.alibaba.dubbo.registry.directory.RegistryStatusChecker</code></li>
-<li><code>com.alibaba.dubbo.rpc.config.spring.status.SpringStatusChecker</code></li>
-<li><code>com.alibaba.dubbo.rpc.config.spring.status.DataSourceStatusChecker</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxStatusChecker.java (&#x5B9E;&#x73B0;StatusChecker&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.common.status.StatusChecker (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxStatusChecker)
-</code></pre><p>XxxStatusChecker.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.common.status.StatusChecker;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxStatusChecker</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">StatusChecker</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Status <span class="hljs-title">check</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.common.status.StatusChecker</p>
-<pre><code>xxx=com.xxx.XxxStatusChecker
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="Telnet命令扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.20 Telnet命令扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="容器扩展.html" class="navigation navigation-next " aria-label="Next page: 6.22 容器扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.21 状态检查扩展","level":"1.7.21","depth":2,"next":{"title":"6.22 容器扩展","level":"1.7.22","depth":2,"path":"SPI参考手册/容器扩展.md","ref":"./SPI参考手册/容器扩展.md","articles":[]},"previous":{"title":"6.20 Telnet命令扩展","level":"1.7.20","depth":2,"path":"SPI参考手册/Telnet命令扩展.md","ref":"./SPI参考手册/Telnet命令扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/状态检查扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\233\221\346\216\247\344\270\255\345\277\203\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\233\221\346\216\247\344\270\255\345\277\203\346\211\251\345\261\225.html"
deleted file mode 100644
index 22a3c80..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\233\221\346\216\247\344\270\255\345\277\203\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,780 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.10 监控中心扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="扩展点加载扩展.html" />
-    
-    
-    <link rel="prev" href="注册中心扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.10 监控中心扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x8D1F;&#x8D23;&#x670D;&#x52A1;&#x8C03;&#x7528;&#x6B21;&#x548C;&#x8C03;&#x7528;&#x65F6;&#x95F4;&#x7684;&#x76D1;&#x63A7;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.monitor.MonitorFactory</code></li>
-<li><code>com.alibaba.dubbo.monitor.Monitor</code></li>
-</ul>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:monitor</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;xxx://ip:port&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x5B9A;&#x4E49;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<p>com.alibaba.dubbo.monitor.support.dubbo.DubboMonitorFactory</p>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxMonitorFactoryjava (&#x5B9E;&#x73B0;MonitorFactory&#x63A5;&#x53E3;)
-                |-XxxMonitor.java (&#x5B9E;&#x73B0;Monitor&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.monitor.MonitorFactory (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxMonitorFactory)
-</code></pre><p>XxxMonitorFactory.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.monitor.MonitorFactory;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.monitor.Monitor;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.common.URL;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxMonitorFactory</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">MonitorFactory</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Monitor <span class="hljs-title">getMonitor</span><span class="hljs-params">(URL url)</span> </span>{
-        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> XxxMonitor(url);
-    }
-}
-</code></pre>
-<p>XxxMonitor.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.monitor.Monitor;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxMonitor</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Monitor</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">count</span><span class="hljs-params">(URL statistics)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.monitor.MonitorFactory</p>
-<pre><code>xxx=com.xxx.XxxMonitorFactory
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="注册中心扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.9 注册中心扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="扩展点加载扩展.html" class="navigation navigation-next " aria-label="Next page: 6.11 扩展点加载扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.10 监控中心扩展","level":"1.7.10","depth":2,"next":{"title":"6.11 扩展点加载扩展","level":"1.7.11","depth":2,"path":"SPI参考手册/扩展点加载扩展.md","ref":"./SPI参考手册/扩展点加载扩展.md","articles":[]},"previous":{"title":"6.9 注册中心扩展","level":"1.7.9","depth":2,"path":"SPI参考手册/注册中心扩展.md","ref":"./SPI参考手册/注册中心扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/监控中心扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\272\277\347\250\213\346\261\240\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\272\277\347\250\213\346\261\240\346\211\251\345\261\225.html"
deleted file mode 100644
index a4789d5..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\272\277\347\250\213\346\261\240\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,768 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.15 线程池扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="序列化扩展.html" />
-    
-    
-    <link rel="prev" href="消息派发扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.15 线程池扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x7EBF;&#x7A0B;&#x7A0B;&#x5B9E;&#x73B0;&#x7B56;&#x7565;&#xFF0C;&#x5F53;&#x670D;&#x52A1;&#x5668;&#x6536;&#x5230;&#x4E00;&#x4E2A;&#x8BF7;&#x6C42;&#x65F6;&#xFF0C;&#x9700;&#x8981;&#x5728;&#x7EBF;&#x7A0B;&#x6C60;&#x4E2D;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x7EBF;&#x7A0B;&#x53BB;&#x6267;&#x884C;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.common.threadpool.ThreadPool</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">threadpool</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">threadpool</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x7F3A;&#x7701;&#x503C;&#x8BBE;&#x7F6E;&#xFF0C;&#x5F53;&lt;dubbo:protocol&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;threadpool&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.common.threadpool.FixedThreadPool</code></li>
-<li><code>com.alibaba.dubbo.common.threadpool.CachedThreadPool</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxThreadPool.java (&#x5B9E;&#x73B0;ThreadPool&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.common.threadpool.ThreadPool (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxThreadPool)
-</code></pre><p>XxxThreadPool.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.common.threadpool.ThreadPool;
-<span class="hljs-keyword">import</span> java.util.concurrent.Executor;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxThreadPool</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">ThreadPool</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Executor <span class="hljs-title">getExecutor</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.common.threadpool.ThreadPool</p>
-<pre><code>xxx=com.xxx.XxxThreadPool
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="消息派发扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.14 消息派发扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="序列化扩展.html" class="navigation navigation-next " aria-label="Next page: 6.16 序列化扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.15 线程池扩展","level":"1.7.15","depth":2,"next":{"title":"6.16 序列化扩展","level":"1.7.16","depth":2,"path":"SPI参考手册/序列化扩展.md","ref":"./SPI参考手册/序列化扩展.md","articles":[]},"previous":{"title":"6.14 消息派发扩展","level":"1.7.14","depth":2,"path":"SPI参考手册/消息派发扩展.md","ref":"./SPI参考手册/消息派发扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/线程池扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\273\204\347\275\221\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\273\204\347\275\221\346\211\251\345\261\225.html"
deleted file mode 100644
index 88398af..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\273\204\347\275\221\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,767 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.19 组网扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="Telnet命令扩展.html" />
-    
-    
-    <link rel="prev" href="信息交换扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.19 组网扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x5BF9;&#x7B49;&#x7F51;&#x7EDC;&#x8282;&#x70B9;&#x7EC4;&#x7F51;&#x5668;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.remoting.p2p.Networker</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">networker</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">networker</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x7F3A;&#x7701;&#x503C;&#x8BBE;&#x7F6E;&#xFF0C;&#x5F53;&lt;dubbo:protocol&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;networker&#x5C5E;&#x6027;&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.remoting.p2p.support.MulticastNetworker</code></li>
-<li><code>com.alibaba.dubbo.remoting.p2p.support.FileNetworker</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxNetworker.java (&#x5B9E;&#x73B0;Networker&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.remoting.p2p.Networker (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxNetworker)
-</code></pre><p>XxxNetworker.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.remoting.p2p.Networker;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxNetworker</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Networker</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Group <span class="hljs-title">lookup</span><span class="hljs-params">(URL url)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.remoting.p2p.Networker</p>
-<pre><code>xxx=com.xxx.XxxNetworker
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="信息交换扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.18 信息交换扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="Telnet命令扩展.html" class="navigation navigation-next " aria-label="Next page: 6.20 Telnet命令扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.19 组网扩展","level":"1.7.19","depth":2,"next":{"title":"6.20 Telnet命令扩展","level":"1.7.20","depth":2,"path":"SPI参考手册/Telnet命令扩展.md","ref":"./SPI参考手册/Telnet命令扩展.md","articles":[]},"previous":{"title":"6.18 信息交换扩展","level":"1.7.18","depth":2,"path":"SPI参考手册/信息交换扩展.md","ref":"./SPI参考手册/信息交换扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/组网扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\274\223\345\255\230\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\274\223\345\255\230\346\211\251\345\261\225.html"
deleted file mode 100644
index 210885e..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\274\223\345\255\230\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,786 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.24 缓存扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="验证扩展.html" />
-    
-    
-    <link rel="prev" href="页面扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.24 缓存扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x7528;&#x8BF7;&#x6C42;&#x53C2;&#x6570;&#x4F5C;&#x4E3A;key&#xFF0C;&#x7F13;&#x5B58;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.cache.CacheFactory</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">cache</span>=<span class="hljs-string">&quot;lru&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">cache</span>=<span class="hljs-string">&quot;lru&quot;</span> /&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:service</span>&gt;</span> <span class="hljs-comment">&lt;!-- &#x65B9;&#x6CD5;&#x7EA7;&#x7F13;&#x5B58; --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">cache</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x7F3A;&#x7701;&#x503C;&#x8BBE;&#x7F6E;&#xFF0C;&#x5F53;&lt;dubbo:service&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;cache&#x5C5E;&#x6027;&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.cache.support.lru.LruCacheFactory</code></li>
-<li><code>com.alibaba.dubbo.cache.support.threadlocal.ThreadLocalCacheFactory</code></li>
-<li><code>com.alibaba.dubbo.cache.support.jcache.JCacheFactory</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxCacheFactory.java (&#x5B9E;&#x73B0;StatusChecker&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.cache.CacheFactory (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxCacheFactory)
-</code></pre><p>XxxCacheFactory.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.cache.CacheFactory;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxCacheFactory</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">CacheFactory</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Cache <span class="hljs-title">getCache</span><span class="hljs-params">(URL url, String name)</span> </span>{
-        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> XxxCache(url, name);
-    }
-}
-</code></pre>
-<p>XxxCacheFactory.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.cache.Cache;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxCache</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Cache</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">Cache</span><span class="hljs-params">(URL url, String name)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">put</span><span class="hljs-params">(Object key, Object value)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Object <span class="hljs-title">get</span><span class="hljs-params">(Object key)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.cache.CacheFactory</p>
-<pre><code>xxx=com.xxx.XxxCacheFactory
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="页面扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.23 页面扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="验证扩展.html" class="navigation navigation-next " aria-label="Next page: 6.25 验证扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.24 缓存扩展","level":"1.7.24","depth":2,"next":{"title":"6.25 验证扩展","level":"1.7.25","depth":2,"path":"SPI参考手册/验证扩展.md","ref":"./SPI参考手册/验证扩展.md","articles":[]},"previous":{"title":"6.23 页面扩展","level":"1.7.23","depth":2,"path":"SPI参考手册/页面扩展.md","ref":"./SPI参考手册/页面扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/缓存扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\274\226\350\257\221\345\231\250\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\274\226\350\257\221\345\231\250\346\211\251\345\261\225.html"
deleted file mode 100644
index e14514a..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\274\226\350\257\221\345\231\250\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,765 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.13 编译器扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="消息派发扩展.html" />
-    
-    
-    <link rel="prev" href="动态代理扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.13 编译器扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>Java &#x4EE3;&#x7801;&#x7F16;&#x8BD1;&#x5668;&#xFF0C;&#x7528;&#x4E8E;&#x52A8;&#x6001;&#x751F;&#x6210;&#x5B57;&#x8282;&#x7801;&#xFF0C;&#x52A0;&#x901F;&#x8C03;&#x7528;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.common.compiler.Compiler</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<p>&#x81EA;&#x52A8;&#x52A0;&#x8F7D;</p>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.common.compiler.support.JdkCompiler</code></li>
-<li><code>com.alibaba.dubbo.common.compiler.support.JavassistCompiler</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxCompiler.java (&#x5B9E;&#x73B0;Compiler&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.common.compiler.Compiler (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxCompiler)
-</code></pre><p>XxxCompiler.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.common.compiler.Compiler;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxCompiler</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Compiler</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Object <span class="hljs-title">getExtension</span><span class="hljs-params">(Class&lt;?&gt; type, String name)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.common.compiler.Compiler</p>
-<pre><code>xxx=com.xxx.XxxCompiler
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="动态代理扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.12 动态代理扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="消息派发扩展.html" class="navigation navigation-next " aria-label="Next page: 6.14 消息派发扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.13 编译器扩展","level":"1.7.13","depth":2,"next":{"title":"6.14 消息派发扩展","level":"1.7.14","depth":2,"path":"SPI参考手册/消息派发扩展.md","ref":"./SPI参考手册/消息派发扩展.md","articles":[]},"previous":{"title":"6.12 动态代理扩展","level":"1.7.12","depth":2,"path":"SPI参考手册/动态代理扩展.md","ref":"./SPI参考手册/动态代理扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/编译器扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\275\221\347\273\234\344\274\240\350\276\223\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\275\221\347\273\234\344\274\240\350\276\223\346\211\251\345\261\225.html"
deleted file mode 100644
index 9878c3a..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\347\275\221\347\273\234\344\274\240\350\276\223\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,824 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.17 网络传输扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="信息交换扩展.html" />
-    
-    
-    <link rel="prev" href="序列化扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.17 网络传输扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x8FDC;&#x7A0B;&#x901A;&#x8BAF;&#x7684;&#x670D;&#x52A1;&#x5668;&#x53CA;&#x5BA2;&#x6237;&#x7AEF;&#x4F20;&#x8F93;&#x5B9E;&#x73B0;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.remoting.Transporter</code></li>
-<li><code>com.alibaba.dubbo.remoting.Server</code></li>
-<li><code>com.alibaba.dubbo.remoting.Client</code></li>
-</ul>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">transporter</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x670D;&#x52A1;&#x5668;&#x548C;&#x5BA2;&#x6237;&#x7AEF;&#x4F7F;&#x7528;&#x76F8;&#x540C;&#x7684;&#x4F20;&#x8F93;&#x5B9E;&#x73B0; --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">server</span>=<span class="hljs-string">&quot;xxx&quot;</span> <span class="hljs-attr">client</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x670D;&#x52A1;&#x5668;&#x548C;&#x5BA2;&#x6237;&#x7AEF;&#x4F7F;&#x7528;&#x4E0D;&#x540C;&#x7684;&#x4F20;&#x8F93;&#x5B9E;&#x73B0; --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">transporter</span>=<span class="hljs-string">&quot;xxx&quot;</span> <span class="hljs-attr">server</span>=<span class="hljs-string">&quot;xxx&quot;</span> <span class="hljs-attr">client</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x7F3A;&#x7701;&#x503C;&#x8BBE;&#x7F6E;&#xFF0C;&#x5F53;&lt;dubbo:protocol&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;transporter/server/client&#x5C5E;&#x6027;&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.remoting.transport.transporter.netty.NettyTransporter</code></li>
-<li><code>com.alibaba.dubbo.remoting.transport.transporter.mina.MinaTransporter</code></li>
-<li><code>com.alibaba.dubbo.remoting.transport.transporter.grizzly.GrizzlyTransporter</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxTransporter.java (&#x5B9E;&#x73B0;Transporter&#x63A5;&#x53E3;)
-                |-XxxServer.java (&#x5B9E;&#x73B0;Server&#x63A5;&#x53E3;)
-                |-XxxClient.java (&#x5B9E;&#x73B0;Client&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.remoting.Transporter (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxTransporter)
-</code></pre><p>XxxTransporter.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.remoting.Transporter;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxTransporter</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Transporter</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Server <span class="hljs-title">bind</span><span class="hljs-params">(URL url, ChannelHandler handler)</span> <span class="hljs-keyword">throws</span> RemotingException </span>{
-        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> XxxServer(url, handler);
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Client <span class="hljs-title">connect</span><span class="hljs-params">(URL url, ChannelHandler handler)</span> <span class="hljs-keyword">throws</span> RemotingException </span>{
-        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> XxxClient(url, handler);
-    }
-}
-</code></pre>
-<p>XxxServer.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.remoting.transport.transporter.AbstractServer;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxServer</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">AbstractServer</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">XxxServer</span><span class="hljs-params">(URL url, ChannelHandler handler)</span> <span class="hljs-keyword">throws</span> RemotingException</span>{
-        <span class="hljs-keyword">super</span>(url, handler);
-    }
-    <span class="hljs-function"><span class="hljs-keyword">protected</span> <span class="hljs-keyword">void</span> <span class="hljs-title">doOpen</span><span class="hljs-params">()</span> <span class="hljs-keyword">throws</span> Throwable </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">protected</span> <span class="hljs-keyword">void</span> <span class="hljs-title">doClose</span><span class="hljs-params">()</span> <span class="hljs-keyword">throws</span> Throwable </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Collection&lt;Channel&gt; <span class="hljs-title">getChannels</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Channel <span class="hljs-title">getChannel</span><span class="hljs-params">(InetSocketAddress remoteAddress)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>XxxClient.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.remoting.transport.transporter.AbstractClient;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxClient</span> <span class="hljs-keyword">extends</span> <span class="hljs-title">AbstractClient</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">XxxServer</span><span class="hljs-params">(URL url, ChannelHandler handler)</span> <span class="hljs-keyword">throws</span> RemotingException</span>{
-        <span class="hljs-keyword">super</span>(url, handler);
-    }
-    <span class="hljs-function"><span class="hljs-keyword">protected</span> <span class="hljs-keyword">void</span> <span class="hljs-title">doOpen</span><span class="hljs-params">()</span> <span class="hljs-keyword">throws</span> Throwable </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">protected</span> <span class="hljs-keyword">void</span> <span class="hljs-title">doClose</span><span class="hljs-params">()</span> <span class="hljs-keyword">throws</span> Throwable </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">protected</span> <span class="hljs-keyword">void</span> <span class="hljs-title">doConnect</span><span class="hljs-params">()</span> <span class="hljs-keyword">throws</span> Throwable </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Channel <span class="hljs-title">getChannel</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.remoting.Transporter</p>
-<pre><code>xxx=com.xxx.XxxTransporter
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="序列化扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.16 序列化扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="信息交换扩展.html" class="navigation navigation-next " aria-label="Next page: 6.18 信息交换扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.17 网络传输扩展","level":"1.7.17","depth":2,"next":{"title":"6.18 信息交换扩展","level":"1.7.18","depth":2,"path":"SPI参考手册/信息交换扩展.md","ref":"./SPI参考手册/信息交换扩展.md","articles":[]},"previous":{"title":"6.16 序列化扩展","level":"1.7.16","depth":2,"path":"SPI参考手册/序列化扩展.md","ref":"./SPI参考手册/序列化扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/网络传输扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\350\260\203\347\224\250\346\213\246\346\210\252\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\350\260\203\347\224\250\346\213\246\346\210\252\346\211\251\345\261\225.html"
deleted file mode 100644
index 646b97a..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\350\260\203\347\224\250\346\213\246\346\210\252\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,795 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.2 调用拦截扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="引用监听扩展.html" />
-    
-    
-    <link rel="prev" href="协议扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.2 调用拦截扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x548C;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#x8C03;&#x7528;&#x8FC7;&#x7A0B;&#x62E6;&#x622A;&#xFF0C;Dubbo &#x672C;&#x8EAB;&#x7684;&#x5927;&#x591A;&#x529F;&#x80FD;&#x5747;&#x57FA;&#x4E8E;&#x6B64;&#x6269;&#x5C55;&#x70B9;&#x5B9E;&#x73B0;&#xFF0C;&#x6BCF;&#x6B21;&#x8FDC;&#x7A0B;&#x65B9;&#x6CD5;&#x6267;&#x884C;&#xFF0C;&#x8BE5;&#x62E6;&#x622A;&#x90FD;&#x4F1A;&#x88AB;&#x6267;&#x884C;&#xFF0C;&#x8BF7;&#x6CE8;&#x610F;&#x5BF9;&#x6027;&#x80FD;&#x7684;&#x5F71;&#x54CD;&#x3002;</p>
-<p>&#x7EA6;&#x5B9A;&#xFF1A;</p>
-<ul>
-<li>&#x7528;&#x6237;&#x81EA;&#x5B9A;&#x4E49; filter &#x9ED8;&#x8BA4;&#x5728;&#x5185;&#x7F6E; filter &#x4E4B;&#x540E;&#x3002;</li>
-<li>&#x7279;&#x6B8A;&#x503C; <code>default</code>&#xFF0C;&#x8868;&#x793A;&#x7F3A;&#x7701;&#x6269;&#x5C55;&#x70B9;&#x63D2;&#x5165;&#x7684;&#x4F4D;&#x7F6E;&#x3002;&#x6BD4;&#x5982;&#xFF1A;<code>filter=&quot;xxx,default,yyy&quot;</code>&#xFF0C;&#x8868;&#x793A; <code>xxx</code> &#x5728;&#x7F3A;&#x7701; filter &#x4E4B;&#x524D;&#xFF0C;<code>yyy</code> &#x5728;&#x7F3A;&#x7701; filter &#x4E4B;&#x540E;&#x3002;</li>
-<li>&#x7279;&#x6B8A;&#x7B26;&#x53F7; <code>-</code>&#xFF0C;&#x8868;&#x793A;&#x5254;&#x9664;&#x3002;&#x6BD4;&#x5982;&#xFF1A;<code>filter=&quot;-foo1&quot;</code>&#xFF0C;&#x5254;&#x9664;&#x6DFB;&#x52A0;&#x7F3A;&#x7701;&#x6269;&#x5C55;&#x70B9; <code>foo1</code>&#x3002;&#x6BD4;&#x5982;&#xFF1A;<code>filter=&quot;-default&quot;</code>&#xFF0C;&#x5254;&#x9664;&#x6DFB;&#x52A0;&#x6240;&#x6709;&#x7F3A;&#x7701;&#x6269;&#x5C55;&#x70B9;&#x3002;</li>
-<li>provider &#x548C; service &#x540C;&#x65F6;&#x914D;&#x7F6E;&#x7684; filter &#x65F6;&#xFF0C;&#x7D2F;&#x52A0;&#x6240;&#x6709; filter&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x8986;&#x76D6;&#x3002;&#x6BD4;&#x5982;&#xFF1A;<code>&lt;dubbo:provider filter=&quot;xxx,yyy&quot;/&gt;</code> &#x548C; <code>&lt;dubbo:service filter=&quot;aaa,bbb&quot; /&gt;</code>&#xFF0C;&#x5219; <code>xxx</code>,<code>yyy</code>,<code>aaa</code>,<code>bbb</code> &#x5747;&#x4F1A;&#x751F;&#x6548;&#x3002;&#x5982;&#x679C;&#x8981;&#x8986;&#x76D6;&#xFF0C;&#x9700;&#x914D;&#x7F6E;&#xFF1A;<code>&lt;dubbo:service filter=&quot;-xxx,-yyy,aaa,bbb&quot; /&gt;</code></li>
-</ul>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.rpc.Filter</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">filter</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x6D88;&#x8D39;&#x65B9;&#x8C03;&#x7528;&#x8FC7;&#x7A0B;&#x62E6;&#x622A; --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:consumer</span> <span class="hljs-attr">filter</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span>/&gt;</span> <span class="hljs-comment">&lt;!-- &#x6D88;&#x8D39;&#x65B9;&#x8C03;&#x7528;&#x8FC7;&#x7A0B;&#x7F3A;&#x7701;&#x62E6;&#x622A;&#x5668;&#xFF0C;&#x5C06;&#x62E6;&#x622A;&#x6240;&#x6709;reference --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">filter</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x63D0;&#x4F9B;&#x65B9;&#x8C03;&#x7528;&#x8FC7;&#x7A0B;&#x62E6;&#x622A; --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">filter</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span>/&gt;</span> <span class="hljs-comment">&lt;!-- &#x63D0;&#x4F9B;&#x65B9;&#x8C03;&#x7528;&#x8FC7;&#x7A0B;&#x7F3A;&#x7701;&#x62E6;&#x622A;&#x5668;&#xFF0C;&#x5C06;&#x62E6;&#x622A;&#x6240;&#x6709;service --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.rpc.filter.EchoFilter</code></li>
-<li><code>com.alibaba.dubbo.rpc.filter.GenericFilter</code></li>
-<li><code>com.alibaba.dubbo.rpc.filter.GenericImplFilter</code></li>
-<li><code>com.alibaba.dubbo.rpc.filter.TokenFilter</code></li>
-<li><code>com.alibaba.dubbo.rpc.filter.AccessLogFilter</code></li>
-<li><code>com.alibaba.dubbo.rpc.filter.CountFilter</code></li>
-<li><code>com.alibaba.dubbo.rpc.filter.ActiveLimitFilter</code></li>
-<li><code>com.alibaba.dubbo.rpc.filter.ClassLoaderFilter</code></li>
-<li><code>com.alibaba.dubbo.rpc.filter.ContextFilter</code></li>
-<li><code>com.alibaba.dubbo.rpc.filter.ConsumerContextFilter</code></li>
-<li><code>com.alibaba.dubbo.rpc.filter.ExceptionFilter</code></li>
-<li><code>com.alibaba.dubbo.rpc.filter.ExecuteLimitFilter</code></li>
-<li><code>com.alibaba.dubbo.rpc.filter.DeprecatedFilter</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxFilter.java (&#x5B9E;&#x73B0;Filter&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.rpc.Filter (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxFilter)
-</code></pre><p>XxxFilter.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Filter;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Invoker;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Invocation;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Result;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.RpcException;
-
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxFilter</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Filter</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Result <span class="hljs-title">invoke</span><span class="hljs-params">(Invoker&lt;?&gt; invoker, Invocation invocation)</span> <span class="hljs-keyword">throws</span> RpcException </span>{
-        <span class="hljs-comment">// before filter ...</span>
-        Result result = invoker.invoke(invocation);
-        <span class="hljs-comment">// after filter ...</span>
-        <span class="hljs-keyword">return</span> result;
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.rpc.Filter</p>
-<pre><code>xxx=com.xxx.XxxFilter
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="协议扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.1 协议扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="引用监听扩展.html" class="navigation navigation-next " aria-label="Next page: 6.3 引用监听扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.2 调用拦截扩展","level":"1.7.2","depth":2,"next":{"title":"6.3 引用监听扩展","level":"1.7.3","depth":2,"path":"SPI参考手册/引用监听扩展.md","ref":"./SPI参考手册/引用监听扩展.md","articles":[]},"previous":{"title":"6.1 协议扩展","level":"1.7.1","depth":2,"path":"SPI参考手册/协议扩展.md","ref":"./SPI参考手册/协议扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/调用拦截扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\350\264\237\350\275\275\345\235\207\350\241\241\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\350\264\237\350\275\275\345\235\207\350\241\241\346\211\251\345\261\225.html"
deleted file mode 100644
index c9e7658..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\350\264\237\350\275\275\345\235\207\350\241\241\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,771 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.7 负载均衡扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="合并结果扩展.html" />
-    
-    
-    <link rel="prev" href="路由扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.7 负载均衡扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x4ECE;&#x591A;&#x4E2A;&#x670D;&#x52A1;&#x63D0;&#x8005;&#x65B9;&#x4E2D;&#x9009;&#x62E9;&#x4E00;&#x4E2A;&#x8FDB;&#x884C;&#x8C03;&#x7528;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.rpc.cluster.LoadBalance</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">loadbalance</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">loadbalance</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x7F3A;&#x7701;&#x503C;&#x8BBE;&#x7F6E;&#xFF0C;&#x5F53;&lt;dubbo:protocol&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;loadbalance&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.rpc.cluster.loadbalance.RandomLoadBalance</code></li>
-<li><code>com.alibaba.dubbo.rpc.cluster.loadbalance.RoundRobinLoadBalance</code></li>
-<li><code>com.alibaba.dubbo.rpc.cluster.loadbalance.LeastActiveLoadBalance</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxLoadBalance.java (&#x5B9E;&#x73B0;LoadBalance&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.rpc.cluster.LoadBalance (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxLoadBalance)
-</code></pre><p>XxxLoadBalance.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.cluster.LoadBalance;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Invoker;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Invocation;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.RpcException; 
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxLoadBalance</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">LoadBalance</span> </span>{
-    <span class="hljs-keyword">public</span> &lt;T&gt; <span class="hljs-function">Invoker&lt;T&gt; <span class="hljs-title">select</span><span class="hljs-params">(List&lt;Invoker&lt;T&gt;&gt; invokers, Invocation invocation)</span> <span class="hljs-keyword">throws</span> RpcException </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.rpc.cluster.LoadBalance</p>
-<pre><code>xxx=com.xxx.XxxLoadBalance
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="路由扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.6 路由扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="合并结果扩展.html" class="navigation navigation-next " aria-label="Next page: 6.8 合并结果扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.7 负载均衡扩展","level":"1.7.7","depth":2,"next":{"title":"6.8 合并结果扩展","level":"1.7.8","depth":2,"path":"SPI参考手册/合并结果扩展.md","ref":"./SPI参考手册/合并结果扩展.md","articles":[]},"previous":{"title":"6.6 路由扩展","level":"1.7.6","depth":2,"path":"SPI参考手册/路由扩展.md","ref":"./SPI参考手册/路由扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/负载均衡扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\350\267\257\347\224\261\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\350\267\257\347\224\261\346\211\251\345\261\225.html"
deleted file mode 100644
index c88cba9..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\350\267\257\347\224\261\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,775 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.6 路由扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="负载均衡扩展.html" />
-    
-    
-    <link rel="prev" href="集群扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.6 路由扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x4ECE;&#x591A;&#x4E2A;&#x670D;&#x52A1;&#x63D0;&#x8005;&#x65B9;&#x4E2D;&#x9009;&#x62E9;&#x4E00;&#x4E2A;&#x8FDB;&#x884C;&#x8C03;&#x7528;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.rpc.cluster.RouterFactory</code></li>
-<li><code>com.alibaba.dubbo.rpc.cluster.Router</code></li>
-</ul>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">router</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">router</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x7F3A;&#x7701;&#x503C;&#x8BBE;&#x7F6E;&#xFF0C;&#x5F53;&lt;dubbo:protocol&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;loadbalance&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.rpc.cluster.router.ScriptRouterFactory</code></li>
-<li><code>com.alibaba.dubbo.rpc.cluster.router.FileRouterFactory</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxRouterFactory.java (&#x5B9E;&#x73B0;LoadBalance&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.rpc.cluster.RouterFactory (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxRouterFactory)
-</code></pre><blockquote>
-<p>XxxRouterFactory.java</p>
-</blockquote>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.cluster.RouterFactory;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Invoker;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Invocation;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.RpcException;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxRouterFactory</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">RouterFactory</span> </span>{
-    <span class="hljs-keyword">public</span> &lt;T&gt; List&lt;Invoker&lt;T&gt;&gt; select(List&lt;Invoker&lt;T&gt;&gt; invokers, Invocation invocation) <span class="hljs-keyword">throws</span> RpcException {
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.rpc.cluster.RouterFactory</p>
-<pre><code>xxx=com.xxx.XxxRouterFactory
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="集群扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.5 集群扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="负载均衡扩展.html" class="navigation navigation-next " aria-label="Next page: 6.7 负载均衡扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.6 路由扩展","level":"1.7.6","depth":2,"next":{"title":"6.7 负载均衡扩展","level":"1.7.7","depth":2,"path":"SPI参考手册/负载均衡扩展.md","ref":"./SPI参考手册/负载均衡扩展.md","articles":[]},"previous":{"title":"6.5 集群扩展","level":"1.7.5","depth":2,"path":"SPI参考手册/集群扩展.md","ref":"./SPI参考手册/集群扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/路由扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\351\233\206\347\276\244\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\351\233\206\347\276\244\346\211\251\345\261\225.html"
deleted file mode 100644
index 5001f8f..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\351\233\206\347\276\244\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,782 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.5 集群扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="路由扩展.html" />
-    
-    
-    <link rel="prev" href="暴露监听扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.5 集群扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x5F53;&#x6709;&#x591A;&#x4E2A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x65F6;&#xFF0C;&#x5C06;&#x591A;&#x4E2A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x7EC4;&#x7EC7;&#x6210;&#x4E00;&#x4E2A;&#x96C6;&#x7FA4;&#xFF0C;&#x5E76;&#x4F2A;&#x88C5;&#x6210;&#x4E00;&#x4E2A;&#x63D0;&#x4F9B;&#x65B9;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.rpc.cluster.Cluster</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">cluster</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">cluster</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x7F3A;&#x7701;&#x503C;&#x914D;&#x7F6E;&#xFF0C;&#x5982;&#x679C;&lt;dubbo:protocol&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;cluster&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.rpc.cluster.support.FailoverCluster</code></li>
-<li><code>com.alibaba.dubbo.rpc.cluster.support.FailfastCluster</code></li>
-<li><code>com.alibaba.dubbo.rpc.cluster.support.FailsafeCluster</code></li>
-<li><code>com.alibaba.dubbo.rpc.cluster.support.FailbackCluster</code></li>
-<li><code>com.alibaba.dubbo.rpc.cluster.support.ForkingCluster</code></li>
-<li><code>com.alibaba.dubbo.rpc.cluster.support.AvailableCluster</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxCluster.java (&#x5B9E;&#x73B0;Cluster&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.rpc.cluster.Cluster (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxCluster)
-</code></pre><p>XxxCluster.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.cluster.Cluster;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.cluster.Directory;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.cluster.LoadBalance;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Invoker;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Invocation;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Result;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.RpcException;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxCluster</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Cluster</span> </span>{
-    <span class="hljs-keyword">public</span> &lt;T&gt; <span class="hljs-function">Invoker&lt;T&gt; <span class="hljs-title">merge</span><span class="hljs-params">(Directory&lt;T&gt; directory)</span> <span class="hljs-keyword">throws</span> RpcException </span>{
-        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> AbstractClusterInvoker&lt;T&gt;(directory) {
-            <span class="hljs-function"><span class="hljs-keyword">public</span> Result <span class="hljs-title">doInvoke</span><span class="hljs-params">(Invocation invocation, List&lt;Invoker&lt;T&gt;&gt; invokers, LoadBalance loadbalance)</span> <span class="hljs-keyword">throws</span> RpcException </span>{
-                <span class="hljs-comment">// ...</span>
-            }
-        };
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.rpc.cluster.Cluster</p>
-<pre><code>xxx=com.xxx.XxxCluster
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="暴露监听扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.4 暴露监听扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="路由扩展.html" class="navigation navigation-next " aria-label="Next page: 6.6 路由扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.5 集群扩展","level":"1.7.5","depth":2,"next":{"title":"6.6 路由扩展","level":"1.7.6","depth":2,"path":"SPI参考手册/路由扩展.md","ref":"./SPI参考手册/路由扩展.md","articles":[]},"previous":{"title":"6.4 暴露监听扩展","level":"1.7.4","depth":2,"path":"SPI参考手册/暴露监听扩展.md","ref":"./SPI参考手册/暴露监听扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/集群扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\351\241\265\351\235\242\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\351\241\265\351\235\242\346\211\251\345\261\225.html"
deleted file mode 100644
index cff3733..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\351\241\265\351\235\242\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,769 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.23 页面扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="缓存扩展.html" />
-    
-    
-    <link rel="prev" href="容器扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.23 页面扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x5BF9;&#x7B49;&#x7F51;&#x7EDC;&#x8282;&#x70B9;&#x7EC4;&#x7F51;&#x5668;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.container.page.PageHandler</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">page</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">page</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x7F3A;&#x7701;&#x503C;&#x8BBE;&#x7F6E;&#xFF0C;&#x5F53;&lt;dubbo:protocol&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;page&#x5C5E;&#x6027;&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<ul>
-<li><code>com.alibaba.dubbo.container.page.pages.HomePageHandler</code></li>
-<li><code>com.alibaba.dubbo.container.page.pages.StatusPageHandler</code></li>
-<li><code>com.alibaba.dubbo.container.page.pages.LogPageHandler</code></li>
-<li><code>com.alibaba.dubbo.container.page.pages.SystemPageHandler</code></li>
-</ul>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxPageHandler.java (&#x5B9E;&#x73B0;PageHandler&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.container.page.PageHandler (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxPageHandler)
-</code></pre><p>XxxPageHandler.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.container.page.PageHandler;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxPageHandler</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">PageHandler</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Group <span class="hljs-title">lookup</span><span class="hljs-params">(URL url)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.container.page.PageHandler</p>
-<pre><code>xxx=com.xxx.XxxPageHandler
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="容器扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.22 容器扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="缓存扩展.html" class="navigation navigation-next " aria-label="Next page: 6.24 缓存扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.23 页面扩展","level":"1.7.23","depth":2,"next":{"title":"6.24 缓存扩展","level":"1.7.24","depth":2,"path":"SPI参考手册/缓存扩展.md","ref":"./SPI参考手册/缓存扩展.md","articles":[]},"previous":{"title":"6.22 容器扩展","level":"1.7.22","depth":2,"path":"SPI参考手册/容器扩展.md","ref":"./SPI参考手册/容器扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/页面扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\351\252\214\350\257\201\346\211\251\345\261\225.html" "b/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\351\252\214\350\257\201\346\211\251\345\261\225.html"
deleted file mode 100644
index dd657ee..0000000
--- "a/developer-guide/SPI\345\217\202\350\200\203\346\211\213\345\206\214/\351\252\214\350\257\201\346\211\251\345\261\225.html"
+++ /dev/null
@@ -1,780 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.25 验证扩展 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="日志适配扩展.html" />
-    
-    
-    <link rel="prev" href="缓存扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="../contribution.html">
-            
-                <a href="../contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="../版本管理.html">
-            
-                <a href="../版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="../源码构建.html">
-            
-                <a href="../源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="../框架设计.html">
-            
-                <a href="../框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../扩展点加载.html">
-            
-                <a href="../扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="协议扩展.html">
-            
-                <a href="协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="调用拦截扩展.html">
-            
-                <a href="调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="引用监听扩展.html">
-            
-                <a href="引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="暴露监听扩展.html">
-            
-                <a href="暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="集群扩展.html">
-            
-                <a href="集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="路由扩展.html">
-            
-                <a href="路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="负载均衡扩展.html">
-            
-                <a href="负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="合并结果扩展.html">
-            
-                <a href="合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="注册中心扩展.html">
-            
-                <a href="注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="监控中心扩展.html">
-            
-                <a href="监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="扩展点加载扩展.html">
-            
-                <a href="扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="动态代理扩展.html">
-            
-                <a href="动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="编译器扩展.html">
-            
-                <a href="编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="消息派发扩展.html">
-            
-                <a href="消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="线程池扩展.html">
-            
-                <a href="线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="序列化扩展.html">
-            
-                <a href="序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="网络传输扩展.html">
-            
-                <a href="网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="信息交换扩展.html">
-            
-                <a href="信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="组网扩展.html">
-            
-                <a href="组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="Telnet命令扩展.html">
-            
-                <a href="Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="状态检查扩展.html">
-            
-                <a href="状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="容器扩展.html">
-            
-                <a href="容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="页面扩展.html">
-            
-                <a href="页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="缓存扩展.html">
-            
-                <a href="缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.25" data-path="验证扩展.html">
-            
-                <a href="验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="日志适配扩展.html">
-            
-                <a href="日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../技术兼容性测试.html">
-            
-                <a href="../技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../公共契约.html">
-            
-                <a href="../公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../坏味道.html">
-            
-                <a href="../坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../编码约定.html">
-            
-                <a href="../编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../检查列表.html">
-            
-                <a href="../检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../设计原则.html">
-            
-                <a href="../设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.25 验证扩展</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h5 id="1-&#x6269;&#x5C55;&#x8BF4;&#x660E;">1. &#x6269;&#x5C55;&#x8BF4;&#x660E;</h5>
-<p>&#x53C2;&#x6570;&#x9A8C;&#x8BC1;&#x6269;&#x5C55;&#x70B9;&#x3002;</p>
-<h5 id="2-&#x6269;&#x5C55;&#x63A5;&#x53E3;">2. &#x6269;&#x5C55;&#x63A5;&#x53E3;</h5>
-<p><code>com.alibaba.dubbo.validation.Validation</code></p>
-<h5 id="3-&#x6269;&#x5C55;&#x914D;&#x7F6E;">3. &#x6269;&#x5C55;&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">validation</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">validation</span>=<span class="hljs-string">&quot;xxx,yyy&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x7F3A;&#x7701;&#x503C;&#x8BBE;&#x7F6E;&#xFF0C;&#x5F53;&lt;dubbo:service&gt;&#x6CA1;&#x6709;&#x914D;&#x7F6E;validation&#x5C5E;&#x6027;&#x65F6;&#xFF0C;&#x4F7F;&#x7528;&#x6B64;&#x914D;&#x7F6E; --&gt;</span>
-</code></pre>
-<h5 id="4-&#x5DF2;&#x77E5;&#x6269;&#x5C55;">4. &#x5DF2;&#x77E5;&#x6269;&#x5C55;</h5>
-<p><code>com.alibaba.dubbo.validation.support.jvalidation.JValidation</code></p>
-<h5 id="5-&#x6269;&#x5C55;&#x793A;&#x4F8B;">5. &#x6269;&#x5C55;&#x793A;&#x4F8B;</h5>
-<p>Maven&#x9879;&#x76EE;&#x7ED3;&#x6784;</p>
-<pre><code>src
- |-main
-    |-java
-        |-com
-            |-xxx
-                |-XxxValidation.java (&#x5B9E;&#x73B0;Validation&#x63A5;&#x53E3;)
-    |-resources
-        |-META-INF
-            |-dubbo
-                |-com.alibaba.dubbo.validation.Validation (&#x7EAF;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;xxx=com.xxx.XxxValidation)
-</code></pre><blockquote>
-<p>XxxValidation.java</p>
-</blockquote>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.validation.Validation;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxValidation</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Validation</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Object <span class="hljs-title">getValidator</span><span class="hljs-params">(URL url)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>XxxValidator.java</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.validation.Validator;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxValidator</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Validator</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">XxxValidator</span><span class="hljs-params">(URL url)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">validate</span><span class="hljs-params">(Invocation invocation)</span> <span class="hljs-keyword">throws</span> Exception </span>{
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-<p>META-INF/dubbo/com.alibaba.dubbo.validation.Validation</p>
-<pre><code>xxx=com.xxx.XxxValidation
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="缓存扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.24 缓存扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="日志适配扩展.html" class="navigation navigation-next " aria-label="Next page: 6.26 日志适配扩展">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.25 验证扩展","level":"1.7.25","depth":2,"next":{"title":"6.26 日志适配扩展","level":"1.7.26","depth":2,"path":"SPI参考手册/日志适配扩展.md","ref":"./SPI参考手册/日志适配扩展.md","articles":[]},"previous":{"title":"6.24 缓存扩展","level":"1.7.24","depth":2,"path":"SPI参考手册/缓存扩展.md","ref":"./SPI参考手册/缓存扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"SPI参考手册/验证扩展.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/developer-guide/contribution.html b/developer-guide/contribution.html
deleted file mode 100644
index b51b29f..0000000
--- a/developer-guide/contribution.html
+++ /dev/null
@@ -1,1048 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>1 contribution · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="版本管理.html" />
-    
-    
-    <link rel="prev" href="./" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.2" data-path="contribution.html">
-            
-                <a href="contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="版本管理.html">
-            
-                <a href="版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="源码构建.html">
-            
-                <a href="源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="框架设计.html">
-            
-                <a href="框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="扩展点加载.html">
-            
-                <a href="扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="SPI参考手册/introduction.html">
-            
-                <a href="SPI参考手册/introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="SPI参考手册/协议扩展.html">
-            
-                <a href="SPI参考手册/协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="SPI参考手册/调用拦截扩展.html">
-            
-                <a href="SPI参考手册/调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="SPI参考手册/引用监听扩展.html">
-            
-                <a href="SPI参考手册/引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="SPI参考手册/暴露监听扩展.html">
-            
-                <a href="SPI参考手册/暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="SPI参考手册/集群扩展.html">
-            
-                <a href="SPI参考手册/集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="SPI参考手册/路由扩展.html">
-            
-                <a href="SPI参考手册/路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="SPI参考手册/负载均衡扩展.html">
-            
-                <a href="SPI参考手册/负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="SPI参考手册/合并结果扩展.html">
-            
-                <a href="SPI参考手册/合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="SPI参考手册/注册中心扩展.html">
-            
-                <a href="SPI参考手册/注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="SPI参考手册/监控中心扩展.html">
-            
-                <a href="SPI参考手册/监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="SPI参考手册/扩展点加载扩展.html">
-            
-                <a href="SPI参考手册/扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="SPI参考手册/动态代理扩展.html">
-            
-                <a href="SPI参考手册/动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="SPI参考手册/编译器扩展.html">
-            
-                <a href="SPI参考手册/编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="SPI参考手册/消息派发扩展.html">
-            
-                <a href="SPI参考手册/消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="SPI参考手册/线程池扩展.html">
-            
-                <a href="SPI参考手册/线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="SPI参考手册/序列化扩展.html">
-            
-                <a href="SPI参考手册/序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="SPI参考手册/网络传输扩展.html">
-            
-                <a href="SPI参考手册/网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="SPI参考手册/信息交换扩展.html">
-            
-                <a href="SPI参考手册/信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="SPI参考手册/组网扩展.html">
-            
-                <a href="SPI参考手册/组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="SPI参考手册/Telnet命令扩展.html">
-            
-                <a href="SPI参考手册/Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="SPI参考手册/状态检查扩展.html">
-            
-                <a href="SPI参考手册/状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="SPI参考手册/容器扩展.html">
-            
-                <a href="SPI参考手册/容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="SPI参考手册/页面扩展.html">
-            
-                <a href="SPI参考手册/页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="SPI参考手册/缓存扩展.html">
-            
-                <a href="SPI参考手册/缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="SPI参考手册/验证扩展.html">
-            
-                <a href="SPI参考手册/验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="SPI参考手册/日志适配扩展.html">
-            
-                <a href="SPI参考手册/日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="技术兼容性测试.html">
-            
-                <a href="技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="公共契约.html">
-            
-                <a href="公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="坏味道.html">
-            
-                <a href="坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="编码约定.html">
-            
-                <a href="编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="检查列表.html">
-            
-                <a href="检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="设计原则.html">
-            
-                <a href="设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >1 contribution</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h4 id="&#x6D41;&#x7A0B;">&#x6D41;&#x7A0B;</h4>
-<ul>
-<li>&#x5982;&#x679C;&#x662F;&#x6269;&#x5C55;&#x529F;&#x80FD;&#xFF0C;&#x76F4;&#x63A5;&#x65B0;&#x589E;&#x5DE5;&#x7A0B;&#xFF0C;&#x9ED1;&#x76D2;&#x4F9D;&#x8D56;Dubbo&#x8FDB;&#x884C;&#x6269;&#x5C55;&#x3002;</li>
-<li>&#x5982;&#x679C;&#x662F;&#x6539;BUG&#xFF0C;&#x6216;&#x4FEE;&#x6539;&#x6846;&#x67B6;&#x672C;&#x8EAB;&#xFF0C;&#x53EF;&#x4EE5;&#x4ECE;Dubb&#x7684;GitHub&#x4E0A;Fork&#x5DE5;&#x7A0B;&#x3002;</li>
-<li>&#x4FEE;&#x6539;&#x540E;&#x901A;&#x8FC7;Push Request&#x53CD;&#x9988;&#x4FEE;&#x6539;&#x3002;</li>
-</ul>
-<h4 id="&#x4EFB;&#x52A1;">&#x4EFB;&#x52A1;</h4>
-<table>
-<thead>
-<tr>
-<th>&#x529F;&#x80FD;</th>
-<th>&#x5206;&#x7C7B;</th>
-<th>&#x4F18;&#x5148;&#x7EA7;</th>
-<th>&#x72B6;&#x6001;</th>
-<th>&#x8BA4;&#x9886;&#x8005;</th>
-<th>&#x8BA1;&#x5212;&#x5B8C;&#x6210;&#x65F6;&#x95F4;</th>
-<th>&#x8FDB;&#x5EA6;</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>&#x300A;&#x7528;&#x6237;&#x6307;&#x5357;&#x300B;&#x7FFB;&#x8BD1;</td>
-<td>&#x6587;&#x6863;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>&#x300A;&#x5F00;&#x53D1;&#x6307;&#x5357;&#x300B;&#x7FFB;&#x8BD1;</td>
-<td>&#x6587;&#x6863;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>&#x6269;&#x5C55;&#x70B9;&#x517C;&#x5BB9;&#x6027;&#x6D4B;&#x8BD5;</td>
-<td>&#x6D4B;&#x8BD5;</td>
-<td>&#x9AD8;</td>
-<td>&#x5DF2;&#x8BA4;&#x9886;</td>
-<td>&#x7F57;&#x7ACB;&#x6811;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>&#x6027;&#x80FD;&#x57FA;&#x51C6;&#x6D4B;&#x8BD5;</td>
-<td>&#x6D4B;&#x8BD5;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>&#x529F;&#x80FD;&#x5355;&#x5143;&#x6D4B;&#x8BD5;</td>
-<td>&#x6D4B;&#x8BD5;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>JTA/XA&#x5206;&#x5E03;&#x5F0F;&#x4E8B;&#x52A1;</td>
-<td>&#x62E6;&#x622A;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>Thrift</td>
-<td>&#x534F;&#x8BAE;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x5F00;&#x53D1;&#x5B8C;&#x6210;</td>
-<td>&#x95FE;&#x521A;</td>
-<td>2012-04-27</td>
-<td>90%</td>
-</tr>
-<tr>
-<td>ICE</td>
-<td>&#x534F;&#x8BAE;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>ACE</td>
-<td>&#x534F;&#x8BAE;&#x6269;&#x5C55;</td>
-<td>&#x4F4E;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>JSON-RPC</td>
-<td>&#x534F;&#x8BAE;&#x6269;&#x5C55;</td>
-<td>&#x4F4E;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>XML-RPC</td>
-<td>&#x534F;&#x8BAE;&#x6269;&#x5C55;</td>
-<td>&#x4F4E;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>JSR181&amp;CXF(WebService)</td>
-<td>&#x534F;&#x8BAE;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x5F00;&#x53D1;&#x5B8C;&#x6210;</td>
-<td>&#x767D;&#x6587;&#x5FD7;</td>
-<td>2012-04-27</td>
-<td>90%</td>
-</tr>
-<tr>
-<td>JSR311&amp;JSR339(RestfulWebService)</td>
-<td>&#x534F;&#x8BAE;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>JMS&amp;ActiveMQ</td>
-<td>&#x534F;&#x8BAE;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>Protobuf</td>
-<td>&#x5E8F;&#x5217;&#x5316;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x8C03;&#x7814;</td>
-<td>&#x6731;&#x542F;&#x6052;</td>
-<td>2012-02-30</td>
-<td>20%</td>
-</tr>
-<tr>
-<td>Avro</td>
-<td>&#x5E8F;&#x5217;&#x5316;&#x6269;&#x5C55;</td>
-<td>&#x4F4E;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>XSocket</td>
-<td>&#x4F20;&#x8F93;&#x6269;&#x5C55;</td>
-<td>&#x4F4E;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>CGLib</td>
-<td>&#x52A8;&#x6001;&#x4EE3;&#x7406;&#x6269;&#x5C55;</td>
-<td>&#x4F4E;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>JNDI</td>
-<td>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>LDAP</td>
-<td>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6269;&#x5C55;</td>
-<td>&#x4F4E;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>JSR140&amp;SLP</td>
-<td>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>UDDI</td>
-<td>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>JMX</td>
-<td>&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>SNMP</td>
-<td>&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>Cacti</td>
-<td>&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>Nagios</td>
-<td>&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>Logstash</td>
-<td>&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>JRobin</td>
-<td>&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x6269;&#x5C55;</td>
-<td>&#x9AD8;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>Maven</td>
-<td>&#x670D;&#x52A1;&#x5B89;&#x88C5;&#x5305;&#x4ED3;&#x5E93;</td>
-<td>&#x4F4E;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>Subversion</td>
-<td>&#x670D;&#x52A1;&#x5B89;&#x88C5;&#x5305;&#x4ED3;&#x5E93;</td>
-<td>&#x4F4E;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>JCR/JSR283</td>
-<td>&#x670D;&#x52A1;&#x5B89;&#x88C5;&#x5305;&#x4ED3;&#x5E93;</td>
-<td>&#x4F4E;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>SimpleDeployer</td>
-<td>&#x672C;&#x5730;&#x90E8;&#x7F72;&#x4EE3;&#x7406;</td>
-<td>&#x4F4E;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-<tr>
-<td>SimpleScheduler</td>
-<td>&#x8D44;&#x6E90;&#x8C03;&#x5EA6;&#x5668;</td>
-<td>&#x4F4E;</td>
-<td>&#x672A;&#x8BA4;&#x9886;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>&#x5F85;&#x5B9A;</td>
-<td>0%</td>
-</tr>
-</tbody>
-</table>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="./" class="navigation navigation-prev " aria-label="Previous page: Introduction">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="版本管理.html" class="navigation navigation-next " aria-label="Next page: 2 版本管理">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1 contribution","level":"1.2","depth":1,"next":{"title":"2 版本管理","level":"1.3","depth":1,"path":"版本管理.md","ref":"./版本管理.md","articles":[]},"previous":{"title":"Introduction","level":"1.1","depth":1,"path":"README.md","ref":"README.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"contribution.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/developer-guide/gitbook/fonts/fontawesome/FontAwesome.otf b/developer-guide/gitbook/fonts/fontawesome/FontAwesome.otf
deleted file mode 100644
index d4de13e..0000000
--- a/developer-guide/gitbook/fonts/fontawesome/FontAwesome.otf
+++ /dev/null
Binary files differ
diff --git a/developer-guide/gitbook/fonts/fontawesome/fontawesome-webfont.eot b/developer-guide/gitbook/fonts/fontawesome/fontawesome-webfont.eot
deleted file mode 100644
index c7b00d2..0000000
--- a/developer-guide/gitbook/fonts/fontawesome/fontawesome-webfont.eot
+++ /dev/null
Binary files differ
diff --git a/developer-guide/gitbook/fonts/fontawesome/fontawesome-webfont.svg b/developer-guide/gitbook/fonts/fontawesome/fontawesome-webfont.svg
deleted file mode 100644
index 8b66187..0000000
--- a/developer-guide/gitbook/fonts/fontawesome/fontawesome-webfont.svg
+++ /dev/null
@@ -1,685 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="fontawesomeregular" horiz-adv-x="1536" >
-<font-face units-per-em="1792" ascent="1536" descent="-256" />
-<missing-glyph horiz-adv-x="448" />
-<glyph unicode=" "  horiz-adv-x="448" />
-<glyph unicode="&#x09;" horiz-adv-x="448" />
-<glyph unicode="&#xa0;" horiz-adv-x="448" />
-<glyph unicode="&#xa8;" horiz-adv-x="1792" />
-<glyph unicode="&#xa9;" horiz-adv-x="1792" />
-<glyph unicode="&#xae;" horiz-adv-x="1792" />
-<glyph unicode="&#xb4;" horiz-adv-x="1792" />
-<glyph unicode="&#xc6;" horiz-adv-x="1792" />
-<glyph unicode="&#xd8;" horiz-adv-x="1792" />
-<glyph unicode="&#x2000;" horiz-adv-x="768" />
-<glyph unicode="&#x2001;" horiz-adv-x="1537" />
-<glyph unicode="&#x2002;" horiz-adv-x="768" />
-<glyph unicode="&#x2003;" horiz-adv-x="1537" />
-<glyph unicode="&#x2004;" horiz-adv-x="512" />
-<glyph unicode="&#x2005;" horiz-adv-x="384" />
-<glyph unicode="&#x2006;" horiz-adv-x="256" />
-<glyph unicode="&#x2007;" horiz-adv-x="256" />
-<glyph unicode="&#x2008;" horiz-adv-x="192" />
-<glyph unicode="&#x2009;" horiz-adv-x="307" />
-<glyph unicode="&#x200a;" horiz-adv-x="85" />
-<glyph unicode="&#x202f;" horiz-adv-x="307" />
-<glyph unicode="&#x205f;" horiz-adv-x="384" />
-<glyph unicode="&#x2122;" horiz-adv-x="1792" />
-<glyph unicode="&#x221e;" horiz-adv-x="1792" />
-<glyph unicode="&#x2260;" horiz-adv-x="1792" />
-<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
-<glyph unicode="&#xf000;" horiz-adv-x="1792" d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
-<glyph unicode="&#xf001;" d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf002;" horiz-adv-x="1664" d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
-<glyph unicode="&#xf003;" horiz-adv-x="1792" d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf004;" horiz-adv-x="1792" d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 q-18 -18 -44 -18z" />
-<glyph unicode="&#xf005;" horiz-adv-x="1664" d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 l502 -73q56 -9 56 -46z" />
-<glyph unicode="&#xf006;" horiz-adv-x="1664" d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
-<glyph unicode="&#xf007;" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf008;" horiz-adv-x="1920" d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf009;" horiz-adv-x="1664" d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf00a;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf00b;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf00c;" horiz-adv-x="1792" d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
-<glyph unicode="&#xf00d;" horiz-adv-x="1408" d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
-<glyph unicode="&#xf00e;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
-<glyph unicode="&#xf010;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z " />
-<glyph unicode="&#xf011;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
-<glyph unicode="&#xf012;" horiz-adv-x="1792" d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf013;" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
-<glyph unicode="&#xf014;" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf015;" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
-<glyph unicode="&#xf016;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z " />
-<glyph unicode="&#xf017;" d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf018;" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
-<glyph unicode="&#xf019;" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
-<glyph unicode="&#xf01a;" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf01b;" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf01c;" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" />
-<glyph unicode="&#xf01d;" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf01e;" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
-<glyph unicode="&#xf021;" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf022;" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" />
-<glyph unicode="&#xf023;" horiz-adv-x="1152" d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf024;" horiz-adv-x="1792" d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf025;" horiz-adv-x="1664" d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
-<glyph unicode="&#xf026;" horiz-adv-x="768" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf027;" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
-<glyph unicode="&#xf028;" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
-<glyph unicode="&#xf029;" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
-<glyph unicode="&#xf02a;" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
-<glyph unicode="&#xf02b;" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" />
-<glyph unicode="&#xf02c;" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
-<glyph unicode="&#xf02d;" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
-<glyph unicode="&#xf02e;" horiz-adv-x="1280" d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
-<glyph unicode="&#xf02f;" horiz-adv-x="1664" d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
-<glyph unicode="&#xf030;" horiz-adv-x="1920" d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf031;" horiz-adv-x="1664" d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57 q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -4 -0.5 -13t-0.5 -13q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5 q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />
-<glyph unicode="&#xf032;" horiz-adv-x="1408" d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142 q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5 t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68.5 -0.5t67.5 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5 t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />
-<glyph unicode="&#xf033;" horiz-adv-x="1024" d="M0 -126l17 85q6 2 81.5 21.5t111.5 37.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5 q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />
-<glyph unicode="&#xf034;" horiz-adv-x="1792" d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2 t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5 q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />
-<glyph unicode="&#xf035;" d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1 t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5 t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49 t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />
-<glyph unicode="&#xf036;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf037;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf038;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf039;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf03a;" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf03b;" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf03c;" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf03d;" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" />
-<glyph unicode="&#xf03e;" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf040;" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" />
-<glyph unicode="&#xf041;" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
-<glyph unicode="&#xf042;" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf043;" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
-<glyph unicode="&#xf044;" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
-<glyph unicode="&#xf045;" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
-<glyph unicode="&#xf046;" horiz-adv-x="1664" d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 q24 -24 24 -57t-24 -57z" />
-<glyph unicode="&#xf047;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
-<glyph unicode="&#xf048;" horiz-adv-x="1024" d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19z" />
-<glyph unicode="&#xf049;" horiz-adv-x="1792" d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />
-<glyph unicode="&#xf04a;" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />
-<glyph unicode="&#xf04b;" horiz-adv-x="1408" d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
-<glyph unicode="&#xf04c;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf04d;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf04e;" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
-<glyph unicode="&#xf050;" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
-<glyph unicode="&#xf051;" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />
-<glyph unicode="&#xf052;" horiz-adv-x="1538" d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
-<glyph unicode="&#xf053;" horiz-adv-x="1280" d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />
-<glyph unicode="&#xf054;" horiz-adv-x="1280" d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />
-<glyph unicode="&#xf055;" d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf056;" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
-<glyph unicode="&#xf057;" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf058;" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf059;" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05a;" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05b;" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf05c;" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05d;" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05e;" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
-<glyph unicode="&#xf060;" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" />
-<glyph unicode="&#xf061;" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
-<glyph unicode="&#xf062;" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" />
-<glyph unicode="&#xf063;" horiz-adv-x="1664" d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
-<glyph unicode="&#xf064;" horiz-adv-x="1792" d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
-<glyph unicode="&#xf065;" d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf066;" d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
-<glyph unicode="&#xf067;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf068;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf069;" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
-<glyph unicode="&#xf06a;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
-<glyph unicode="&#xf06b;" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf06c;" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
-<glyph unicode="&#xf06d;" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
-<glyph unicode="&#xf06e;" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
-<glyph unicode="&#xf070;" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " />
-<glyph unicode="&#xf071;" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
-<glyph unicode="&#xf072;" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
-<glyph unicode="&#xf073;" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf074;" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
-<glyph unicode="&#xf075;" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
-<glyph unicode="&#xf076;" d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf077;" horiz-adv-x="1792" d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
-<glyph unicode="&#xf078;" horiz-adv-x="1792" d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
-<glyph unicode="&#xf079;" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z " />
-<glyph unicode="&#xf07a;" horiz-adv-x="1664" d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45 t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf07b;" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf07c;" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf07d;" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
-<glyph unicode="&#xf07e;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
-<glyph unicode="&#xf080;" horiz-adv-x="2048" d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
-<glyph unicode="&#xf081;" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf082;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960z" />
-<glyph unicode="&#xf083;" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf084;" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
-<glyph unicode="&#xf085;" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
-<glyph unicode="&#xf086;" horiz-adv-x="1792" d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
-<glyph unicode="&#xf087;" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
-<glyph unicode="&#xf088;" d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 32 18 69t-17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -74 49 -163z" />
-<glyph unicode="&#xf089;" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
-<glyph unicode="&#xf08a;" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" />
-<glyph unicode="&#xf08b;" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
-<glyph unicode="&#xf08c;" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf08d;" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
-<glyph unicode="&#xf08e;" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf090;" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf091;" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf092;" d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4 q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4 t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16 q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf093;" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
-<glyph unicode="&#xf094;" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
-<glyph unicode="&#xf095;" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
-<glyph unicode="&#xf096;" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf097;" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
-<glyph unicode="&#xf098;" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf099;" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
-<glyph unicode="&#xf09a;" horiz-adv-x="1024" d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
-<glyph unicode="&#xf09b;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24 q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5 t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12 q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" />
-<glyph unicode="&#xf09c;" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" />
-<glyph unicode="&#xf09d;" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
-<glyph unicode="&#xf09e;" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" />
-<glyph unicode="&#xf0a0;" d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
-<glyph unicode="&#xf0a1;" horiz-adv-x="1792" d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
-<glyph unicode="&#xf0a2;" horiz-adv-x="1792" d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5 t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
-<glyph unicode="&#xf0a3;" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
-<glyph unicode="&#xf0a4;" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
-<glyph unicode="&#xf0a5;" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf0a6;" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
-<glyph unicode="&#xf0a7;" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
-<glyph unicode="&#xf0a8;" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0a9;" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0aa;" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0ab;" d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0ac;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 10.5t-9.5 10.5q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10t17 -20q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q7 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
-<glyph unicode="&#xf0ad;" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
-<glyph unicode="&#xf0ae;" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0b0;" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
-<glyph unicode="&#xf0b1;" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf0b2;" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " />
-<glyph unicode="&#xf0c0;" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
-<glyph unicode="&#xf0c1;" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
-<glyph unicode="&#xf0c2;" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " />
-<glyph unicode="&#xf0c3;" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
-<glyph unicode="&#xf0c4;" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
-<glyph unicode="&#xf0c5;" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
-<glyph unicode="&#xf0c6;" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" />
-<glyph unicode="&#xf0c7;" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
-<glyph unicode="&#xf0c8;" d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf0c9;" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0ca;" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf0cb;" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf0cc;" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
-<glyph unicode="&#xf0cd;" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
-<glyph unicode="&#xf0ce;" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" />
-<glyph unicode="&#xf0d0;" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
-<glyph unicode="&#xf0d1;" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0d2;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0d3;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
-<glyph unicode="&#xf0d4;" d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585 h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf0d5;" horiz-adv-x="2304" d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62 q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />
-<glyph unicode="&#xf0d6;" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0d7;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0d8;" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0d9;" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf0da;" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0db;" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf0dc;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0dd;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0de;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0e0;" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
-<glyph unicode="&#xf0e1;" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
-<glyph unicode="&#xf0e2;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
-<glyph unicode="&#xf0e3;" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
-<glyph unicode="&#xf0e4;" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf0e5;" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
-<glyph unicode="&#xf0e6;" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
-<glyph unicode="&#xf0e7;" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
-<glyph unicode="&#xf0e8;" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" />
-<glyph unicode="&#xf0e9;" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf0ea;" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
-<glyph unicode="&#xf0eb;" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
-<glyph unicode="&#xf0ec;" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
-<glyph unicode="&#xf0ed;" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
-<glyph unicode="&#xf0ee;" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
-<glyph unicode="&#xf0f0;" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf0f1;" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
-<glyph unicode="&#xf0f2;" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" />
-<glyph unicode="&#xf0f3;" horiz-adv-x="1792" d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5 t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
-<glyph unicode="&#xf0f4;" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf0f5;" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0f6;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704 q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
-<glyph unicode="&#xf0f7;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0f8;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0f9;" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0fa;" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf0fb;" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
-<glyph unicode="&#xf0fc;" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
-<glyph unicode="&#xf0fd;" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf0fe;" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf100;" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
-<glyph unicode="&#xf101;" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf102;" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf103;" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
-<glyph unicode="&#xf104;" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
-<glyph unicode="&#xf105;" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf106;" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf107;" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
-<glyph unicode="&#xf108;" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf109;" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
-<glyph unicode="&#xf10a;" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf10b;" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf10c;" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf10d;" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
-<glyph unicode="&#xf10e;" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
-<glyph unicode="&#xf110;" horiz-adv-x="1792" d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5 t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5 q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf111;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf112;" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
-<glyph unicode="&#xf113;" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />
-<glyph unicode="&#xf114;" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf115;" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
-<glyph unicode="&#xf116;" horiz-adv-x="1792" />
-<glyph unicode="&#xf117;" horiz-adv-x="1792" />
-<glyph unicode="&#xf118;" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf119;" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf11a;" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf11b;" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
-<glyph unicode="&#xf11c;" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf11d;" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
-<glyph unicode="&#xf11e;" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
-<glyph unicode="&#xf120;" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />
-<glyph unicode="&#xf121;" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
-<glyph unicode="&#xf122;" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
-<glyph unicode="&#xf123;" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
-<glyph unicode="&#xf124;" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
-<glyph unicode="&#xf125;" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf126;" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
-<glyph unicode="&#xf127;" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
-<glyph unicode="&#xf128;" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
-<glyph unicode="&#xf129;" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf12a;" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
-<glyph unicode="&#xf12b;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
-<glyph unicode="&#xf12c;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />
-<glyph unicode="&#xf12d;" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
-<glyph unicode="&#xf12e;" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
-<glyph unicode="&#xf130;" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
-<glyph unicode="&#xf131;" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
-<glyph unicode="&#xf132;" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf133;" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf134;" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
-<glyph unicode="&#xf135;" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
-<glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
-<glyph unicode="&#xf137;" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf138;" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf139;" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf13a;" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf13b;" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
-<glyph unicode="&#xf13c;" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
-<glyph unicode="&#xf13d;" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf13e;" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" />
-<glyph unicode="&#xf140;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf141;" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf142;" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf143;" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf144;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />
-<glyph unicode="&#xf145;" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
-<glyph unicode="&#xf146;" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
-<glyph unicode="&#xf147;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf148;" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
-<glyph unicode="&#xf149;" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
-<glyph unicode="&#xf14a;" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14b;" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14c;" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14d;" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14e;" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf150;" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf151;" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf152;" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf153;" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
-<glyph unicode="&#xf154;" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
-<glyph unicode="&#xf155;" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
-<glyph unicode="&#xf156;" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf157;" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
-<glyph unicode="&#xf158;" horiz-adv-x="1280" d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
-<glyph unicode="&#xf159;" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf15a;" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
-<glyph unicode="&#xf15b;" d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" />
-<glyph unicode="&#xf15c;" d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704 q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" />
-<glyph unicode="&#xf15d;" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" />
-<glyph unicode="&#xf15e;" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" />
-<glyph unicode="&#xf160;" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf161;" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf162;" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
-<glyph unicode="&#xf163;" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
-<glyph unicode="&#xf164;" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
-<glyph unicode="&#xf165;" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
-<glyph unicode="&#xf166;" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf167;" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
-<glyph unicode="&#xf168;" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" />
-<glyph unicode="&#xf169;" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf16a;" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
-<glyph unicode="&#xf16b;" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
-<glyph unicode="&#xf16c;" d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" />
-<glyph unicode="&#xf16d;" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1162 640q0 -164 -115 -279t-279 -115t-279 115t-115 279t115 279t279 115t279 -115t115 -279zM1270 1050q0 -38 -27 -65t-65 -27t-65 27t-27 65t27 65t65 27t65 -27t27 -65zM768 1270 q-7 0 -76.5 0.5t-105.5 0t-96.5 -3t-103 -10t-71.5 -18.5q-50 -20 -88 -58t-58 -88q-11 -29 -18.5 -71.5t-10 -103t-3 -96.5t0 -105.5t0.5 -76.5t-0.5 -76.5t0 -105.5t3 -96.5t10 -103t18.5 -71.5q20 -50 58 -88t88 -58q29 -11 71.5 -18.5t103 -10t96.5 -3t105.5 0t76.5 0.5 t76.5 -0.5t105.5 0t96.5 3t103 10t71.5 18.5q50 20 88 58t58 88q11 29 18.5 71.5t10 103t3 96.5t0 105.5t-0.5 76.5t0.5 76.5t0 105.5t-3 96.5t-10 103t-18.5 71.5q-20 50 -58 88t-88 58q-29 11 -71.5 18.5t-103 10t-96.5 3t-105.5 0t-76.5 -0.5zM1536 640q0 -229 -5 -317 q-10 -208 -124 -322t-322 -124q-88 -5 -317 -5t-317 5q-208 10 -322 124t-124 322q-5 88 -5 317t5 317q10 208 124 322t322 124q88 5 317 5t317 -5q208 -10 322 -124t124 -322q5 -88 5 -317z" />
-<glyph unicode="&#xf16e;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
-<glyph unicode="&#xf170;" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf171;" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
-<glyph unicode="&#xf172;" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf173;" horiz-adv-x="1024" d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14 q78 2 134 29z" />
-<glyph unicode="&#xf174;" d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf175;" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
-<glyph unicode="&#xf176;" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
-<glyph unicode="&#xf177;" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf178;" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
-<glyph unicode="&#xf179;" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
-<glyph unicode="&#xf17a;" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
-<glyph unicode="&#xf17b;" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
-<glyph unicode="&#xf17c;" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
-<glyph unicode="&#xf17d;" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf17e;" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
-<glyph unicode="&#xf180;" horiz-adv-x="1280" d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324 l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" />
-<glyph unicode="&#xf181;" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf182;" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf183;" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf184;" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf185;" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
-<glyph unicode="&#xf186;" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
-<glyph unicode="&#xf187;" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf188;" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
-<glyph unicode="&#xf189;" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
-<glyph unicode="&#xf18a;" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
-<glyph unicode="&#xf18b;" d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
-<glyph unicode="&#xf18c;" horiz-adv-x="1408" d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
-<glyph unicode="&#xf18d;" horiz-adv-x="1280" d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z " />
-<glyph unicode="&#xf18e;" d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf190;" d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf191;" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf192;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf193;" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
-<glyph unicode="&#xf194;" d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179 q157 0 383 294q220 283 226 444zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf195;" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf196;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf197;" horiz-adv-x="2176" d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40 t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29 q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" />
-<glyph unicode="&#xf198;" horiz-adv-x="1664" d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9 q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102 t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" />
-<glyph unicode="&#xf199;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69 q-46 32 -141.5 92.5t-142.5 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13 t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" />
-<glyph unicode="&#xf19a;" horiz-adv-x="1792" d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5 t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21 t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286 t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273 t273 -182.5t331.5 -68z" />
-<glyph unicode="&#xf19b;" horiz-adv-x="1792" d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" />
-<glyph unicode="&#xf19c;" horiz-adv-x="2048" d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64 q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />
-<glyph unicode="&#xf19d;" horiz-adv-x="2304" d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433 q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />
-<glyph unicode="&#xf19e;" d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q43 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0 q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />
-<glyph unicode="&#xf1a0;" d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5 t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" />
-<glyph unicode="&#xf1a1;" horiz-adv-x="1792" d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26 t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q-19 5 -25 -16l-69 -312q-180 -7 -309 -97q-35 37 -87 37 q-50 0 -85 -35t-35 -84q0 -35 18.5 -64t49.5 -44q-6 -27 -6 -56q0 -142 140 -243t337 -101q198 0 338 101t140 243q0 32 -7 57q30 15 48 43.5t18 63.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191 t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf1a2;" d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54 q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42q-17 5 -21 -13l-60 -268q-154 -6 -265 -83 q-30 32 -74 32q-43 0 -73 -30t-30 -72q0 -30 16 -55t42 -38q-5 -25 -5 -48q0 -122 120 -208.5t289 -86.5q170 0 290 86.5t120 208.5q0 25 -6 49q25 13 40.5 37.5t15.5 54.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf1a3;" d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150 v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103 t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf1a4;" horiz-adv-x="1920" d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328 v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />
-<glyph unicode="&#xf1a5;" d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
-<glyph unicode="&#xf1a6;" horiz-adv-x="2048" d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123 v-369h123z" />
-<glyph unicode="&#xf1a7;" d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101 v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf1a8;" horiz-adv-x="2038" d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14 q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24 q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33 q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5 t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43 q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5 t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13 t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" />
-<glyph unicode="&#xf1a9;" d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10 q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14 q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14 t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44 q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" />
-<glyph unicode="&#xf1aa;" d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5 t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5 q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126 t135.5 51q85 0 145 -60.5t60 -145.5z" />
-<glyph unicode="&#xf1ab;" d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5 q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28 q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11 q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q106 35 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5 q20 0 20 -21v-418z" />
-<glyph unicode="&#xf1ac;" horiz-adv-x="1792" d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48 l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23 t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128 q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128 q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" />
-<glyph unicode="&#xf1ad;" d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9 t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64 q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9 t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64 q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9 t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" />
-<glyph unicode="&#xf1ae;" horiz-adv-x="1280" d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68t68 28t68 -28l228 -228h368l228 228q28 28 68 28t68 -28t28 -68t-28 -68zM864 1152q0 -93 -65.5 -158.5 t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf1b0;" horiz-adv-x="1664" d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5 q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819 q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5 t100.5 134t141.5 55.5z" />
-<glyph unicode="&#xf1b1;" horiz-adv-x="768" d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" />
-<glyph unicode="&#xf1b2;" horiz-adv-x="1792" d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z " />
-<glyph unicode="&#xf1b3;" horiz-adv-x="2304" d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67 t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-5 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70 v-400l434 -186q36 -16 57 -48t21 -70z" />
-<glyph unicode="&#xf1b4;" horiz-adv-x="2048" d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658 q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204 q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" />
-<glyph unicode="&#xf1b5;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5 t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217 t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" />
-<glyph unicode="&#xf1b6;" horiz-adv-x="1792" d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5 q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89 q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" />
-<glyph unicode="&#xf1b7;" d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5 q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5 q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z " />
-<glyph unicode="&#xf1b8;" horiz-adv-x="1792" d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188 l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5 t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1 q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" />
-<glyph unicode="&#xf1b9;" horiz-adv-x="2048" d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384 q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5 l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf1ba;" horiz-adv-x="2048" d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5 t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" />
-<glyph unicode="&#xf1bb;" d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384 q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />
-<glyph unicode="&#xf1bc;" d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64 q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37 q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf1bd;" horiz-adv-x="1024" d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" />
-<glyph unicode="&#xf1be;" horiz-adv-x="2304" d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11 q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245 q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785 l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242 q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236q0 -11 -8 -19 t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786q-13 2 -22 11t-9 22v899 q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" />
-<glyph unicode="&#xf1c0;" d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127 t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5 t-103 128v128q0 69 103 128t280 93.5t385 34.5z" />
-<glyph unicode="&#xf1c1;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197 q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8 q-1 1 -1 2t-0.5 1.5t-0.5 1.5q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" />
-<glyph unicode="&#xf1c2;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4l-3 21q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5t-3.5 -21.5l-4 -21h-4l-2 21 q-2 26 -7 46l-99 438h90v107h-300z" />
-<glyph unicode="&#xf1c3;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107 h-290v-107h68l189 -272l-194 -283h-68z" />
-<glyph unicode="&#xf1c4;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" />
-<glyph unicode="&#xf1c5;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" />
-<glyph unicode="&#xf1c6;" d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400 v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79 q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" />
-<glyph unicode="&#xf1c7;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5 q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" />
-<glyph unicode="&#xf1c8;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" />
-<glyph unicode="&#xf1c9;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243 l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" />
-<glyph unicode="&#xf1ca;" d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406 q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" />
-<glyph unicode="&#xf1cb;" horiz-adv-x="1792" d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546 q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />
-<glyph unicode="&#xf1cc;" horiz-adv-x="2048" d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94 q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55 t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97q14 -16 29.5 -34t34.5 -40t29 -34q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5 t-85 -189.5z" />
-<glyph unicode="&#xf1cd;" horiz-adv-x="1792" d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194 q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5 t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" />
-<glyph unicode="&#xf1ce;" horiz-adv-x="1792" d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5 t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" />
-<glyph unicode="&#xf1d0;" horiz-adv-x="1792" d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41 t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170 t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136 q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" />
-<glyph unicode="&#xf1d1;" horiz-adv-x="1792" d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251 l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162 q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33 q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5 t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71 t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf1d2;" d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85 q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392 q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072 q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf1d3;" horiz-adv-x="1792" d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58 q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47 q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171 v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" />
-<glyph unicode="&#xf1d4;" d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf1d5;" horiz-adv-x="1280" d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5 t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153 t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" />
-<glyph unicode="&#xf1d6;" horiz-adv-x="1792" d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5 q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20 t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5 t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" />
-<glyph unicode="&#xf1d7;" horiz-adv-x="2048" d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25 q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5 q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109 q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" />
-<glyph unicode="&#xf1d8;" horiz-adv-x="1792" d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" />
-<glyph unicode="&#xf1d9;" horiz-adv-x="1792" d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137 l863 639l-478 -797z" />
-<glyph unicode="&#xf1da;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23 t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf1db;" d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf1dc;" horiz-adv-x="1792" d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15 t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2 t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160 q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5 q0 -26 -12 -48t-36 -22z" />
-<glyph unicode="&#xf1dd;" horiz-adv-x="1280" d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179 q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" />
-<glyph unicode="&#xf1de;" d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256 q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" />
-<glyph unicode="&#xf1e0;" d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5 t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" />
-<glyph unicode="&#xf1e1;" d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5 t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf1e2;" horiz-adv-x="1792" d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5 t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91 q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9 t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
-<glyph unicode="&#xf1e3;" horiz-adv-x="1792" d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323 l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" />
-<glyph unicode="&#xf1e4;" horiz-adv-x="1792" d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23 zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5 t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" />
-<glyph unicode="&#xf1e5;" horiz-adv-x="1792" d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf1e6;" horiz-adv-x="1792" d="M1755 1083q37 -37 37 -90t-37 -91l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234l401 400 q38 37 91 37t90 -37z" />
-<glyph unicode="&#xf1e7;" horiz-adv-x="1792" d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5 t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q3 -2 11 -7 t11 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" />
-<glyph unicode="&#xf1e8;" horiz-adv-x="1792" d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" />
-<glyph unicode="&#xf1e9;" d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36 q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q70 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5 t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87 q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" />
-<glyph unicode="&#xf1ea;" horiz-adv-x="2048" d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19 t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" />
-<glyph unicode="&#xf1eb;" horiz-adv-x="2048" d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121 q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" />
-<glyph unicode="&#xf1ec;" horiz-adv-x="1792" d="M384 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5 t37.5 90.5zM384 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 768q0 53 -37.5 90.5t-90.5 37.5 t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38 h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf1ed;" d="M1519 890q18 -84 -4 -204q-87 -444 -565 -444h-44q-25 0 -44 -16.5t-24 -42.5l-4 -19l-55 -346l-2 -15q-5 -26 -24.5 -42.5t-44.5 -16.5h-251q-21 0 -33 15t-9 36q9 56 26.5 168t26.5 168t27 167.5t27 167.5q5 37 43 37h131q133 -2 236 21q175 39 287 144q102 95 155 246 q24 70 35 133q1 6 2.5 7.5t3.5 1t6 -3.5q79 -59 98 -162zM1347 1172q0 -107 -46 -236q-80 -233 -302 -315q-113 -40 -252 -42q0 -1 -90 -1l-90 1q-100 0 -118 -96q-2 -8 -85 -530q-1 -10 -12 -10h-295q-22 0 -36.5 16.5t-11.5 38.5l232 1471q5 29 27.5 48t51.5 19h598 q34 0 97.5 -13t111.5 -32q107 -41 163.5 -123t56.5 -196z" />
-<glyph unicode="&#xf1ee;" horiz-adv-x="1792" d="M441 864q32 0 52 -26q266 -364 362 -774h-446q-127 441 -367 749q-12 16 -3 33.5t29 17.5h373zM1000 507q-49 -199 -125 -393q-79 310 -256 594q40 221 44 449q211 -340 337 -650zM1099 1216q235 -324 384.5 -698.5t184.5 -773.5h-451q-41 665 -553 1472h435zM1792 640 q0 -424 -101 -812q-67 560 -359 1083q-25 301 -106 584q-4 16 5.5 28.5t25.5 12.5h359q21 0 38.5 -13t22.5 -33q115 -409 115 -850z" />
-<glyph unicode="&#xf1f0;" horiz-adv-x="2304" d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27 q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128 q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf1f1;" horiz-adv-x="2304" d="M671 603h-13q-47 0 -47 -32q0 -22 20 -22q17 0 28 15t12 39zM1066 639h62v3q1 4 0.5 6.5t-1 7t-2 8t-4.5 6.5t-7.5 5t-11.5 2q-28 0 -36 -38zM1606 603h-12q-48 0 -48 -32q0 -22 20 -22q17 0 28 15t12 39zM1925 629q0 41 -30 41q-19 0 -31 -20t-12 -51q0 -42 28 -42 q20 0 32.5 20t12.5 52zM480 770h87l-44 -262h-56l32 201l-71 -201h-39l-4 200l-34 -200h-53l44 262h81l2 -163zM733 663q0 -6 -4 -42q-16 -101 -17 -113h-47l1 22q-20 -26 -58 -26q-23 0 -37.5 16t-14.5 42q0 39 26 60.5t73 21.5q14 0 23 -1q0 3 0.5 5.5t1 4.5t0.5 3 q0 20 -36 20q-29 0 -59 -10q0 4 7 48q38 11 67 11q74 0 74 -62zM889 721l-8 -49q-22 3 -41 3q-27 0 -27 -17q0 -8 4.5 -12t21.5 -11q40 -19 40 -60q0 -72 -87 -71q-34 0 -58 6q0 2 7 49q29 -8 51 -8q32 0 32 19q0 7 -4.5 11.5t-21.5 12.5q-43 20 -43 59q0 72 84 72 q30 0 50 -4zM977 721h28l-7 -52h-29q-2 -17 -6.5 -40.5t-7 -38.5t-2.5 -18q0 -16 19 -16q8 0 16 2l-8 -47q-21 -7 -40 -7q-43 0 -45 47q0 12 8 56q3 20 25 146h55zM1180 648q0 -23 -7 -52h-111q-3 -22 10 -33t38 -11q30 0 58 14l-9 -54q-30 -8 -57 -8q-95 0 -95 95 q0 55 27.5 90.5t69.5 35.5q35 0 55.5 -21t20.5 -56zM1319 722q-13 -23 -22 -62q-22 2 -31 -24t-25 -128h-56l3 14q22 130 29 199h51l-3 -33q14 21 25.5 29.5t28.5 4.5zM1506 763l-9 -57q-28 14 -50 14q-31 0 -51 -27.5t-20 -70.5q0 -30 13.5 -47t38.5 -17q21 0 48 13 l-10 -59q-28 -8 -50 -8q-45 0 -71.5 30.5t-26.5 82.5q0 70 35.5 114.5t91.5 44.5q26 0 61 -13zM1668 663q0 -18 -4 -42q-13 -79 -17 -113h-46l1 22q-20 -26 -59 -26q-23 0 -37 16t-14 42q0 39 25.5 60.5t72.5 21.5q15 0 23 -1q2 7 2 13q0 20 -36 20q-29 0 -59 -10q0 4 8 48 q38 11 67 11q73 0 73 -62zM1809 722q-14 -24 -21 -62q-23 2 -31.5 -23t-25.5 -129h-56l3 14q19 104 29 199h52q0 -11 -4 -33q15 21 26.5 29.5t27.5 4.5zM1950 770h56l-43 -262h-53l3 19q-23 -23 -52 -23q-31 0 -49.5 24t-18.5 64q0 53 27.5 92t64.5 39q31 0 53 -29z M2061 640q0 148 -72.5 273t-198 198t-273.5 73q-181 0 -328 -110q127 -116 171 -284h-50q-44 150 -158 253q-114 -103 -158 -253h-50q44 168 171 284q-147 110 -328 110q-148 0 -273.5 -73t-198 -198t-72.5 -273t72.5 -273t198 -198t273.5 -73q181 0 328 110 q-120 111 -165 264h50q46 -138 152 -233q106 95 152 233h50q-45 -153 -165 -264q147 -110 328 -110q148 0 273.5 73t198 198t72.5 273zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf1f2;" horiz-adv-x="2304" d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42 q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604 v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569 q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73 t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" />
-<glyph unicode="&#xf1f3;" horiz-adv-x="2304" d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260 l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279 v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040 q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168 q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5 t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21 h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5 t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" />
-<glyph unicode="&#xf1f4;" horiz-adv-x="2304" d="M745 630q0 -37 -25.5 -61.5t-62.5 -24.5q-29 0 -46.5 16t-17.5 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM1530 779q0 -42 -22 -57t-66 -15l-32 -1l17 107q2 11 13 11h18q22 0 35 -2t25 -12.5t12 -30.5zM1881 630q0 -36 -25.5 -61t-61.5 -25q-29 0 -47 16 t-18 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM513 801q0 59 -38.5 85.5t-100.5 26.5h-160q-19 0 -21 -19l-65 -408q-1 -6 3 -11t10 -5h76q20 0 22 19l18 110q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM822 489l41 261q1 6 -3 11t-10 5h-76 q-14 0 -17 -33q-27 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q28 0 58 12t48 32q-4 -12 -4 -21q0 -16 13 -16h69q19 0 22 19zM1269 752q0 5 -4 9.5t-9 4.5h-77q-11 0 -18 -10l-106 -156l-44 150q-5 16 -22 16h-75q-5 0 -9 -4.5t-4 -9.5q0 -2 19.5 -59 t42 -123t23.5 -70q-82 -112 -82 -120q0 -13 13 -13h77q11 0 18 10l255 368q2 2 2 7zM1649 801q0 59 -38.5 85.5t-100.5 26.5h-159q-20 0 -22 -19l-65 -408q-1 -6 3 -11t10 -5h82q12 0 16 13l18 116q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM1958 489 l41 261q1 6 -3 11t-10 5h-76q-14 0 -17 -33q-26 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q29 0 59 12t47 32q0 -1 -2 -9t-2 -12q0 -16 13 -16h69q19 0 22 19zM2176 898v1q0 14 -13 14h-74q-11 0 -13 -11l-65 -416l-1 -2q0 -5 4 -9.5t10 -4.5h66 q19 0 21 19zM392 764q-5 -35 -26 -46t-60 -11l-33 -1l17 107q2 11 13 11h19q40 0 58 -11.5t12 -48.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf1f5;" horiz-adv-x="2304" d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109 q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118 q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151 q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31 q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf1f6;" horiz-adv-x="2048" d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5 l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5 l418 363q10 8 23.5 7t21.5 -11z" />
-<glyph unicode="&#xf1f7;" horiz-adv-x="2048" d="M1040 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128 q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161 q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" />
-<glyph unicode="&#xf1f8;" horiz-adv-x="1408" d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704 q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167 q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf1f9;" d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5 t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5 t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf1fa;" d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53 q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24 t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61 t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" />
-<glyph unicode="&#xf1fb;" horiz-adv-x="1792" d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10 t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" />
-<glyph unicode="&#xf1fc;" horiz-adv-x="1792" d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5 t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" />
-<glyph unicode="&#xf1fd;" horiz-adv-x="1792" d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11t55.5 -11t52.5 -38q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5t47 37.5 q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-35 0 -55.5 11t-52.5 38q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38t-58 27 t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448h256v448 h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51 t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" />
-<glyph unicode="&#xf1fe;" horiz-adv-x="2048" d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" />
-<glyph unicode="&#xf200;" horiz-adv-x="1792" d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf201;" horiz-adv-x="2048" d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9 t9 -23z" />
-<glyph unicode="&#xf202;" horiz-adv-x="1792" d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20 q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50 t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1 q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" />
-<glyph unicode="&#xf203;" d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73 q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110 q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf204;" horiz-adv-x="2048" d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5 t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5 t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" />
-<glyph unicode="&#xf205;" horiz-adv-x="2048" d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5 t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5z" />
-<glyph unicode="&#xf206;" horiz-adv-x="2304" d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94 q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469 q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400 q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" />
-<glyph unicode="&#xf207;" d="M384 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5 h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" />
-<glyph unicode="&#xf208;" horiz-adv-x="2048" d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327 q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5 q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" />
-<glyph unicode="&#xf209;" horiz-adv-x="1280" d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q18 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119 t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5 t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14 q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88 q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5 t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" />
-<glyph unicode="&#xf20a;" horiz-adv-x="2048" d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206 q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307 t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14 t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" />
-<glyph unicode="&#xf20b;" d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5 t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf20c;" d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55 q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410 q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" />
-<glyph unicode="&#xf20d;" d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" />
-<glyph unicode="&#xf20e;" horiz-adv-x="2048" d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335 q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t43 -21h398q18 21 44 21q23 0 40 -16.5t17 -40.5 q0 -6 -4 -18l207 -358q23 -1 39 -17.5t16 -38.5q0 -13 -7 -27l187 -324q19 -4 31.5 -19.5t12.5 -35.5zM1063 -158h389l-342 354h-143l-342 -354h360q18 16 39 16t39 -16zM112 654q1 -4 1 -13q0 -10 -2 -15l208 -360q2 0 4.5 -1t5.5 -2.5l5 -2.5l188 199v347l-187 194 q-13 -8 -29 -10zM986 1438h-388l190 -200l554 200h-280q-16 -16 -38 -16t-38 16zM1689 226q1 6 5 11l-64 68l-17 -79h76zM1583 226l22 105l-252 266l-296 -307l63 -64h463zM1495 -142l16 28l65 310h-427l333 -343q8 4 13 5zM578 -158h5l342 354h-373v-335l4 -6q14 -5 22 -13 zM552 226h402l64 66l-309 321l-157 -166v-221zM359 226h163v189l-168 -177q4 -8 5 -12zM358 1051q0 -1 0.5 -2t0.5 -2q0 -16 -8 -29l171 -177v269zM552 1121v-311l153 -157l297 314l-223 236zM556 1425l-4 -8v-264l205 74l-191 201q-6 -2 -10 -3zM1447 1438h-16l-621 -224 l213 -225zM1023 946l-297 -315l311 -319l296 307zM688 634l-136 141v-284zM1038 270l-42 -44h85zM1374 618l238 -251l132 624l-3 5l-1 1zM1718 1018q-8 13 -8 29v2l-216 376q-5 1 -13 5l-437 -463l310 -327zM522 1142v223l-163 -282zM522 196h-163l163 -283v283zM1607 196 l-48 -227l130 227h-82zM1729 266l207 361q-2 10 -2 14q0 1 3 16l-171 296l-129 -612l77 -82q5 3 15 7z" />
-<glyph unicode="&#xf210;" d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" />
-<glyph unicode="&#xf211;" d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384 q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" />
-<glyph unicode="&#xf212;" horiz-adv-x="2048" d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021 q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-176 0 -336 -66l-114 -941q124 51 228.5 76t221.5 25 q209 0 374 -102q172 107 374 102z" />
-<glyph unicode="&#xf213;" horiz-adv-x="2048" d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101 q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 -284t-284 -118h-1244q-166 0 -284 118t-118 284 q0 116 63 214.5t168 148.5q-10 34 -10 73q0 113 80.5 193.5t193.5 80.5q102 0 180 -67q45 183 194 300t338 117q149 0 275 -73.5t199.5 -199.5t73.5 -275q0 -66 -14 -122q135 -33 221 -142.5t86 -247.5z" />
-<glyph unicode="&#xf214;" d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34 l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l105 47l15 -34l-105 -46zM259 1389v-36h-114 v36h114zM421 1389v-36h-115v36h115zM583 1389v-36h-115v36h115zM744 1389v-36h-114v36h114zM906 1389v-36h-114v36h114zM1068 1389v-36h-115v36h115zM1230 1389v-36h-115v36h115zM1391 1389v-36h-114v36h114zM181 1049v-79h-37v115h115v-36h-78zM421 1085v-36h-115v36h115z M583 1085v-36h-115v36h115zM744 1085v-36h-114v36h114zM906 1085v-36h-114v36h114zM1068 1085v-36h-115v36h115zM1230 1085v-36h-115v36h115zM1355 970v79h-78v36h115v-115h-37zM1355 822v115h37v-115h-37zM1355 674v115h37v-115h-37zM1355 526v115h37v-115h-37zM1355 378 v115h37v-115h-37zM1355 230v115h37v-115h-37zM760 265q-129 0 -221 91.5t-92 221.5q0 129 92 221t221 92q130 0 221.5 -92t91.5 -221q0 -130 -91.5 -221.5t-221.5 -91.5zM595 646q0 -36 19.5 -56.5t49.5 -25t64 -7t64 -2t49.5 -9t19.5 -30.5q0 -49 -112 -49q-97 0 -123 51 h-3l-31 -63q67 -42 162 -42q29 0 56.5 5t55.5 16t45.5 33t17.5 53q0 46 -27.5 69.5t-67.5 27t-79.5 3t-67 5t-27.5 25.5q0 21 20.5 33t40.5 15t41 3q34 0 70.5 -11t51.5 -34h3l30 58q-3 1 -21 8.5t-22.5 9t-19.5 7t-22 7t-20 4.5t-24 4t-23 1q-29 0 -56.5 -5t-54 -16.5 t-43 -34t-16.5 -53.5z" />
-<glyph unicode="&#xf215;" horiz-adv-x="2048" d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832 q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" />
-<glyph unicode="&#xf216;" horiz-adv-x="2048" d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126.5t-103.5 132.5t-108.5 126t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5 t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 -113t151.5 -153t139 -167.5t133.5 -153.5t149.5 -113 t172.5 -43.5q102 0 168.5 61.5t66.5 162.5q0 95 -64.5 159t-159.5 64q-30 0 -81.5 -18.5t-68.5 -18.5q-20 0 -35.5 15t-15.5 35q0 18 8.5 57t8.5 59q0 159 -107.5 263t-266.5 104q-58 0 -111.5 -18.5t-84 -40.5t-55.5 -40.5t-33 -18.5q-15 0 -25.5 10.5t-10.5 25.5 q0 19 25 46q59 67 147 103.5t182 36.5q191 0 318 -125.5t127 -315.5q0 -37 -4 -66q57 15 115 15z" />
-<glyph unicode="&#xf217;" horiz-adv-x="1664" d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920 q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf218;" horiz-adv-x="1664" d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920 q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf219;" horiz-adv-x="2048" d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20 l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" />
-<glyph unicode="&#xf21a;" horiz-adv-x="2048" d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83 q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83 q19 19 45 19t45 -19l83 -83zM237 19q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -82l83 82q19 19 45 19t45 -19l83 -82l64 64v293l-210 314q-17 26 -7 56.5t40 40.5l177 58v299h128v128h256v128h256v-128h256v-128h128v-299l177 -58q30 -10 40 -40.5t-7 -56.5l-210 -314 v-293l19 18q19 19 45 19t45 -19l83 -82l83 82q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83 q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83zM640 1152v-128l384 128l384 -128v128h-128v128h-512v-128h-128z" />
-<glyph unicode="&#xf21b;" d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14 t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 20.5t7.5 20.5q2 7 7.5 10.5t7.5 6.5 q2 9 4 27zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 61 4.5 118t19 125.5t37.5 123.5t63.5 103.5t93.5 74.5l-90 220h214q-22 64 -22 128q0 12 2 32q-194 40 -194 96q0 57 210 99q17 62 51.5 134t70.5 114q32 37 76 37q30 0 84 -31t84 -31t84 31 t84 31q44 0 76 -37q36 -42 70.5 -114t51.5 -134q210 -42 210 -99q0 -56 -194 -96q7 -81 -20 -160h214l-82 -225q63 -33 107.5 -96.5t65.5 -143.5t29 -151.5t8 -148.5z" />
-<glyph unicode="&#xf21c;" horiz-adv-x="2304" d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5 t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5t-14 52.5q4 23 23 38t43 15h253q33 0 53 -28l70 -105 l114 114q19 19 46 19h101q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-179l115 -172q131 63 275 36q143 -26 244 -134.5t118 -253.5zM448 128q115 0 203 72.5t111 183.5h-314q-35 0 -55 31q-18 32 -1 63l147 277q-47 13 -91 13q-132 0 -226 -94t-94 -226t94 -226 t226 -94zM1856 128q132 0 226 94t94 226t-94 226t-226 94q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94z" />
-<glyph unicode="&#xf21d;" d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12 q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 -44.5t91 -66.5t33 -88.5zM1024 896v-384 q0 -26 -19 -45t-45 -19h-64v-384q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v384h-64q-26 0 -45 19t-19 45v384q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM928 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5 t158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf21e;" horiz-adv-x="1792" d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221 q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124 t127 -344z" />
-<glyph unicode="&#xf221;" horiz-adv-x="1280" d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292 q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" />
-<glyph unicode="&#xf222;" d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5 q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf223;" horiz-adv-x="1280" d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5 t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -273zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf224;" d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf225;" horiz-adv-x="1792" d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l-111 112v-134q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9 t-9 23v288q0 26 19 45t45 19h288q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-133l106 -107l86 94q9 10 22 10.5t23 -7.5l48 -44q10 -8 10.5 -21.5t-8.5 -23.5l-90 -99l57 -56q158 126 359 126t359 -126l255 254h-134q-14 0 -23 9t-9 23v64zM832 256q185 0 316.5 131.5 t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf226;" horiz-adv-x="1792" d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23 t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM576 512q115 0 218 57q-154 165 -154 391 q0 224 154 391q-103 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1152 128v260q-137 15 -256 94q-119 -79 -256 -94v-260h512zM1216 512q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5q-115 0 -218 -57q154 -167 154 -391 q0 -226 -154 -391q103 -57 218 -57z" />
-<glyph unicode="&#xf227;" horiz-adv-x="1920" d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230 q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -74 93 -169q182 -9 328 -124l255 254h-134q-14 0 -23 9 t-9 23v64zM1024 704q0 20 -4 58q-162 -25 -271 -150t-109 -292q0 -20 4 -58q162 25 271 150t109 292zM128 704q0 -168 111 -294t276 -149q-3 29 -3 59q0 210 135 369.5t338 196.5q-53 120 -163.5 193t-245.5 73q-185 0 -316.5 -131.5t-131.5 -316.5zM1088 -128 q185 0 316.5 131.5t131.5 316.5q0 168 -111 294t-276 149q3 -29 3 -59q0 -210 -135 -369.5t-338 -196.5q53 -120 163.5 -193t245.5 -73z" />
-<glyph unicode="&#xf228;" horiz-adv-x="2048" d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23 t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q146 97 320 97q201 0 359 -126l255 254h-134q-14 0 -23 9 t-9 23v64zM896 391q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM128 704q0 -185 131.5 -316.5t316.5 -131.5q117 0 218 57q-154 167 -154 391t154 391q-101 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5zM1216 256q185 0 316.5 131.5t131.5 316.5 t-131.5 316.5t-316.5 131.5q-117 0 -218 -57q154 -167 154 -391t-154 -391q101 -57 218 -57z" />
-<glyph unicode="&#xf229;" d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5 t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf22a;" horiz-adv-x="1280" d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22 t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5 t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf22b;" horiz-adv-x="2048" d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5 t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5 t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf22c;" horiz-adv-x="1280" d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5 t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf22d;" horiz-adv-x="1280" d="M1024 576q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123 t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" />
-<glyph unicode="&#xf22e;" horiz-adv-x="1792" />
-<glyph unicode="&#xf22f;" horiz-adv-x="1792" />
-<glyph unicode="&#xf230;" d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" />
-<glyph unicode="&#xf231;" horiz-adv-x="1280" d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5 l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 95t38 110.5t20 111t6.5 99.5q0 173 -109.5 269.5t-285.5 96.5 q-200 0 -334 -129.5t-134 -328.5q0 -44 12.5 -85t27 -65t27 -45.5t12.5 -30.5q0 -28 -15 -73t-37 -45q-2 0 -17 3q-51 15 -90.5 56t-61 94.5t-32.5 108t-11 106.5z" />
-<glyph unicode="&#xf232;" d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5 t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 -200.5t-50 -243.5q0 -203 120 -368l-79 -233 l242 77q158 -104 345 -104zM782 1414q153 0 292.5 -60t240.5 -161t161 -240.5t60 -292.5t-60 -292.5t-161 -240.5t-240.5 -161t-292.5 -60q-195 0 -365 94l-417 -134l136 405q-108 178 -108 389q0 153 60 292.5t161 240.5t240.5 161t292.5 60z" />
-<glyph unicode="&#xf233;" horiz-adv-x="1792" d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216 q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" />
-<glyph unicode="&#xf234;" horiz-adv-x="2048" d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5 t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h-874q-121 0 -194 69t-73 190q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q79 -61 154.5 -91.5t164.5 -30.5t164.5 30.5t154.5 91.5q20 17 39 17q132 0 217 -96h-223q-52 0 -90 -38t-38 -90v-192z" />
-<glyph unicode="&#xf235;" horiz-adv-x="2048" d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136 q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91q0 -53 37 -90l83 -83q-21 -3 -44 -3h-874q-121 0 -194 69 t-73 190q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q154 -122 319 -122t319 122q20 17 39 17q28 0 57 -6q-28 -27 -41 -50t-13 -56q0 -54 37 -91z" />
-<glyph unicode="&#xf236;" horiz-adv-x="2048" d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704 q-26 0 -45 -19t-19 -45v-384h1152z" />
-<glyph unicode="&#xf237;" d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" />
-<glyph unicode="&#xf238;" d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56 t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" />
-<glyph unicode="&#xf239;" d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47 t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" />
-<glyph unicode="&#xf23a;" horiz-adv-x="1792" d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116 q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" />
-<glyph unicode="&#xf23b;" d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" />
-<glyph unicode="&#xf23c;" horiz-adv-x="2296" d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5 q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5zM1158 1094h1q-41 0 -76 -15q27 -8 44 -30.5t17 -49.5 q0 -35 -27 -60t-65 -25q-52 0 -80 43q-5 -23 -5 -42q0 -74 56 -126.5t135 -52.5q80 0 136 52.5t56 126.5t-56 126.5t-136 52.5zM1462 1312q-99 109 -220.5 131.5t-245.5 -44.5q27 60 82.5 96.5t118 39.5t121.5 -17t99.5 -74.5t44.5 -131.5zM2212 73q8 -11 -11 -42 q7 -23 7 -40q1 -56 -44.5 -112.5t-109.5 -91.5t-118 -37q-48 -2 -92 21.5t-66 65.5q-687 -25 -1259 0q-23 -41 -66.5 -65t-92.5 -22q-86 3 -179.5 80.5t-92.5 160.5q2 22 7 40q-19 31 -11 42q6 10 31 1q14 22 41 51q-7 29 2 38q11 10 39 -4q29 20 59 34q0 29 13 37 q23 12 51 -16q35 5 61 -2q18 -4 38 -19v73q-11 0 -18 2q-53 10 -97 44.5t-55 87.5q-9 38 0 81q15 62 93 95q2 17 19 35.5t36 23.5t33 -7.5t19 -30.5h13q46 -5 60 -23q3 -3 5 -7q10 1 30.5 3.5t30.5 3.5q-15 11 -30 17q-23 40 -91 43q0 6 1 10q-62 2 -118.5 18.5t-84.5 47.5 q-32 36 -42.5 92t-2.5 112q16 126 90 179q23 16 52 4.5t32 -40.5q0 -1 1.5 -14t2.5 -21t3 -20t5.5 -19t8.5 -10q27 -14 76 -12q48 46 98 74q-40 4 -162 -14l47 46q61 58 163 111q145 73 282 86q-20 8 -41 15.5t-47 14t-42.5 10.5t-47.5 11t-43 10q595 126 904 -139 q98 -84 158 -222q85 -10 121 9h1q5 3 8.5 10t5.5 19t3 19.5t3 21.5l1 14q3 28 32 40t52 -5q73 -52 91 -178q7 -57 -3.5 -113t-42.5 -91q-28 -32 -83.5 -48.5t-115.5 -18.5v-10q-71 -2 -95 -43q-14 -5 -31 -17q11 -1 32 -3.5t30 -3.5q1 4 5 8q16 18 60 23h13q5 18 19 30t33 8 t36 -23t19 -36q79 -32 93 -95q9 -40 1 -81q-12 -53 -56 -88t-97 -44q-10 -2 -17 -2q0 -49 -1 -73q20 15 38 19q26 7 61 2q28 28 51 16q14 -9 14 -37q33 -16 59 -34q27 13 38 4q10 -10 2 -38q28 -30 41 -51q23 8 31 -1zM1937 1025q0 -29 -9 -54q82 -32 112 -132 q4 37 -9.5 98.5t-41.5 90.5q-20 19 -36 17t-16 -20zM1859 925q35 -42 47.5 -108.5t-0.5 -124.5q67 13 97 45q13 14 18 28q-3 64 -31 114.5t-79 66.5q-15 -15 -52 -21zM1822 921q-30 0 -44 1q42 -115 53 -239q21 0 43 3q16 68 1 135t-53 100zM258 839q30 100 112 132 q-9 25 -9 54q0 18 -16.5 20t-35.5 -17q-28 -29 -41.5 -90.5t-9.5 -98.5zM294 737q29 -31 97 -45q-13 58 -0.5 124.5t47.5 108.5v0q-37 6 -52 21q-51 -16 -78.5 -66t-31.5 -115q9 -17 18 -28zM471 683q14 124 73 235q-19 -4 -55 -18l-45 -19v1q-46 -89 -20 -196q25 -3 47 -3z M1434 644q8 -38 16.5 -108.5t11.5 -89.5q3 -18 9.5 -21.5t23.5 4.5q40 20 62 85.5t23 125.5q-24 2 -146 4zM1152 1285q-116 0 -199 -82.5t-83 -198.5q0 -117 83 -199.5t199 -82.5t199 82.5t83 199.5q0 116 -83 198.5t-199 82.5zM1380 646q-106 2 -211 0v1q-1 -27 2.5 -86 t13.5 -66q29 -14 93.5 -14.5t95.5 10.5q9 3 11 39t-0.5 69.5t-4.5 46.5zM1112 447q8 4 9.5 48t-0.5 88t-4 63v1q-212 -3 -214 -3q-4 -20 -7 -62t0 -83t14 -46q34 -15 101 -16t101 10zM718 636q-16 -59 4.5 -118.5t77.5 -84.5q15 -8 24 -5t12 21q3 16 8 90t10 103 q-69 -2 -136 -6zM591 510q3 -23 -34 -36q132 -141 271.5 -240t305.5 -154q172 49 310.5 146t293.5 250q-33 13 -30 34l3 9v1v-1q-17 2 -50 5.5t-48 4.5q-26 -90 -82 -132q-51 -38 -82 1q-5 6 -9 14q-7 13 -17 62q-2 -5 -5 -9t-7.5 -7t-8 -5.5t-9.5 -4l-10 -2.5t-12 -2 l-12 -1.5t-13.5 -1t-13.5 -0.5q-106 -9 -163 11q-4 -17 -10 -26.5t-21 -15t-23 -7t-36 -3.5q-2 0 -3 -0.5t-3 -0.5h-3q-179 -17 -203 40q-2 -63 -56 -54q-47 8 -91 54q-12 13 -20 26q-17 29 -26 65q-58 -6 -87 -10q1 -2 4 -10zM507 -118q3 14 3 30q-17 71 -51 130t-73 70 q-41 12 -101.5 -14.5t-104.5 -80t-39 -107.5q35 -53 100 -93t119 -42q51 -2 94 28t53 79zM510 53q23 -63 27 -119q195 113 392 174q-98 52 -180.5 120t-179.5 165q-6 -4 -29 -13q0 -2 -1 -5t-1 -4q31 -18 22 -37q-12 -23 -56 -34q-10 -13 -29 -24h-1q-2 -83 1 -150 q19 -34 35 -73zM579 -113q532 -21 1145 0q-254 147 -428 196q-76 -35 -156 -57q-8 -3 -16 0q-65 21 -129 49q-208 -60 -416 -188h-1v-1q1 0 1 1zM1763 -67q4 54 28 120q14 38 33 71l-1 -1q3 77 3 153q-15 8 -30 25q-42 9 -56 33q-9 20 22 38q-2 4 -2 9q-16 4 -28 12 q-204 -190 -383 -284q198 -59 414 -176zM2155 -90q5 54 -39 107.5t-104 80t-102 14.5q-38 -11 -72.5 -70.5t-51.5 -129.5q0 -16 3 -30q10 -49 53 -79t94 -28q54 2 119 42t100 93z" />
-<glyph unicode="&#xf23d;" horiz-adv-x="2304" d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5 t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98.5t83 91.5t54 80.5t13 70t-45.5 55.5t-116.5 41t-204 23.5 t-304 5q-168 -2 -314 6t-256 23t-204.5 41t-159.5 51.5t-122.5 62.5t-91.5 66.5t-68 71.5t-50.5 69.5t-40 68t-36.5 59.5z" />
-<glyph unicode="&#xf23e;" horiz-adv-x="1792" d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348 t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 -90.5q0 -35 -17.5 -64t-46.5 -46v-114q0 -14 -9 -23 t-23 -9h-64q-14 0 -23 9t-9 23v114q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5zM896 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM544 928v-96 q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 93 65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5v-96q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 146 -103 249t-249 103t-249 -103t-103 -249zM1408 192v512q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-512 q0 -26 19 -45t45 -19h896q26 0 45 19t19 45z" />
-<glyph unicode="&#xf240;" horiz-adv-x="2304" d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113 v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf241;" horiz-adv-x="2304" d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
-<glyph unicode="&#xf242;" horiz-adv-x="2304" d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
-<glyph unicode="&#xf243;" horiz-adv-x="2304" d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
-<glyph unicode="&#xf244;" horiz-adv-x="2304" d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23 v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
-<glyph unicode="&#xf245;" horiz-adv-x="1280" d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" />
-<glyph unicode="&#xf246;" horiz-adv-x="1024" d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" />
-<glyph unicode="&#xf247;" horiz-adv-x="2048" d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128 h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" />
-<glyph unicode="&#xf248;" horiz-adv-x="2304" d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256 v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v-384h128v-384h-384v128h-384v-128h128v-128h896v128h128z" />
-<glyph unicode="&#xf249;" d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" />
-<glyph unicode="&#xf24a;" d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68 z" />
-<glyph unicode="&#xf24b;" horiz-adv-x="2304" d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5 t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-127 6 -218.5 -14t-140.5 -60t-71 -88t-22 -106t22 -106t71 -88 t140.5 -60t218.5 -14q101 4 208 31zM2176 518q0 54 -43 88.5t-109 39.5v3q57 8 89 41.5t32 79.5q0 55 -41 88t-107 36q-3 0 -12 0.5t-14 0.5h-455v-510h491q74 0 121.5 36.5t47.5 96.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90 t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf24c;" horiz-adv-x="2304" d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294 t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323 -85h301q129 0 251.5 50.5t214.5 135t147.5 202.5t55.5 246z M2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf24d;" horiz-adv-x="1792" d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113 zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf24e;" horiz-adv-x="2304" d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64 q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5zM2176 384q0 -73 -46.5 -131t-117.5 -91 t-144.5 -49.5t-139.5 -16.5t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81zM896 384q0 -73 -46.5 -131t-117.5 -91t-144.5 -49.5t-139.5 -16.5 t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81z" />
-<glyph unicode="&#xf250;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-77 -29 -149 -92.5 t-129.5 -152.5t-92.5 -210t-35 -253h1024q0 132 -35 253t-92.5 210t-129.5 152.5t-149 92.5q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
-<glyph unicode="&#xf251;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -152t-90.5 -208t-34 -249.5h1024z" />
-<glyph unicode="&#xf252;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" />
-<glyph unicode="&#xf253;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-137 -51 -244 -196 h700q-107 145 -244 196q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
-<glyph unicode="&#xf254;" d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87 t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9 h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472z" />
-<glyph unicode="&#xf255;" d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25 q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 -50q57 34 123 34q59 0 111 -27 t86 -76q27 7 59 7q100 0 170 -71.5t70 -171.5v-246q0 -51 -13 -108l-109 -436q-6 -24 -6 -71q0 -80 -56 -136t-136 -56h-640q-84 0 -138 58.5t-54 142.5l-308 296q-76 73 -76 175v224q0 99 70.5 169.5t169.5 70.5q11 0 16 -1q6 95 75.5 160t164.5 65q52 0 98 -21 q72 69 174 69z" />
-<glyph unicode="&#xf256;" horiz-adv-x="1792" d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33 t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -175v-498q0 -40 -8 -83l-76 -404q-14 -79 -76.5 -131t-143.5 -52 h-688q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 106 75 181t181 75q78 0 128 -34v434q0 99 70.5 169.5t169.5 70.5q23 0 42 -4q31 61 88.5 96.5t125.5 35.5z" />
-<glyph unicode="&#xf257;" horiz-adv-x="1792" d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668 q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79t-79 33q-26 0 -46 -10l-290 -132q-28 -13 -37 -17 t-30.5 -17t-29.5 -23.5t-16 -29t-8 -40.5q0 -50 31.5 -82t81.5 -32q20 0 38 9l352 160q30 14 48 41.5t18 60.5zM1112 1024l-650 248q-24 8 -46 8q-53 0 -90.5 -37.5t-37.5 -90.5q0 -40 22.5 -73t59.5 -47l526 -200v-64h-640q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5 t90.5 -37.5h535l233 106v198q0 63 46 106l111 102h-69zM1073 0q82 0 155 19l339 85q43 11 70 45.5t27 78.5v668q0 53 -37.5 90.5t-90.5 37.5h-308l-136 -126q-36 -33 -36 -82v-296q0 -46 33 -77t79 -31t79 35t33 81v208h32v-208q0 -70 -57 -114q52 -8 86.5 -48.5t34.5 -93.5 q0 -42 -23 -78t-61 -53l-310 -141h91z" />
-<glyph unicode="&#xf258;" horiz-adv-x="2048" d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32 q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 -44 3 -58q8 -44 44 -73t81 -29h640h91q40 0 68 -28t28 -68 q0 -15 -5 -30l-64 -192q-10 -29 -35 -47.5t-56 -18.5h-443q-66 0 -113 -47t-47 -113v-32q0 -26 19 -45t45 -19h561q16 0 29 -7l317 -158q24 -13 38.5 -36t14.5 -50v-197q0 -26 19 -45t45 -19h384q26 0 45 19t19 45z" />
-<glyph unicode="&#xf259;" horiz-adv-x="2048" d="M816 1408q-48 0 -79.5 -34t-31.5 -82q0 -14 3 -28l150 -624h-26l-116 482q-9 38 -39.5 62t-69.5 24q-47 0 -79 -34t-32 -81q0 -11 4 -29q3 -13 39 -161t68 -282t32 -138v-227l-307 230q-34 26 -77 26q-52 0 -89.5 -36.5t-37.5 -88.5q0 -67 56 -110l507 -379 q34 -26 76 -26h694q33 0 59 20.5t34 52.5l100 401q8 30 10 88t9 86l116 478q3 12 3 26q0 46 -33 79t-80 33q-38 0 -69 -25.5t-40 -62.5l-99 -408h-26l132 547q3 14 3 28q0 47 -32 80t-80 33q-38 0 -68.5 -24t-39.5 -62l-145 -602h-127l-164 682q-9 38 -39.5 62t-68.5 24z M1461 -256h-694q-85 0 -153 51l-507 380q-50 38 -78.5 94t-28.5 118q0 105 75 179t180 74q25 0 49.5 -5.5t41.5 -11t41 -20.5t35 -23t38.5 -29.5t37.5 -28.5l-123 512q-7 35 -7 59q0 93 60 162t152 79q14 87 80.5 144.5t155.5 57.5q83 0 148 -51.5t85 -132.5l103 -428 l83 348q20 81 85 132.5t148 51.5q87 0 152.5 -54t82.5 -139q93 -10 155 -78t62 -161q0 -30 -7 -57l-116 -477q-5 -22 -5 -67q0 -51 -13 -108l-101 -401q-19 -75 -79.5 -122.5t-137.5 -47.5z" />
-<glyph unicode="&#xf25a;" horiz-adv-x="1792" d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5 q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47 21 99 21q113 0 184 -87q27 7 56 7q94 0 159 -67.5t65 -161.5 v-217q0 -116 -28 -225l-92 -368q-16 -64 -68 -104.5t-118 -40.5h-718q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 105 74.5 180.5t179.5 75.5q71 0 130 -35v547q0 106 75 181t181 75zM768 128v384h-32v-384h32zM1024 128v384h-32v-384h32zM1280 128v384h-32 v-384h32z" />
-<glyph unicode="&#xf25b;" d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181 v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 -30.5t-17 -37l-132 -290q-10 -20 -10 -46 q0 -46 33 -79t79 -33q33 0 60.5 18t41.5 48l160 352q9 18 9 38q0 50 -32 81.5t-82 31.5zM128 1120q0 -22 8 -46l248 -650v-69l102 111q43 46 106 46h198l106 233v535q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-640h-64l-200 526q-14 37 -47 59.5t-73 22.5 q-53 0 -90.5 -37.5t-37.5 -90.5zM1180 -128q44 0 78.5 27t45.5 70l85 339q19 73 19 155v91l-141 -310q-17 -38 -53 -61t-78 -23q-53 0 -93.5 34.5t-48.5 86.5q-44 -57 -114 -57h-208v32h208q46 0 81 33t35 79t-31 79t-77 33h-296q-49 0 -82 -36l-126 -136v-308 q0 -53 37.5 -90.5t90.5 -37.5h668z" />
-<glyph unicode="&#xf25c;" horiz-adv-x="1973" d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5 t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51q3 7 9.5 24.5t10.5 26.5l221 520q9 19 29 19h141 q13 0 22 -8.5t10 -20.5z" />
-<glyph unicode="&#xf25d;" horiz-adv-x="1792" d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109 t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM1792 640 q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf25e;" horiz-adv-x="1792" d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13t-23.5 -14.5t-28.5 -13.5t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78 q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13t-23.5 -14.5t-28.5 -13.5t-33.5 -9.5 t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-147 0 -245.5 -96.5t-98.5 -240.5q0 -146 97 -241.5t247 -95.5zM896 1376 q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191 t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71z" />
-<glyph unicode="&#xf260;" horiz-adv-x="2048" d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" />
-<glyph unicode="&#xf261;" horiz-adv-x="1792" d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191 t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf262;" horiz-adv-x="2304" d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57 t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q0 -116 -81.5 -197.5t-196.5 -81.5q-116 0 -197.5 82t-81.5 197 t82 196.5t197 81.5t196.5 -81.5t81.5 -196.5zM2004 540q0 -115 -81.5 -196.5t-197.5 -81.5q-115 0 -196.5 81.5t-81.5 196.5t81.5 196.5t196.5 81.5q116 0 197.5 -81.5t81.5 -196.5zM1040 537q0 191 -135.5 326.5t-326.5 135.5q-125 0 -231 -62t-168 -168.5t-62 -231.5 t62 -231.5t168 -168.5t231 -62q191 0 326.5 135.5t135.5 326.5zM1708 1110q-254 111 -556 111q-319 0 -573 -110q117 0 223 -45.5t182.5 -122.5t122 -183t45.5 -223q0 115 43.5 219.5t118 180.5t177.5 123t217 50zM2187 537q0 191 -135 326.5t-326 135.5t-326.5 -135.5 t-135.5 -326.5t135.5 -326.5t326.5 -135.5t326 135.5t135 326.5zM1921 1103h383q-44 -51 -75 -114.5t-40 -114.5q110 -151 110 -337q0 -156 -77 -288t-209 -208.5t-287 -76.5q-133 0 -249 56t-196 155q-47 -56 -129 -179q-11 22 -53.5 82.5t-74.5 97.5 q-80 -99 -196.5 -155.5t-249.5 -56.5q-155 0 -287 76.5t-209 208.5t-77 288q0 186 110 337q-9 51 -40 114.5t-75 114.5h365q149 100 355 156.5t432 56.5q224 0 421 -56t348 -157z" />
-<glyph unicode="&#xf263;" horiz-adv-x="1280" d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5 t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 30 -31 73t31 74l267 267l72 72q-203 21 -317 94 q-39 25 -61.5 41.5t-42.5 37t-26.5 38.5t-4.5 40.5t15 49.5q10 20 28 35t42 22t56 -2t65 -35q5 -4 15 -11t43 -24.5t69 -30.5t92 -24t113 -11q91 0 174 25.5t120 50.5l38 25q33 26 65 35t56 2t42 -22t28 -35z" />
-<glyph unicode="&#xf264;" d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32 q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 52q141 14 225 67q67 44 87 73.5t-2 74.5 zM1092 956q0 134 -95 229t-229 95t-229 -95t-95 -229t95 -229t229 -95t229 95t95 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf265;" horiz-adv-x="1720" d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33 l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" />
-<glyph unicode="&#xf266;" horiz-adv-x="2304" d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540 q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5 0.5t180 1t92.5 0.5v-49q-62 -2 -119 -33t-90 -81 l-213 -442q13 -33 127.5 -290t121.5 -274l441 1017q-14 38 -49.5 62.5t-65 31.5t-55.5 8v50l460 -4l1 -2l-1 -44q-139 -4 -201 -145q-526 -1216 -559 -1291h-49z" />
-<glyph unicode="&#xf267;" horiz-adv-x="1792" d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640 q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 13 20.5t21.5 33.5t9.5 19q0 13 -13 13q-6 0 -17 -14.5 t-22.5 -34.5t-13.5 -23q-113 75 -192 187.5t-110 244.5l69 15q10 3 10 15q0 5 -5.5 8t-10.5 2l-68 -15q-14 72 -14 139q0 206 109 379q2 -1 18.5 -12t30 -19t17.5 -8q13 0 13 12q0 6 -12.5 15.5t-32.5 21.5l-20 12q77 112 189 189t244 107l15 -67q2 -10 15 -10q5 0 8 5.5 t2 10.5l-15 66q71 13 134 13q204 0 379 -109q-39 -56 -39 -65q0 -13 12 -13q11 0 48 64q111 -75 187.5 -186t107.5 -241l-56 -12q-10 -2 -10 -16q0 -5 5.5 -8t9.5 -2l57 13q14 -72 14 -140zM1696 640q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5 t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191 t191 -286t71 -348z" />
-<glyph unicode="&#xf268;" horiz-adv-x="1792" d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962 q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5 213.5t213.5 88.5z" />
-<glyph unicode="&#xf269;" horiz-adv-x="1792" d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5 q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31.5 -10.5t-46.5 -1q-60 -95 -144.5 -135.5t-209.5 -29.5 q74 -61 162.5 -82.5t168.5 -6t154.5 52t128 87.5t80.5 104q43 91 39 192.5t-37.5 188.5t-78.5 125q87 -38 137 -79.5t77 -112.5q15 170 -57.5 343t-209.5 284q265 -77 412 -279.5t151 -517.5q2 -127 -40.5 -255t-123.5 -238t-189 -196t-247.5 -135.5t-288.5 -49.5z" />
-<glyph unicode="&#xf26a;" horiz-adv-x="1792" d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339 q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83 254 83q119 0 226 -65q135 -125 210.5 -295t75.5 -361z " />
-<glyph unicode="&#xf26b;" horiz-adv-x="1792" d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606 q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 222.5 -131.5t170.5 -195.5q51 135 51 216z M128 2q0 -86 48.5 -132.5t134.5 -46.5q115 0 266 83q-122 72 -213.5 183t-137.5 245q-98 -205 -98 -332zM632 715h728q-5 142 -113 237t-251 95q-144 0 -251.5 -95t-112.5 -237z" />
-<glyph unicode="&#xf26c;" horiz-adv-x="2048" d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23 v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf26d;" horiz-adv-x="1792" d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34 h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12 83.5 6.5t67 -17t54 -35t43 -48t34.5 -56.5l468 100 q-68 175 -180 287z" />
-<glyph unicode="&#xf26e;" d="M1401 -11l-6 -6q-113 -114 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6 q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q6 0 13 -5l65 -66l65 65q18 17 48 -13 q27 -27 11 -44zM1400 547q0 -118 -46 -228q-45 -105 -126 -186q-80 -80 -187 -126t-228 -46t-228 46t-187 126q-82 82 -125 186q-15 32 -15 40h-1q-9 27 43 44q50 16 60 -12q37 -99 97 -167h1v339v2q3 136 102 232q105 103 253 103q147 0 251 -103t104 -249 q0 -147 -104.5 -251t-250.5 -104q-58 0 -112 16q-28 11 -13 61q16 51 44 43l14 -3q14 -3 32.5 -6t30.5 -3q104 0 176 71.5t72 174.5q0 101 -72 171q-71 71 -175 71q-107 0 -178 -80q-64 -72 -64 -160v-413q110 -67 242 -67q96 0 185 36.5t156 103.5t103.5 155t36.5 183 q0 198 -141 339q-140 140 -339 140q-200 0 -340 -140q-53 -53 -77 -87l-2 -2q-8 -11 -13 -15.5t-21.5 -9.5t-38.5 3q-21 5 -36.5 16.5t-15.5 26.5v680q0 15 10.5 26.5t27.5 11.5h877q30 0 30 -55t-30 -55h-811v-483h1q40 42 102 84t108 61q109 46 231 46q121 0 228 -46 t187 -126q81 -81 126 -186q46 -112 46 -229zM1369 1128q9 -8 9 -18t-5.5 -18t-16.5 -21q-26 -26 -39 -26q-9 0 -16 7q-106 91 -207 133q-128 56 -276 56q-133 0 -262 -49q-27 -10 -45 37q-9 25 -8 38q3 16 16 20q130 57 299 57q164 0 316 -64q137 -58 235 -152z" />
-<glyph unicode="&#xf270;" horiz-adv-x="1792" d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 -0.5h-5.5h-4.5t-3 0.5t-2 1.5l-1.5 3q-6 16 47 40t103 30 q46 7 108 1t76 -24zM1364 618q0 -31 13.5 -64t32 -58t37.5 -46t33 -32l13 -11l-227 -224q-40 37 -79 75.5t-58 58.5l-19 20q-11 11 -25 33q-38 -59 -97.5 -102.5t-127.5 -63.5t-140 -23t-137.5 21t-117.5 65.5t-83 113t-31 162.5q0 84 28 154t72 116.5t106.5 83t122.5 57 t130 34.5t119.5 18.5t99.5 6.5v127q0 65 -21 97q-34 53 -121 53q-6 0 -16.5 -1t-40.5 -12t-56 -29.5t-56 -59.5t-48 -96l-294 27q0 60 22 119t67 113t108 95t151.5 65.5t190.5 24.5q100 0 181 -25t129.5 -61.5t81 -83t45 -86t12.5 -73.5v-589zM692 597q0 -86 70 -133 q66 -44 139 -22q84 25 114 123q14 45 14 101v162q-59 -2 -111 -12t-106.5 -33.5t-87 -71t-32.5 -114.5z" />
-<glyph unicode="&#xf271;" horiz-adv-x="1792" d="M1536 1280q52 0 90 -38t38 -90v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9 h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408zM896 448h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224 v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224z" />
-<glyph unicode="&#xf272;" horiz-adv-x="1792" d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23 t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47 t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf273;" horiz-adv-x="1792" d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf274;" horiz-adv-x="1792" d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23 t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47 t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf275;" horiz-adv-x="1792" d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" />
-<glyph unicode="&#xf276;" horiz-adv-x="1024" d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q61 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249 q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" />
-<glyph unicode="&#xf277;" horiz-adv-x="1792" d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768 q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" />
-<glyph unicode="&#xf278;" horiz-adv-x="2048" d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173 v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" />
-<glyph unicode="&#xf279;" horiz-adv-x="1792" d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472 q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" />
-<glyph unicode="&#xf27a;" horiz-adv-x="1792" d="M640 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5 t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5 5 23.5 21.5t25.5 23.5t23.5 25.5t24 31.5t20.5 37 t20 48t14.5 57.5t12.5 72.5q-146 90 -229.5 216.5t-83.5 269.5q0 174 120 321.5t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
-<glyph unicode="&#xf27b;" horiz-adv-x="1792" d="M640 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5 t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5 t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51 t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 130 71 248.5t191 204.5t286 136.5t348 50.5t348 -50.5t286 -136.5t191 -204.5t71 -248.5z" />
-<glyph unicode="&#xf27c;" horiz-adv-x="1024" d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" />
-<glyph unicode="&#xf27d;" horiz-adv-x="1792" d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246 q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" />
-<glyph unicode="&#xf27e;" d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" />
-<glyph unicode="&#xf280;" d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72 h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 1 -9.5 2.5t-2.5 3t1 7.5t1 12v520h-275 l-23 -101l83 -22q23 -7 23 -27v-370q0 -14 -6 -18.5t-20 -6.5l-70 -9v-86h352z" />
-<glyph unicode="&#xf281;" horiz-adv-x="1792" d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5 l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105.5 -44t106 44t44 106t-44 105.5t-106 43.5q-61 0 -105 -44 t-44 -105zM1228 136q11 11 11 26t-11 26q-10 10 -25 10t-26 -10q-41 -42 -121 -62t-160 -20t-160 20t-121 62q-11 10 -26 10t-25 -10q-11 -10 -11 -25.5t11 -26.5q43 -43 118.5 -68t122.5 -29.5t91 -4.5t91 4.5t122.5 29.5t118.5 68zM1225 341q62 0 105.5 44t43.5 106 q0 61 -44 105t-105 44q-62 0 -106 -43.5t-44 -105.5t44 -106t106 -44z" />
-<glyph unicode="&#xf282;" horiz-adv-x="1792" d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53 q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -163.5z" />
-<glyph unicode="&#xf283;" horiz-adv-x="2304" d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" />
-<glyph unicode="&#xf284;" horiz-adv-x="1792" d="M1549 857q55 0 85.5 -28.5t30.5 -83.5t-34 -82t-91 -27h-136v-177h-25v398h170zM1710 267l-4 -11l-5 -10q-113 -230 -330.5 -366t-474.5 -136q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q244 0 454.5 -124t329.5 -338l2 -4l8 -16 q-30 -15 -136.5 -68.5t-163.5 -84.5q-6 -3 -479 -268q384 -183 799 -366zM896 -234q250 0 462.5 132.5t322.5 357.5l-287 129q-72 -140 -206 -222t-292 -82q-151 0 -280 75t-204 204t-75 280t75 280t204 204t280 75t280 -73.5t204 -204.5l280 143q-116 208 -321 329 t-443 121q-119 0 -232.5 -31.5t-209 -87.5t-176.5 -137t-137 -176.5t-87.5 -209t-31.5 -232.5t31.5 -232.5t87.5 -209t137 -176.5t176.5 -137t209 -87.5t232.5 -31.5z" />
-<glyph unicode="&#xf285;" horiz-adv-x="1792" d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" />
-<glyph unicode="&#xf286;" horiz-adv-x="1792" d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96 q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 6 2.5 9.5t8.5 5t9.5 2t11.5 0t9 -0.5v391q-32 15 -32 50q0 23 16.5 39t38.5 16t38.5 -16t16.5 -39q0 -35 -32 -50v-17q45 10 83 10q21 0 59.5 -7.5t54.5 -7.5 q17 0 47 7.5t37 7.5q16 0 16 -16v-210q0 -15 -35 -21.5t-62 -6.5q-18 0 -54.5 7.5t-55.5 7.5q-40 0 -90 -12v-133q1 0 9 0.5t11.5 0t9.5 -2t8.5 -5t2.5 -9.5v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-624h128v112q0 16 16 16h96 q16 0 16 -16z" />
-<glyph unicode="&#xf287;" horiz-adv-x="2304" d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96 q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t91 -138h104q24 0 46.5 17t44.5 53.5t36 65t37 81.5q19 41 28 60.5 t28.5 57.5t33.5 57t37 46t45 40.5t51 23.5t61 10h107q21 57 70 92.5t111 35.5q80 0 136 -56t56 -136t-56 -136t-136 -56q-62 0 -111 35.5t-70 92.5h-107q-17 0 -33 -8t-31.5 -26t-27 -34t-27 -47t-24 -49t-24.5 -55q-46 -107 -83 -165h1114v128q0 18 16 28t32 -1z" />
-<glyph unicode="&#xf288;" horiz-adv-x="1792" d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348 t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf289;" horiz-adv-x="2304" d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22 q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 221 298t354 114q235 0 408.5 -158.5t196.5 -389.5 q116 -25 192.5 -118.5t76.5 -214.5zM2048 438q0 -175 -97 -319q-23 -33 -64 -33q-24 0 -43 13q-26 17 -32 48.5t12 57.5q71 104 71 233t-71 233q-18 26 -12 57t32 49t57.5 11.5t49.5 -32.5q97 -142 97 -318zM2304 438q0 -244 -134 -443q-23 -34 -64 -34q-23 0 -42 13 q-26 18 -32.5 49t11.5 57q108 164 108 358q0 195 -108 357q-18 26 -11.5 57.5t32.5 48.5q26 18 57 12t49 -33q134 -198 134 -442z" />
-<glyph unicode="&#xf28a;" d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83 t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t-119.5 56.5q-28 13 -43 20 q-116 55 -187 100t-122.5 102t-72 125.5t-20.5 162.5q0 78 20.5 150t66 137.5t112.5 114t166.5 77t221.5 28.5q120 0 220 -26t164.5 -67t109.5 -94t64 -105.5t19 -103.5q0 -46 -15 -82.5t-36.5 -58t-48.5 -36t-49 -19.5t-39 -5h-8h-32t-39 5t-44 14t-41 28t-37 46t-24 70.5 t-10 97.5q-15 16 -59 25.5t-81 10.5l-37 1q-68 0 -117.5 -31t-70.5 -70t-21 -76q0 -24 5 -43t24 -46t53 -51t97 -53.5t150 -58.5q76 -25 138.5 -53.5t109 -55.5t83 -59t60.5 -59.5t41 -62.5t26.5 -62t14.5 -63.5t6 -62t1 -62.5z" />
-<glyph unicode="&#xf28b;" d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103 t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf28c;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" />
-<glyph unicode="&#xf28d;" d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
-<glyph unicode="&#xf28e;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" />
-<glyph unicode="&#xf290;" horiz-adv-x="1792" d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf291;" horiz-adv-x="2048" d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5 t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1632 27l32 416 q2 26 -15.5 46.5t-43.5 22.5t-46.5 -15.5t-22.5 -43.5l-32 -416q-2 -26 15.5 -46.5t43.5 -22.5h5q25 0 43.5 17t20.5 42zM476 1244l-93 -412h-132l101 441q19 88 89 143.5t160 55.5h167q0 26 19 45t45 19h384q26 0 45 -19t19 -45h167q90 0 160 -55.5t89 -143.5l101 -441 h-132l-93 412q-11 44 -45.5 72t-79.5 28h-167q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45h-167q-45 0 -79.5 -28t-45.5 -72z" />
-<glyph unicode="&#xf292;" horiz-adv-x="1792" d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12 q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h311 q15 0 25 -12q9 -12 6 -28z" />
-<glyph unicode="&#xf293;" d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5 t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" />
-<glyph unicode="&#xf294;" horiz-adv-x="1024" d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" />
-<glyph unicode="&#xf295;" d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5 t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf296;" horiz-adv-x="1792" d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" />
-<glyph unicode="&#xf297;" horiz-adv-x="1792" d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111 q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -385.5z" />
-<glyph unicode="&#xf298;" d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14 t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" />
-<glyph unicode="&#xf299;" horiz-adv-x="1792" d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57 q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9.5 -173t-20 -143.5t-13 -107l323 -327h-104l-281 285 q-22 -2 -91.5 -14t-121.5 -19t-138 -6t-160.5 17t-167.5 59t-179 111z" />
-<glyph unicode="&#xf29a;" horiz-adv-x="1792" d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42 q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z M1600 640q0 -143 -55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5zM896 1408q-156 0 -298 -61t-245 -164t-164 -245t-61 -298t61 -298 t164 -245t245 -164t298 -61t298 61t245 164t164 245t61 298t-61 298t-164 245t-245 164t-298 61zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf29b;" d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300 l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -52t52.5 -126t-52.5 -126t-126.5 -52z M613 -62q106 0 196 61l139 -139q-146 -116 -335 -116q-148 0 -273.5 73t-198.5 198t-73 273q0 188 116 336l139 -139q-60 -88 -60 -197q0 -145 102.5 -247.5t247.5 -102.5z" />
-<glyph unicode="&#xf29c;" d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5 t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768 1280q-130 0 -248.5 -51t-204 -136.5 t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5 t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf29d;" horiz-adv-x="1408" d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457 q-67 -192 -92 -234q-16 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 299l211 381q23 34 113 34q75 0 107 -40l424 -521 q7 -5 14 -17l3 -3l-1 -1q7 -13 7 -29zM514 433q43 -113 88.5 -225t69.5 -168l24 -55q36 -93 42 -125q11 -70 -36 -97q-35 -22 -66 -16t-51 22t-29 35h-1q-6 16 -8 25l-124 351zM1338 -159q31 -49 31 -57q0 -5 -3 -7q-9 -5 -14.5 0.5t-15.5 26t-16 30.5q-114 172 -423 661 q3 -1 7 1t7 4l3 2q11 9 11 17z" />
-<glyph unicode="&#xf29e;" horiz-adv-x="2304" d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10 t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5 t-7.5 60t-20 91.5t-41 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2123 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-45 -108t-74 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5 h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2304 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66 104.5t41 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96 t9.5 -70.5z" />
-<glyph unicode="&#xf2a0;" horiz-adv-x="1408" d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5 q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t-19 -244t19 -244t68 -216q56 -122 83 -161q63 -91 179 -127 l6 -2q64 -18 98 -18q25 0 45 8q32 12 75.5 42.5t43.5 52.5zM776 760q-26 0 -45 19t-19 45.5t19 45.5q37 37 37 90q0 52 -37 91q-19 19 -19 45t19 45t45 19t45 -19q75 -75 75 -181t-75 -181q-21 -19 -45 -19zM957 579q-27 0 -45 19q-19 19 -19 45t19 45q112 114 112 272 t-112 272q-19 19 -19 45t19 45t45 19t45 -19q150 -150 150 -362t-150 -362q-18 -19 -45 -19zM1138 398q-27 0 -45 19q-19 19 -19 45t19 45q90 91 138.5 208t48.5 245t-48.5 245t-138.5 208q-19 19 -19 45t19 45t45 19t45 -19q109 -109 167 -249t58 -294t-58 -294t-167 -249 q-18 -19 -45 -19z" />
-<glyph unicode="&#xf2a1;" horiz-adv-x="2176" d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352 q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 864 q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 1376q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 192q0 -80 -56 -136 t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 1216q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 192q0 -80 -56 -136t-136 -56t-136 56 t-56 136t56 136t136 56t136 -56t56 -136zM1664 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136 t56 136t136 56t136 -56t56 -136zM2176 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z" />
-<glyph unicode="&#xf2a2;" horiz-adv-x="1792" d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 57 11.5 105.5t37 91t43.5 66.5t52 63q40 46 59.5 72 t37.5 74.5t18 103.5q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM896 576q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45 t45 19t45 -19t19 -45zM1184 704q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 93 -65.5 158.5t-158.5 65.5q-92 0 -158 -65.5t-66 -158.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 146 103 249t249 103t249 -103t103 -249zM1578 993q10 -25 -1 -49t-36 -34q-9 -4 -23 -4 q-19 0 -35.5 11t-23.5 30q-68 178 -224 295q-21 16 -25 42t12 47q17 21 43 25t47 -12q183 -137 266 -351zM1788 1074q9 -25 -1.5 -49t-35.5 -34q-11 -4 -23 -4q-44 0 -60 41q-92 238 -297 393q-22 16 -25.5 42t12.5 47q16 22 42 25.5t47 -12.5q235 -175 341 -449z" />
-<glyph unicode="&#xf2a3;" horiz-adv-x="2304" d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55 q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 0 39 -9q36 -17 49.5 -54.5t-3.5 -73.5 q-40 -83 -118.5 -133t-170.5 -50h-6q-16 2 -44 4l-290 27l-239 -120q-14 -7 -29 -7q-40 0 -57 35l-160 320q-11 23 -4 47.5t29 37.5l209 119l148 267q17 155 91.5 291.5t195.5 236.5q31 25 70.5 21.5t64.5 -34.5t21.5 -70t-34.5 -65q-70 -59 -117 -128q123 84 267 101 q40 5 71.5 -19t35.5 -64q5 -40 -19 -71.5t-64 -35.5q-84 -10 -159 -55q46 10 99 10q115 0 218 -50q36 -18 49 -55.5t-5 -73.5zM2137 1085l160 -320q11 -23 4 -47.5t-29 -37.5l-209 -119l-148 -267q-17 -155 -91.5 -291.5t-195.5 -236.5q-26 -22 -61 -22q-45 0 -74 35 q-25 31 -21.5 70t34.5 65q70 59 117 128q-123 -84 -267 -101q-4 -1 -12 -1q-36 0 -63.5 24t-31.5 60q-5 40 19 71.5t64 35.5q84 10 159 55q-46 -10 -99 -10q-115 0 -218 50q-36 18 -49 55.5t5 73.5q17 35 55 48t73 -4q62 -31 134 -31q51 0 99 17q-3 0 -9.5 -0.5t-9.5 -0.5 q-92 0 -170.5 50t-118.5 133q-17 36 -3.5 73.5t49.5 54.5q18 9 39 9q-21 0 -39 9q-36 17 -49.5 54.5t3.5 73.5q40 83 118.5 133t170.5 50h6h1q14 -2 42 -4l291 -27l239 120q14 7 29 7q40 0 57 -35z" />
-<glyph unicode="&#xf2a4;" horiz-adv-x="1792" d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19 t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19 -45t19 -45t45 -19q159 0 271.5 112.5t112.5 271.5q0 41 7.5 74 t26.5 64t33.5 50t45.5 54q35 41 53 64.5t44 67.5t37.5 93.5t11.5 108.5q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5zM591 561l226 -226l-579 -579q-12 -12 -29 -12t-29 12l-168 168q-12 12 -12 29t12 29zM1612 1524l168 -168q12 -12 12 -29t-12 -30l-233 -233 l-26 -25l-71 -71q-66 153 -195 258l91 91l207 207q13 12 30 12t29 -12z" />
-<glyph unicode="&#xf2a5;" d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2 q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39.5t29.5 28.5t26 20t11 8.5q0 3 -7 10 q-24 22 -58.5 36.5t-65.5 14.5q-35 0 -63.5 -34t-41 -75t-12.5 -75q0 -88 51.5 -142t138.5 -54q82 0 155 53t117.5 126t65.5 153q6 22 15.5 66.5t14.5 66.5q3 12 14 18q118 60 227 60q48 0 127 -18q1 -1 4 -1q5 0 9.5 4.5t4.5 8.5zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf2a6;" horiz-adv-x="1535" d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5 l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19.5 117t63 116.5t97.5 52.5q38 0 120 -33.5t83 -61.5 q0 -1 -16.5 -12.5t-39.5 -31t-46 -44.5t-39 -61t-16 -74q0 -33 16.5 -53t48.5 -20q45 0 85 31.5t66.5 78t48 105.5t32.5 107t16 90v9q0 2 -3.5 3.5t-8.5 1.5h-10t-10 -0.5t-6 -0.5q-227 0 -352 122.5t-125 348.5q0 108 34.5 221t96 210t156 167.5t204.5 89.5q52 9 106 9 q374 0 374 -360q0 -98 -38 -273t-43 -211l3 -3q101 57 182.5 88t167.5 31q22 0 53 -13q19 -7 80 -102.5t61 -116.5z" />
-<glyph unicode="&#xf2a7;" horiz-adv-x="1664" d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37 t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 73.5q27 38 76 38zM761 661l186 -125l-218 37l-5 2l-36 38 l-238 262q-1 1 -2.5 3.5t-2.5 3.5q-24 31 -18.5 70t37.5 64q31 23 68 17.5t64 -33.5l142 -147l-4 -4t-5 -4q-32 -45 -23 -99t55 -85zM1648 1115l15 -266q4 -73 -11 -147l-48 -219q-12 -59 -67 -87l-106 -54q2 62 -39 109l-146 170q-53 61 -117 103l-222 148q-34 23 -76 23 q-51 0 -88 -37l-235 312q-25 33 -18 73.5t41 63.5q33 22 71.5 14t62.5 -40l266 -352l-262 455q-21 35 -10.5 75t47.5 59q35 18 72.5 6t57.5 -46l241 -420l-136 337q-15 35 -4.5 74t44.5 56q37 19 76 6t56 -51l193 -415l101 -196q8 -15 23 -17.5t27 7.5t11 26l-12 224 q-2 41 26 71t69 31q39 0 67 -28.5t30 -67.5z" />
-<glyph unicode="&#xf2a8;" horiz-adv-x="1792" d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5 q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q0 -7 -9 -9q-13 -3 -72 -3q-57 0 -60 7l-456 841 q-39 -28 -82 -68q24 -43 214 -393.5t190 -354.5q0 -10 -11 -10q-14 0 -82.5 22t-72.5 28l-106 197l-224 413q-44 -53 -78 -106q2 -3 18 -25t23 -34l176 -327q0 -10 -10 -10zM1165 282l49 -91q273 111 450 385q-180 277 -459 389q67 -64 103 -148.5t36 -176.5 q0 -106 -47 -200.5t-132 -157.5zM848 896q0 -20 14 -34t34 -14q86 0 147 -61t61 -147q0 -20 14 -34t34 -14t34 14t14 34q0 126 -89 215t-215 89q-20 0 -34 -14t-14 -34zM1214 961l-9 4l7 -7z" />
-<glyph unicode="&#xf2a9;" horiz-adv-x="1280" d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5 q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 214 -206 440q88 -59 142.5 -186.5t63.5 -251.5z M1035 744q-83 0 -160 75q218 120 290 247q19 37 21 56q-42 -94 -139.5 -166.5t-204.5 -97.5q-35 54 -35 113q0 37 17 79t43 68q46 44 157 74q59 16 106 58.5t74 100.5q74 -105 74 -253q0 -109 -24 -170q-32 -77 -88.5 -130.5t-130.5 -53.5z" />
-<glyph unicode="&#xf2aa;" d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86 -124 -109q-69 -19 -109 -53.5t-40 -99.5 q0 -40 24 -77q74 17 140.5 67t95.5 115q-4 -52 -74.5 -111.5t-138.5 -97.5q52 -52 110 -52q51 0 90 37t60 90q17 43 17 117zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
-<glyph unicode="&#xf2ab;" d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114 q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39.5 4.5q35 0 67 -15t54 -32.5t57.5 -32.5 t76.5 -15q43 0 79 15t57.5 32.5t53.5 32.5t67 15q14 0 39.5 -4t38.5 -4q16 0 23 10t11 30t6 25q137 22 137 68zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
-<glyph unicode="&#xf2ac;" horiz-adv-x="1664" d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35 q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q-24 0 -65.5 -7.5t-58.5 -7.5q-25 0 -35 18.5 t-14 47.5t-11 40q-219 33 -219 103q0 29 28 35q52 11 80 23q78 32 144.5 101t102.5 150q12 28 12 43q0 28 -31.5 47.5t-69.5 29.5t-69.5 31.5t-31.5 52.5q0 27 26 45.5t55 18.5q15 0 48 -13t53 -13q18 0 32 7q-9 142 -9 190q0 122 27 180q64 137 172 198t264 63z" />
-<glyph unicode="&#xf2ad;" d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115 q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 0 38.5 5t38.5 5q35 0 67.5 -15 t54.5 -32.5t57.5 -32.5t76.5 -15q43 0 79 15t57.5 32.5t54 32.5t67.5 15q13 0 39 -4.5t39 -4.5q15 0 22.5 9.5t11.5 31t5 24.5q138 22 138 69zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf2ae;" horiz-adv-x="2304" d="M2304 1536q-69 -46 -125 -92t-89 -81t-59.5 -71.5t-37.5 -57.5t-22 -44.5t-14 -29.5q-10 -18 -35.5 -136.5t-48.5 -164.5q-15 -29 -50 -60.5t-67.5 -50.5t-72.5 -41t-48 -28q-47 -31 -151 -231q-341 14 -630 -158q-92 -53 -303 -179q47 16 86 31t55 22l15 7 q71 27 163 64.5t133.5 53.5t108 34.5t142.5 31.5q186 31 465 -7q1 0 10 -3q11 -6 14 -17t-3 -22l-194 -345q-15 -29 -47 -22q-128 24 -354 24q-146 0 -402 -44.5t-392 -46.5q-82 -1 -149 13t-107 37t-61 40t-33 34l-1 1v2q0 6 6 6q138 0 371 55q192 366 374.5 524t383.5 158 q5 0 14.5 -0.5t38 -5t55 -12t61.5 -24.5t63 -39.5t54 -59t40 -82.5l102 177q2 4 21 42.5t44.5 86.5t61 109.5t84 133.5t100.5 137q66 82 128 141.5t121.5 96.5t92.5 53.5t88 39.5z" />
-<glyph unicode="&#xf2b0;" d="M1322 640q0 -45 -5 -76l-236 14l224 -78q-19 -73 -58 -141l-214 103l177 -158q-44 -61 -107 -108l-157 178l103 -215q-61 -37 -140 -59l-79 228l14 -240q-38 -6 -76 -6t-76 6l14 238l-78 -226q-74 19 -140 59l103 215l-157 -178q-59 43 -108 108l178 158l-214 -104 q-39 69 -58 141l224 79l-237 -14q-5 42 -5 76q0 35 5 77l238 -14l-225 79q19 73 58 140l214 -104l-177 159q46 61 107 108l158 -178l-103 215q67 39 140 58l77 -224l-13 236q36 6 75 6q38 0 76 -6l-14 -237l78 225q74 -19 140 -59l-103 -214l158 178q61 -47 107 -108 l-177 -159l213 104q37 -62 58 -141l-224 -78l237 14q5 -31 5 -77zM1352 640q0 160 -78.5 295.5t-213 214t-292.5 78.5q-119 0 -227 -46.5t-186.5 -125t-124.5 -187.5t-46 -229q0 -119 46 -228t124.5 -187.5t186.5 -125t227 -46.5q158 0 292.5 78.5t213 214t78.5 294.5z M1425 1023v-766l-657 -383l-657 383v766l657 383zM768 -183l708 412v823l-708 411l-708 -411v-823zM1536 1088v-896l-768 -448l-768 448v896l768 448z" />
-<glyph unicode="&#xf2b1;" horiz-adv-x="1664" d="M339 1318h691l-26 -72h-665q-110 0 -188.5 -79t-78.5 -189v-771q0 -95 60.5 -169.5t153.5 -93.5q23 -5 98 -5v-72h-45q-140 0 -239.5 100t-99.5 240v771q0 140 99.5 240t239.5 100zM1190 1536h247l-482 -1294q-23 -61 -40.5 -103.5t-45 -98t-54 -93.5t-64.5 -78.5 t-79.5 -65t-95.5 -41t-116 -18.5v195q163 26 220 182q20 52 20 105q0 54 -20 106l-285 733h228l187 -585zM1664 978v-1111h-795q37 55 45 73h678v1038q0 85 -49.5 155t-129.5 99l25 67q101 -34 163.5 -123.5t62.5 -197.5z" />
-<glyph unicode="&#xf2b2;" horiz-adv-x="1792" d="M852 1227q0 -29 -17 -52.5t-45 -23.5t-45 23.5t-17 52.5t17 52.5t45 23.5t45 -23.5t17 -52.5zM688 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50 -21.5t-20 -51.5v-114q0 -30 20.5 -52t49.5 -22q30 0 50.5 22t20.5 52zM860 -149v114q0 30 -20 51.5t-50 21.5t-50.5 -21.5 t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22q29 0 49.5 22t20.5 52zM1034 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1208 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114 q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1476 535q-84 -160 -232 -259.5t-323 -99.5q-123 0 -229.5 51.5t-178.5 137t-113 197.5t-41 232q0 88 21 174q-104 -175 -104 -390q0 -162 65 -312t185 -251q30 57 91 57q56 0 86 -50q32 50 87 50q56 0 86 -50q32 50 87 50t87 -50 q30 50 86 50q28 0 52.5 -15.5t37.5 -40.5q112 94 177 231.5t73 287.5zM1326 564q0 75 -72 75q-17 0 -47 -6q-95 -19 -149 -19q-226 0 -226 243q0 86 30 204q-83 -127 -83 -275q0 -150 89 -260.5t235 -110.5q111 0 210 70q13 48 13 79zM884 1223q0 50 -32 89.5t-81 39.5 t-81 -39.5t-32 -89.5q0 -51 31.5 -90.5t81.5 -39.5t81.5 39.5t31.5 90.5zM1513 884q0 96 -37.5 179t-113 137t-173.5 54q-77 0 -149 -35t-127 -94q-48 -159 -48 -268q0 -104 45.5 -157t147.5 -53q53 0 142 19q36 6 53 6q51 0 77.5 -28t26.5 -80q0 -26 -4 -46 q75 68 117.5 165.5t42.5 200.5zM1792 667q0 -111 -33.5 -249.5t-93.5 -204.5q-58 -64 -195 -142.5t-228 -104.5l-4 -1v-114q0 -43 -29.5 -75t-72.5 -32q-56 0 -86 50q-32 -50 -87 -50t-87 50q-30 -50 -86 -50q-55 0 -87 50q-30 -50 -86 -50q-47 0 -75 33.5t-28 81.5 q-90 -68 -198 -68q-118 0 -211 80q54 1 106 20q-113 31 -182 127q32 -7 71 -7q89 0 164 46q-192 192 -240 306q-24 56 -24 160q0 57 9 125.5t31.5 146.5t55 141t86.5 105t120 42q59 0 81 -52q19 29 42 54q2 3 12 13t13 16q10 15 23 38t25 42t28 39q87 111 211.5 177 t260.5 66q35 0 62 -4q59 64 146 64q83 0 140 -57q5 -5 5 -12q0 -5 -6 -13.5t-12.5 -16t-16 -17l-10.5 -10.5q17 -6 36 -18t19 -24q0 -6 -16 -25q157 -138 197 -378q25 30 60 30q45 0 100 -49q90 -80 90 -279z" />
-<glyph unicode="&#xf2b3;" d="M917 631q0 33 -6 64h-362v-132h217q-12 -76 -74.5 -120.5t-142.5 -44.5q-99 0 -169 71.5t-70 170.5t70 170.5t169 71.5q93 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585h109v110 h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf2b4;" d="M1536 1024v-839q0 -48 -49 -62q-174 -52 -338 -52q-73 0 -215.5 29.5t-227.5 29.5q-164 0 -370 -48v-338h-160v1368q-63 25 -101 81t-38 124q0 91 64 155t155 64t155 -64t64 -155q0 -68 -38 -124t-101 -81v-68q190 44 343 44q99 0 198 -15q14 -2 111.5 -22.5t149.5 -20.5 q77 0 165 18q11 2 80 21t89 19q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf2b5;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2b6;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2b7;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2b8;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2b9;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2ba;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2bb;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2bc;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2bd;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2be;" horiz-adv-x="1792" />
-<glyph unicode="&#xf500;" horiz-adv-x="1792" />
-</font>
-</defs></svg> 
\ No newline at end of file
diff --git a/developer-guide/gitbook/fonts/fontawesome/fontawesome-webfont.ttf b/developer-guide/gitbook/fonts/fontawesome/fontawesome-webfont.ttf
deleted file mode 100644
index f221e50..0000000
--- a/developer-guide/gitbook/fonts/fontawesome/fontawesome-webfont.ttf
+++ /dev/null
Binary files differ
diff --git a/developer-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff b/developer-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff
deleted file mode 100644
index 6e7483c..0000000
--- a/developer-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff
+++ /dev/null
Binary files differ
diff --git a/developer-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 b/developer-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff2
deleted file mode 100644
index 7eb74fd..0000000
--- a/developer-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff2
+++ /dev/null
Binary files differ
diff --git a/developer-guide/gitbook/gitbook-plugin-fontsettings/fontsettings.js b/developer-guide/gitbook/gitbook-plugin-fontsettings/fontsettings.js
deleted file mode 100644
index ff7be71..0000000
--- a/developer-guide/gitbook/gitbook-plugin-fontsettings/fontsettings.js
+++ /dev/null
@@ -1,240 +0,0 @@
-require(['gitbook', 'jquery'], function(gitbook, $) {
-    // Configuration
-    var MAX_SIZE       = 4,
-        MIN_SIZE       = 0,
-        BUTTON_ID;
-
-    // Current fontsettings state
-    var fontState;
-
-    // Default themes
-    var THEMES = [
-        {
-            config: 'white',
-            text: 'White',
-            id: 0
-        },
-        {
-            config: 'sepia',
-            text: 'Sepia',
-            id: 1
-        },
-        {
-            config: 'night',
-            text: 'Night',
-            id: 2
-        }
-    ];
-
-    // Default font families
-    var FAMILIES = [
-        {
-            config: 'serif',
-            text: 'Serif',
-            id: 0
-        },
-        {
-            config: 'sans',
-            text: 'Sans',
-            id: 1
-        }
-    ];
-
-    // Return configured themes
-    function getThemes() {
-        return THEMES;
-    }
-
-    // Modify configured themes
-    function setThemes(themes) {
-        THEMES = themes;
-        updateButtons();
-    }
-
-    // Return configured font families
-    function getFamilies() {
-        return FAMILIES;
-    }
-
-    // Modify configured font families
-    function setFamilies(families) {
-        FAMILIES = families;
-        updateButtons();
-    }
-
-    // Save current font settings
-    function saveFontSettings() {
-        gitbook.storage.set('fontState', fontState);
-        update();
-    }
-
-    // Increase font size
-    function enlargeFontSize(e) {
-        e.preventDefault();
-        if (fontState.size >= MAX_SIZE) return;
-
-        fontState.size++;
-        saveFontSettings();
-    }
-
-    // Decrease font size
-    function reduceFontSize(e) {
-        e.preventDefault();
-        if (fontState.size <= MIN_SIZE) return;
-
-        fontState.size--;
-        saveFontSettings();
-    }
-
-    // Change font family
-    function changeFontFamily(configName, e) {
-        if (e && e instanceof Event) {
-            e.preventDefault();
-        }
-
-        var familyId = getFontFamilyId(configName);
-        fontState.family = familyId;
-        saveFontSettings();
-    }
-
-    // Change type of color theme
-    function changeColorTheme(configName, e) {
-        if (e && e instanceof Event) {
-            e.preventDefault();
-        }
-
-        var $book = gitbook.state.$book;
-
-        // Remove currently applied color theme
-        if (fontState.theme !== 0)
-            $book.removeClass('color-theme-'+fontState.theme);
-
-        // Set new color theme
-        var themeId = getThemeId(configName);
-        fontState.theme = themeId;
-        if (fontState.theme !== 0)
-            $book.addClass('color-theme-'+fontState.theme);
-
-        saveFontSettings();
-    }
-
-    // Return the correct id for a font-family config key
-    // Default to first font-family
-    function getFontFamilyId(configName) {
-        // Search for plugin configured font family
-        var configFamily = $.grep(FAMILIES, function(family) {
-            return family.config == configName;
-        })[0];
-        // Fallback to default font family
-        return (!!configFamily)? configFamily.id : 0;
-    }
-
-    // Return the correct id for a theme config key
-    // Default to first theme
-    function getThemeId(configName) {
-        // Search for plugin configured theme
-        var configTheme = $.grep(THEMES, function(theme) {
-            return theme.config == configName;
-        })[0];
-        // Fallback to default theme
-        return (!!configTheme)? configTheme.id : 0;
-    }
-
-    function update() {
-        var $book = gitbook.state.$book;
-
-        $('.font-settings .font-family-list li').removeClass('active');
-        $('.font-settings .font-family-list li:nth-child('+(fontState.family+1)+')').addClass('active');
-
-        $book[0].className = $book[0].className.replace(/\bfont-\S+/g, '');
-        $book.addClass('font-size-'+fontState.size);
-        $book.addClass('font-family-'+fontState.family);
-
-        if(fontState.theme !== 0) {
-            $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, '');
-            $book.addClass('color-theme-'+fontState.theme);
-        }
-    }
-
-    function init(config) {
-        // Search for plugin configured font family
-        var configFamily = getFontFamilyId(config.family),
-            configTheme = getThemeId(config.theme);
-
-        // Instantiate font state object
-        fontState = gitbook.storage.get('fontState', {
-            size:   config.size || 2,
-            family: configFamily,
-            theme:  configTheme
-        });
-
-        update();
-    }
-
-    function updateButtons() {
-        // Remove existing fontsettings buttons
-        if (!!BUTTON_ID) {
-            gitbook.toolbar.removeButton(BUTTON_ID);
-        }
-
-        // Create buttons in toolbar
-        BUTTON_ID = gitbook.toolbar.createButton({
-            icon: 'fa fa-font',
-            label: 'Font Settings',
-            className: 'font-settings',
-            dropdown: [
-                [
-                    {
-                        text: 'A',
-                        className: 'font-reduce',
-                        onClick: reduceFontSize
-                    },
-                    {
-                        text: 'A',
-                        className: 'font-enlarge',
-                        onClick: enlargeFontSize
-                    }
-                ],
-                $.map(FAMILIES, function(family) {
-                    family.onClick = function(e) {
-                        return changeFontFamily(family.config, e);
-                    };
-
-                    return family;
-                }),
-                $.map(THEMES, function(theme) {
-                    theme.onClick = function(e) {
-                        return changeColorTheme(theme.config, e);
-                    };
-
-                    return theme;
-                })
-            ]
-        });
-    }
-
-    // Init configuration at start
-    gitbook.events.bind('start', function(e, config) {
-        var opts = config.fontsettings;
-
-        // Generate buttons at start
-        updateButtons();
-
-        // Init current settings
-        init(opts);
-    });
-
-    // Expose API
-    gitbook.fontsettings = {
-        enlargeFontSize: enlargeFontSize,
-        reduceFontSize:  reduceFontSize,
-        setTheme:        changeColorTheme,
-        setFamily:       changeFontFamily,
-        getThemes:       getThemes,
-        setThemes:       setThemes,
-        getFamilies:     getFamilies,
-        setFamilies:     setFamilies
-    };
-});
-
-
diff --git a/developer-guide/gitbook/gitbook-plugin-fontsettings/website.css b/developer-guide/gitbook/gitbook-plugin-fontsettings/website.css
deleted file mode 100644
index 26591fe..0000000
--- a/developer-guide/gitbook/gitbook-plugin-fontsettings/website.css
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- * Theme 1
- */
-.color-theme-1 .dropdown-menu {
-  background-color: #111111;
-  border-color: #7e888b;
-}
-.color-theme-1 .dropdown-menu .dropdown-caret .caret-inner {
-  border-bottom: 9px solid #111111;
-}
-.color-theme-1 .dropdown-menu .buttons {
-  border-color: #7e888b;
-}
-.color-theme-1 .dropdown-menu .button {
-  color: #afa790;
-}
-.color-theme-1 .dropdown-menu .button:hover {
-  color: #73553c;
-}
-/*
- * Theme 2
- */
-.color-theme-2 .dropdown-menu {
-  background-color: #2d3143;
-  border-color: #272a3a;
-}
-.color-theme-2 .dropdown-menu .dropdown-caret .caret-inner {
-  border-bottom: 9px solid #2d3143;
-}
-.color-theme-2 .dropdown-menu .buttons {
-  border-color: #272a3a;
-}
-.color-theme-2 .dropdown-menu .button {
-  color: #62677f;
-}
-.color-theme-2 .dropdown-menu .button:hover {
-  color: #f4f4f5;
-}
-.book .book-header .font-settings .font-enlarge {
-  line-height: 30px;
-  font-size: 1.4em;
-}
-.book .book-header .font-settings .font-reduce {
-  line-height: 30px;
-  font-size: 1em;
-}
-.book.color-theme-1 .book-body {
-  color: #704214;
-  background: #f3eacb;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section {
-  background: #f3eacb;
-}
-.book.color-theme-2 .book-body {
-  color: #bdcadb;
-  background: #1c1f2b;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section {
-  background: #1c1f2b;
-}
-.book.font-size-0 .book-body .page-inner section {
-  font-size: 1.2rem;
-}
-.book.font-size-1 .book-body .page-inner section {
-  font-size: 1.4rem;
-}
-.book.font-size-2 .book-body .page-inner section {
-  font-size: 1.6rem;
-}
-.book.font-size-3 .book-body .page-inner section {
-  font-size: 2.2rem;
-}
-.book.font-size-4 .book-body .page-inner section {
-  font-size: 4rem;
-}
-.book.font-family-0 {
-  font-family: Georgia, serif;
-}
-.book.font-family-1 {
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal {
-  color: #704214;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal a {
-  color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h3,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h4,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h5,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2 {
-  border-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal hr {
-  background-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal blockquote {
-  border-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code {
-  background: #fdf6e3;
-  color: #657b83;
-  border-color: #f8df9c;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal .highlight {
-  background-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table th,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table td {
-  border-color: #f5d06c;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr {
-  color: inherit;
-  background-color: #fdf6e3;
-  border-color: #444444;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) {
-  background-color: #fbeecb;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal {
-  color: #bdcadb;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal a {
-  color: #3eb1d0;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h3,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h4,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h5,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: #fffffa;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2 {
-  border-color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal hr {
-  background-color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal blockquote {
-  border-color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code {
-  color: #9dbed8;
-  background: #2d3143;
-  border-color: #2d3143;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal .highlight {
-  background-color: #282a39;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table th,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table td {
-  border-color: #3b3f54;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr {
-  color: #b6c2d2;
-  background-color: #2d3143;
-  border-color: #3b3f54;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) {
-  background-color: #35394b;
-}
-.book.color-theme-1 .book-header {
-  color: #afa790;
-  background: transparent;
-}
-.book.color-theme-1 .book-header .btn {
-  color: #afa790;
-}
-.book.color-theme-1 .book-header .btn:hover {
-  color: #73553c;
-  background: none;
-}
-.book.color-theme-1 .book-header h1 {
-  color: #704214;
-}
-.book.color-theme-2 .book-header {
-  color: #7e888b;
-  background: transparent;
-}
-.book.color-theme-2 .book-header .btn {
-  color: #3b3f54;
-}
-.book.color-theme-2 .book-header .btn:hover {
-  color: #fffff5;
-  background: none;
-}
-.book.color-theme-2 .book-header h1 {
-  color: #bdcadb;
-}
-.book.color-theme-1 .book-body .navigation {
-  color: #afa790;
-}
-.book.color-theme-1 .book-body .navigation:hover {
-  color: #73553c;
-}
-.book.color-theme-2 .book-body .navigation {
-  color: #383f52;
-}
-.book.color-theme-2 .book-body .navigation:hover {
-  color: #fffff5;
-}
-/*
- * Theme 1
- */
-.book.color-theme-1 .book-summary {
-  color: #afa790;
-  background: #111111;
-  border-right: 1px solid rgba(0, 0, 0, 0.07);
-}
-.book.color-theme-1 .book-summary .book-search {
-  background: transparent;
-}
-.book.color-theme-1 .book-summary .book-search input,
-.book.color-theme-1 .book-summary .book-search input:focus {
-  border: 1px solid transparent;
-}
-.book.color-theme-1 .book-summary ul.summary li.divider {
-  background: #7e888b;
-  box-shadow: none;
-}
-.book.color-theme-1 .book-summary ul.summary li i.fa-check {
-  color: #33cc33;
-}
-.book.color-theme-1 .book-summary ul.summary li.done > a {
-  color: #877f6a;
-}
-.book.color-theme-1 .book-summary ul.summary li a,
-.book.color-theme-1 .book-summary ul.summary li span {
-  color: #877f6a;
-  background: transparent;
-  font-weight: normal;
-}
-.book.color-theme-1 .book-summary ul.summary li.active > a,
-.book.color-theme-1 .book-summary ul.summary li a:hover {
-  color: #704214;
-  background: transparent;
-  font-weight: normal;
-}
-/*
- * Theme 2
- */
-.book.color-theme-2 .book-summary {
-  color: #bcc1d2;
-  background: #2d3143;
-  border-right: none;
-}
-.book.color-theme-2 .book-summary .book-search {
-  background: transparent;
-}
-.book.color-theme-2 .book-summary .book-search input,
-.book.color-theme-2 .book-summary .book-search input:focus {
-  border: 1px solid transparent;
-}
-.book.color-theme-2 .book-summary ul.summary li.divider {
-  background: #272a3a;
-  box-shadow: none;
-}
-.book.color-theme-2 .book-summary ul.summary li i.fa-check {
-  color: #33cc33;
-}
-.book.color-theme-2 .book-summary ul.summary li.done > a {
-  color: #62687f;
-}
-.book.color-theme-2 .book-summary ul.summary li a,
-.book.color-theme-2 .book-summary ul.summary li span {
-  color: #c1c6d7;
-  background: transparent;
-  font-weight: 600;
-}
-.book.color-theme-2 .book-summary ul.summary li.active > a,
-.book.color-theme-2 .book-summary ul.summary li a:hover {
-  color: #f4f4f5;
-  background: #252737;
-  font-weight: 600;
-}
diff --git a/developer-guide/gitbook/gitbook-plugin-highlight/ebook.css b/developer-guide/gitbook/gitbook-plugin-highlight/ebook.css
deleted file mode 100644
index cecaaab..0000000
--- a/developer-guide/gitbook/gitbook-plugin-highlight/ebook.css
+++ /dev/null
@@ -1,135 +0,0 @@
-pre,
-code {
-  /* http://jmblog.github.io/color-themes-for-highlightjs */
-  /* Tomorrow Comment */
-  /* Tomorrow Red */
-  /* Tomorrow Orange */
-  /* Tomorrow Yellow */
-  /* Tomorrow Green */
-  /* Tomorrow Aqua */
-  /* Tomorrow Blue */
-  /* Tomorrow Purple */
-}
-pre .hljs-comment,
-code .hljs-comment,
-pre .hljs-title,
-code .hljs-title {
-  color: #8e908c;
-}
-pre .hljs-variable,
-code .hljs-variable,
-pre .hljs-attribute,
-code .hljs-attribute,
-pre .hljs-tag,
-code .hljs-tag,
-pre .hljs-regexp,
-code .hljs-regexp,
-pre .hljs-deletion,
-code .hljs-deletion,
-pre .ruby .hljs-constant,
-code .ruby .hljs-constant,
-pre .xml .hljs-tag .hljs-title,
-code .xml .hljs-tag .hljs-title,
-pre .xml .hljs-pi,
-code .xml .hljs-pi,
-pre .xml .hljs-doctype,
-code .xml .hljs-doctype,
-pre .html .hljs-doctype,
-code .html .hljs-doctype,
-pre .css .hljs-id,
-code .css .hljs-id,
-pre .css .hljs-class,
-code .css .hljs-class,
-pre .css .hljs-pseudo,
-code .css .hljs-pseudo {
-  color: #c82829;
-}
-pre .hljs-number,
-code .hljs-number,
-pre .hljs-preprocessor,
-code .hljs-preprocessor,
-pre .hljs-pragma,
-code .hljs-pragma,
-pre .hljs-built_in,
-code .hljs-built_in,
-pre .hljs-literal,
-code .hljs-literal,
-pre .hljs-params,
-code .hljs-params,
-pre .hljs-constant,
-code .hljs-constant {
-  color: #f5871f;
-}
-pre .ruby .hljs-class .hljs-title,
-code .ruby .hljs-class .hljs-title,
-pre .css .hljs-rules .hljs-attribute,
-code .css .hljs-rules .hljs-attribute {
-  color: #eab700;
-}
-pre .hljs-string,
-code .hljs-string,
-pre .hljs-value,
-code .hljs-value,
-pre .hljs-inheritance,
-code .hljs-inheritance,
-pre .hljs-header,
-code .hljs-header,
-pre .hljs-addition,
-code .hljs-addition,
-pre .ruby .hljs-symbol,
-code .ruby .hljs-symbol,
-pre .xml .hljs-cdata,
-code .xml .hljs-cdata {
-  color: #718c00;
-}
-pre .css .hljs-hexcolor,
-code .css .hljs-hexcolor {
-  color: #3e999f;
-}
-pre .hljs-function,
-code .hljs-function,
-pre .python .hljs-decorator,
-code .python .hljs-decorator,
-pre .python .hljs-title,
-code .python .hljs-title,
-pre .ruby .hljs-function .hljs-title,
-code .ruby .hljs-function .hljs-title,
-pre .ruby .hljs-title .hljs-keyword,
-code .ruby .hljs-title .hljs-keyword,
-pre .perl .hljs-sub,
-code .perl .hljs-sub,
-pre .javascript .hljs-title,
-code .javascript .hljs-title,
-pre .coffeescript .hljs-title,
-code .coffeescript .hljs-title {
-  color: #4271ae;
-}
-pre .hljs-keyword,
-code .hljs-keyword,
-pre .javascript .hljs-function,
-code .javascript .hljs-function {
-  color: #8959a8;
-}
-pre .hljs,
-code .hljs {
-  display: block;
-  background: white;
-  color: #4d4d4c;
-  padding: 0.5em;
-}
-pre .coffeescript .javascript,
-code .coffeescript .javascript,
-pre .javascript .xml,
-code .javascript .xml,
-pre .tex .hljs-formula,
-code .tex .hljs-formula,
-pre .xml .javascript,
-code .xml .javascript,
-pre .xml .vbscript,
-code .xml .vbscript,
-pre .xml .css,
-code .xml .css,
-pre .xml .hljs-cdata,
-code .xml .hljs-cdata {
-  opacity: 0.5;
-}
diff --git a/developer-guide/gitbook/gitbook-plugin-highlight/website.css b/developer-guide/gitbook/gitbook-plugin-highlight/website.css
deleted file mode 100644
index 6674448..0000000
--- a/developer-guide/gitbook/gitbook-plugin-highlight/website.css
+++ /dev/null
@@ -1,434 +0,0 @@
-.book .book-body .page-wrapper .page-inner section.normal pre,
-.book .book-body .page-wrapper .page-inner section.normal code {
-  /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
-  /* Tomorrow Comment */
-  /* Tomorrow Red */
-  /* Tomorrow Orange */
-  /* Tomorrow Yellow */
-  /* Tomorrow Green */
-  /* Tomorrow Aqua */
-  /* Tomorrow Blue */
-  /* Tomorrow Purple */
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-comment,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-comment,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-title {
-  color: #8e908c;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-variable,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-variable,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-attribute,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-tag,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-tag,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-regexp,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-deletion,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-id,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-class,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo {
-  color: #c82829;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-number,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-number,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-pragma,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-built_in,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-literal,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-literal,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-params,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-params,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-constant,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-constant {
-  color: #f5871f;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute {
-  color: #eab700;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-string,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-string,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-value,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-value,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-header,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-header,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-addition,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-addition,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  color: #718c00;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor {
-  color: #3e999f;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-function,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-function,
-.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator,
-.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator,
-.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub,
-.book .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub,
-.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title {
-  color: #4271ae;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function,
-.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function {
-  color: #8959a8;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs {
-  display: block;
-  background: white;
-  color: #4d4d4c;
-  padding: 0.5em;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript,
-.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript,
-.book .book-body .page-wrapper .page-inner section.normal pre .javascript .xml,
-.book .book-body .page-wrapper .page-inner section.normal code .javascript .xml,
-.book .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .javascript,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .javascript,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .vbscript,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .css,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .css,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  opacity: 0.5;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code {
-  /*
-
-Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull <sourdrums@gmail.com>
-
-*/
-  /* Solarized Green */
-  /* Solarized Cyan */
-  /* Solarized Blue */
-  /* Solarized Yellow */
-  /* Solarized Orange */
-  /* Solarized Red */
-  /* Solarized Violet */
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs {
-  display: block;
-  padding: 0.5em;
-  background: #fdf6e3;
-  color: #657b83;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-template_comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-template_comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-header,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-header,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-doctype,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-doctype,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pi,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pi,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-javadoc,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-javadoc {
-  color: #93a1a1;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-winutils,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-winutils,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .method,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .method,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-addition,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-tag,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-tag,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-request,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-request,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-status,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-status,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .nginx .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .nginx .hljs-title {
-  color: #859900;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-command,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-command,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-tag .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-rules .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-rules .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-phpdoc,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-phpdoc,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-hexcolor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-hexcolor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_url,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_url {
-  color: #2aa198;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-localvars,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-localvars,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-chunk,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-chunk,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-decorator,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-decorator,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-identifier,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-identifier,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .vhdl .hljs-literal,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .vhdl .hljs-literal,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-id,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-id,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-function,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-function {
-  color: #268bd2;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-variable,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-body,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-body,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .smalltalk .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .smalltalk .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-constant,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-class .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-class .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-parent,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-parent,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .haskell .hljs-type,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .haskell .hljs-type,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_reference,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_reference {
-  color: #b58900;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-shebang,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-shebang,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-change,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-change,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-special,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-special,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attr_selector,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attr_selector,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-subst,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-subst,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-cdata,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-cdata,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .clojure .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .clojure .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-header,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-header {
-  color: #cb4b16;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-important,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-important {
-  color: #dc322f;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_label,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_label {
-  color: #6c71c4;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula {
-  background: #eee8d5;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code {
-  /* Tomorrow Night Bright Theme */
-  /* Original theme - https://github.com/chriskempson/tomorrow-theme */
-  /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
-  /* Tomorrow Comment */
-  /* Tomorrow Red */
-  /* Tomorrow Orange */
-  /* Tomorrow Yellow */
-  /* Tomorrow Green */
-  /* Tomorrow Aqua */
-  /* Tomorrow Blue */
-  /* Tomorrow Purple */
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-comment,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-title {
-  color: #969896;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-variable,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-tag,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-id,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-class,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo {
-  color: #d54e53;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-number,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-number,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-literal,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-literal,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-params,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-params,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-constant {
-  color: #e78c45;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute {
-  color: #e7c547;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-string,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-string,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-value,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-value,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-header,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-header,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-addition,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  color: #b9ca4a;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor {
-  color: #70c0b1;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-function,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-function,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title {
-  color: #7aa6da;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function {
-  color: #c397d8;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs {
-  display: block;
-  background: black;
-  color: #eaeaea;
-  padding: 0.5em;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .xml,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .xml,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .vbscript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .css,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .css,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  opacity: 0.5;
-}
diff --git a/developer-guide/gitbook/gitbook-plugin-lunr/lunr.min.js b/developer-guide/gitbook/gitbook-plugin-lunr/lunr.min.js
deleted file mode 100644
index 6aa6bc7..0000000
--- a/developer-guide/gitbook/gitbook-plugin-lunr/lunr.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.12
- * Copyright (C) 2015 Oliver Nightingale
- * MIT Licensed
- * @license
- */
-!function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.5.12",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(t){return arguments.length&&null!=t&&void 0!=t?Array.isArray(t)?t.map(function(t){return t.toLowerCase()}):t.toString().trim().toLowerCase().split(/[\s\-]+/):[]},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,o=0;n>o;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(e<i.idx)return this.list=new t.Vector.Node(e,n,i),this.length++;for(var o=i,r=i.next;void 0!=r;){if(e<r.idx)return o.next=new t.Vector.Node(e,n,r),this.length++;o=r,r=r.next}return o.next=new t.Vector.Node(e,n,r),this.length++},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var t,e=this.list,n=0;e;)t=e.val,n+=t*t,e=e.next;return this._magnitude=Math.sqrt(n)},t.Vector.prototype.dot=function(t){for(var e=this.list,n=t.list,i=0;e&&n;)e.idx<n.idx?e=e.next:e.idx>n.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t<arguments.length;t++)e=arguments[t],~this.indexOf(e)||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},t.SortedSet.prototype.toArray=function(){return this.elements.slice()},t.SortedSet.prototype.map=function(t,e){return this.elements.map(t,e)},t.SortedSet.prototype.forEach=function(t,e){return this.elements.forEach(t,e)},t.SortedSet.prototype.indexOf=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]<h[o]?i++:a[i]>h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s<o.length;s++){var a=o.elements[s],h=this._fields.reduce(function(t,e){var n=i[e.name].length;if(!n)return t;var o=i[e.name].filter(function(t){return t===a}).length;return t+o/n*e.boost},0);this.tokenStore.add(a,{ref:r,tf:h})}n&&this.eventEmitter.emit("add",e,this)},t.Index.prototype.remove=function(t,e){var n=t[this._ref],e=void 0===e?!0:e;if(this.documentStore.has(n)){var i=this.documentStore.get(n);this.documentStore.remove(n),i.forEach(function(t){this.tokenStore.remove(t,n)},this),e&&this.eventEmitter.emit("remove",t,this)}},t.Index.prototype.update=function(t,e){var e=void 0===e?!0:e;this.remove(t,!1),this.add(t,!1),e&&this.eventEmitter.emit("update",t,this)},t.Index.prototype.idf=function(t){var e="@"+t;if(Object.prototype.hasOwnProperty.call(this._idfCache,e))return this._idfCache[e];var n=this.tokenStore.count(t),i=1;return n>0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(l),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,g=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,a=m,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=v,a=y,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=g,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=g,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=g,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==e?e:void 0},t.stopWordFilter.stopWords={a:"a",able:"able",about:"about",across:"across",after:"after",all:"all",almost:"almost",also:"also",am:"am",among:"among",an:"an",and:"and",any:"any",are:"are",as:"as",at:"at",be:"be",because:"because",been:"been",but:"but",by:"by",can:"can",cannot:"cannot",could:"could",dear:"dear",did:"did","do":"do",does:"does",either:"either","else":"else",ever:"ever",every:"every","for":"for",from:"from",get:"get",got:"got",had:"had",has:"has",have:"have",he:"he",her:"her",hers:"hers",him:"him",his:"his",how:"how",however:"however",i:"i","if":"if","in":"in",into:"into",is:"is",it:"it",its:"its",just:"just",least:"least",let:"let",like:"like",likely:"likely",may:"may",me:"me",might:"might",most:"most",must:"must",my:"my",neither:"neither",no:"no",nor:"nor",not:"not",of:"of",off:"off",often:"often",on:"on",only:"only",or:"or",other:"other",our:"our",own:"own",rather:"rather",said:"said",say:"say",says:"says",she:"she",should:"should",since:"since",so:"so",some:"some",than:"than",that:"that",the:"the",their:"their",them:"them",then:"then",there:"there",these:"these",they:"they","this":"this",tis:"tis",to:"to",too:"too",twas:"twas",us:"us",wants:"wants",was:"was",we:"we",were:"were",what:"what",when:"when",where:"where",which:"which","while":"while",who:"who",whom:"whom",why:"why",will:"will","with":"with",would:"would",yet:"yet",you:"you",your:"your"},t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){var e=t.replace(/^\W+/,"").replace(/\W+$/,"");return""===e?void 0:e},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return!1;e=e[t[n]]}return!0},t.TokenStore.prototype.getNode=function(t){if(!t)return{};for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return{};e=e[t[n]]}return e},t.TokenStore.prototype.get=function(t,e){return this.getNode(t,e).docs||{}},t.TokenStore.prototype.count=function(t,e){return Object.keys(this.get(t,e)).length},t.TokenStore.prototype.remove=function(t,e){if(t){for(var n=this.root,i=0;i<t.length;i++){if(!(t[i]in n))return;n=n[t[i]]}delete n.docs[e]}},t.TokenStore.prototype.expand=function(t,e){var n=this.getNode(t),i=n.docs||{},e=e||[];return Object.keys(i).length&&e.push(t),Object.keys(n).forEach(function(n){"docs"!==n&&e.concat(this.expand(t+n,e))},this),e},t.TokenStore.prototype.toJSON=function(){return{root:this.root,length:this.length}},function(t,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():t.lunr=e()}(this,function(){return t})}();
\ No newline at end of file
diff --git a/developer-guide/gitbook/gitbook-plugin-lunr/search-lunr.js b/developer-guide/gitbook/gitbook-plugin-lunr/search-lunr.js
deleted file mode 100644
index d6ec76f..0000000
--- a/developer-guide/gitbook/gitbook-plugin-lunr/search-lunr.js
+++ /dev/null
@@ -1,59 +0,0 @@
-require([
-    'gitbook',
-    'jquery'
-], function(gitbook, $) {
-    // Define global search engine
-    function LunrSearchEngine() {
-        this.index = null;
-        this.store = {};
-        this.name = 'LunrSearchEngine';
-    }
-
-    // Initialize lunr by fetching the search index
-    LunrSearchEngine.prototype.init = function() {
-        var that = this;
-        var d = $.Deferred();
-
-        $.getJSON(gitbook.state.basePath+'/search_index.json')
-        .then(function(data) {
-            // eslint-disable-next-line no-undef
-            that.index = lunr.Index.load(data.index);
-            that.store = data.store;
-            d.resolve();
-        });
-
-        return d.promise();
-    };
-
-    // Search for a term and return results
-    LunrSearchEngine.prototype.search = function(q, offset, length) {
-        var that = this;
-        var results = [];
-
-        if (this.index) {
-            results = $.map(this.index.search(q), function(result) {
-                var doc = that.store[result.ref];
-
-                return {
-                    title: doc.title,
-                    url: doc.url,
-                    body: doc.summary || doc.body
-                };
-            });
-        }
-
-        return $.Deferred().resolve({
-            query: q,
-            results: results.slice(0, length),
-            count: results.length
-        }).promise();
-    };
-
-    // Set gitbook research
-    gitbook.events.bind('start', function(e, config) {
-        var engine = gitbook.search.getEngine();
-        if (!engine) {
-            gitbook.search.setEngine(LunrSearchEngine, config);
-        }
-    });
-});
diff --git a/developer-guide/gitbook/gitbook-plugin-search/lunr.min.js b/developer-guide/gitbook/gitbook-plugin-search/lunr.min.js
deleted file mode 100644
index 6aa6bc7..0000000
--- a/developer-guide/gitbook/gitbook-plugin-search/lunr.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.12
- * Copyright (C) 2015 Oliver Nightingale
- * MIT Licensed
- * @license
- */
-!function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.5.12",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(t){return arguments.length&&null!=t&&void 0!=t?Array.isArray(t)?t.map(function(t){return t.toLowerCase()}):t.toString().trim().toLowerCase().split(/[\s\-]+/):[]},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,o=0;n>o;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(e<i.idx)return this.list=new t.Vector.Node(e,n,i),this.length++;for(var o=i,r=i.next;void 0!=r;){if(e<r.idx)return o.next=new t.Vector.Node(e,n,r),this.length++;o=r,r=r.next}return o.next=new t.Vector.Node(e,n,r),this.length++},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var t,e=this.list,n=0;e;)t=e.val,n+=t*t,e=e.next;return this._magnitude=Math.sqrt(n)},t.Vector.prototype.dot=function(t){for(var e=this.list,n=t.list,i=0;e&&n;)e.idx<n.idx?e=e.next:e.idx>n.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t<arguments.length;t++)e=arguments[t],~this.indexOf(e)||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},t.SortedSet.prototype.toArray=function(){return this.elements.slice()},t.SortedSet.prototype.map=function(t,e){return this.elements.map(t,e)},t.SortedSet.prototype.forEach=function(t,e){return this.elements.forEach(t,e)},t.SortedSet.prototype.indexOf=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]<h[o]?i++:a[i]>h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s<o.length;s++){var a=o.elements[s],h=this._fields.reduce(function(t,e){var n=i[e.name].length;if(!n)return t;var o=i[e.name].filter(function(t){return t===a}).length;return t+o/n*e.boost},0);this.tokenStore.add(a,{ref:r,tf:h})}n&&this.eventEmitter.emit("add",e,this)},t.Index.prototype.remove=function(t,e){var n=t[this._ref],e=void 0===e?!0:e;if(this.documentStore.has(n)){var i=this.documentStore.get(n);this.documentStore.remove(n),i.forEach(function(t){this.tokenStore.remove(t,n)},this),e&&this.eventEmitter.emit("remove",t,this)}},t.Index.prototype.update=function(t,e){var e=void 0===e?!0:e;this.remove(t,!1),this.add(t,!1),e&&this.eventEmitter.emit("update",t,this)},t.Index.prototype.idf=function(t){var e="@"+t;if(Object.prototype.hasOwnProperty.call(this._idfCache,e))return this._idfCache[e];var n=this.tokenStore.count(t),i=1;return n>0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(l),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,g=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,a=m,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=v,a=y,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=g,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=g,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=g,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==e?e:void 0},t.stopWordFilter.stopWords={a:"a",able:"able",about:"about",across:"across",after:"after",all:"all",almost:"almost",also:"also",am:"am",among:"among",an:"an",and:"and",any:"any",are:"are",as:"as",at:"at",be:"be",because:"because",been:"been",but:"but",by:"by",can:"can",cannot:"cannot",could:"could",dear:"dear",did:"did","do":"do",does:"does",either:"either","else":"else",ever:"ever",every:"every","for":"for",from:"from",get:"get",got:"got",had:"had",has:"has",have:"have",he:"he",her:"her",hers:"hers",him:"him",his:"his",how:"how",however:"however",i:"i","if":"if","in":"in",into:"into",is:"is",it:"it",its:"its",just:"just",least:"least",let:"let",like:"like",likely:"likely",may:"may",me:"me",might:"might",most:"most",must:"must",my:"my",neither:"neither",no:"no",nor:"nor",not:"not",of:"of",off:"off",often:"often",on:"on",only:"only",or:"or",other:"other",our:"our",own:"own",rather:"rather",said:"said",say:"say",says:"says",she:"she",should:"should",since:"since",so:"so",some:"some",than:"than",that:"that",the:"the",their:"their",them:"them",then:"then",there:"there",these:"these",they:"they","this":"this",tis:"tis",to:"to",too:"too",twas:"twas",us:"us",wants:"wants",was:"was",we:"we",were:"were",what:"what",when:"when",where:"where",which:"which","while":"while",who:"who",whom:"whom",why:"why",will:"will","with":"with",would:"would",yet:"yet",you:"you",your:"your"},t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){var e=t.replace(/^\W+/,"").replace(/\W+$/,"");return""===e?void 0:e},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return!1;e=e[t[n]]}return!0},t.TokenStore.prototype.getNode=function(t){if(!t)return{};for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return{};e=e[t[n]]}return e},t.TokenStore.prototype.get=function(t,e){return this.getNode(t,e).docs||{}},t.TokenStore.prototype.count=function(t,e){return Object.keys(this.get(t,e)).length},t.TokenStore.prototype.remove=function(t,e){if(t){for(var n=this.root,i=0;i<t.length;i++){if(!(t[i]in n))return;n=n[t[i]]}delete n.docs[e]}},t.TokenStore.prototype.expand=function(t,e){var n=this.getNode(t),i=n.docs||{},e=e||[];return Object.keys(i).length&&e.push(t),Object.keys(n).forEach(function(n){"docs"!==n&&e.concat(this.expand(t+n,e))},this),e},t.TokenStore.prototype.toJSON=function(){return{root:this.root,length:this.length}},function(t,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():t.lunr=e()}(this,function(){return t})}();
\ No newline at end of file
diff --git a/developer-guide/gitbook/gitbook-plugin-search/search-engine.js b/developer-guide/gitbook/gitbook-plugin-search/search-engine.js
deleted file mode 100644
index 5088346..0000000
--- a/developer-guide/gitbook/gitbook-plugin-search/search-engine.js
+++ /dev/null
@@ -1,50 +0,0 @@
-require([
-    'gitbook',
-    'jquery'
-], function(gitbook, $) {
-    // Global search objects
-    var engine      = null;
-    var initialized = false;
-
-    // Set a new search engine
-    function setEngine(Engine, config) {
-        initialized = false;
-        engine      = new Engine(config);
-
-        init(config);
-    }
-
-    // Initialize search engine with config
-    function init(config) {
-        if (!engine) throw new Error('No engine set for research. Set an engine using gitbook.research.setEngine(Engine).');
-
-        return engine.init(config)
-        .then(function() {
-            initialized = true;
-            gitbook.events.trigger('search.ready');
-        });
-    }
-
-    // Launch search for query q
-    function query(q, offset, length) {
-        if (!initialized) throw new Error('Search has not been initialized');
-        return engine.search(q, offset, length);
-    }
-
-    // Get stats about search
-    function getEngine() {
-        return engine? engine.name : null;
-    }
-
-    function isInitialized() {
-        return initialized;
-    }
-
-    // Initialize gitbook.search
-    gitbook.search = {
-        setEngine:     setEngine,
-        getEngine:     getEngine,
-        query:         query,
-        isInitialized: isInitialized
-    };
-});
\ No newline at end of file
diff --git a/developer-guide/gitbook/gitbook-plugin-search/search.css b/developer-guide/gitbook/gitbook-plugin-search/search.css
deleted file mode 100644
index 5d47a3c..0000000
--- a/developer-guide/gitbook/gitbook-plugin-search/search.css
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-    This CSS only styled the search results section, not the search input
-    It defines the basic interraction to hide content when displaying results, etc
-*/
-#book-search-results .search-results {
-  display: none;
-}
-#book-search-results .search-results ul.search-results-list {
-  list-style-type: none;
-  padding-left: 0;
-}
-#book-search-results .search-results ul.search-results-list li {
-  margin-bottom: 1.5rem;
-  padding-bottom: 0.5rem;
-  /* Highlight results */
-}
-#book-search-results .search-results ul.search-results-list li p em {
-  background-color: rgba(255, 220, 0, 0.4);
-  font-style: normal;
-}
-#book-search-results .search-results .no-results {
-  display: none;
-}
-#book-search-results.open .search-results {
-  display: block;
-}
-#book-search-results.open .search-noresults {
-  display: none;
-}
-#book-search-results.no-results .search-results .has-results {
-  display: none;
-}
-#book-search-results.no-results .search-results .no-results {
-  display: block;
-}
diff --git a/developer-guide/gitbook/gitbook-plugin-search/search.js b/developer-guide/gitbook/gitbook-plugin-search/search.js
deleted file mode 100644
index 7a0c232..0000000
--- a/developer-guide/gitbook/gitbook-plugin-search/search.js
+++ /dev/null
@@ -1,213 +0,0 @@
-require([
-    'gitbook',
-    'jquery'
-], function(gitbook, $) {
-    var MAX_RESULTS = 15;
-    var MAX_DESCRIPTION_SIZE = 500;
-
-    var usePushState = (typeof history.pushState !== 'undefined');
-
-    // DOM Elements
-    var $body = $('body');
-    var $bookSearchResults;
-    var $searchInput;
-    var $searchList;
-    var $searchTitle;
-    var $searchResultsCount;
-    var $searchQuery;
-
-    // Throttle search
-    function throttle(fn, wait) {
-        var timeout;
-
-        return function() {
-            var ctx = this, args = arguments;
-            if (!timeout) {
-                timeout = setTimeout(function() {
-                    timeout = null;
-                    fn.apply(ctx, args);
-                }, wait);
-            }
-        };
-    }
-
-    function displayResults(res) {
-        $bookSearchResults.addClass('open');
-
-        var noResults = res.count == 0;
-        $bookSearchResults.toggleClass('no-results', noResults);
-
-        // Clear old results
-        $searchList.empty();
-
-        // Display title for research
-        $searchResultsCount.text(res.count);
-        $searchQuery.text(res.query);
-
-        // Create an <li> element for each result
-        res.results.forEach(function(res) {
-            var $li = $('<li>', {
-                'class': 'search-results-item'
-            });
-
-            var $title = $('<h3>');
-
-            var $link = $('<a>', {
-                'href': gitbook.state.basePath + '/' + res.url,
-                'text': res.title
-            });
-
-            var content = res.body.trim();
-            if (content.length > MAX_DESCRIPTION_SIZE) {
-                content = content.slice(0, MAX_DESCRIPTION_SIZE).trim()+'...';
-            }
-            var $content = $('<p>').html(content);
-
-            $link.appendTo($title);
-            $title.appendTo($li);
-            $content.appendTo($li);
-            $li.appendTo($searchList);
-        });
-    }
-
-    function launchSearch(q) {
-        // Add class for loading
-        $body.addClass('with-search');
-        $body.addClass('search-loading');
-
-        // Launch search query
-        throttle(gitbook.search.query(q, 0, MAX_RESULTS)
-        .then(function(results) {
-            displayResults(results);
-        })
-        .always(function() {
-            $body.removeClass('search-loading');
-        }), 1000);
-    }
-
-    function closeSearch() {
-        $body.removeClass('with-search');
-        $bookSearchResults.removeClass('open');
-    }
-
-    function launchSearchFromQueryString() {
-        var q = getParameterByName('q');
-        if (q && q.length > 0) {
-            // Update search input
-            $searchInput.val(q);
-
-            // Launch search
-            launchSearch(q);
-        }
-    }
-
-    function bindSearch() {
-        // Bind DOM
-        $searchInput        = $('#book-search-input input');
-        $bookSearchResults  = $('#book-search-results');
-        $searchList         = $bookSearchResults.find('.search-results-list');
-        $searchTitle        = $bookSearchResults.find('.search-results-title');
-        $searchResultsCount = $searchTitle.find('.search-results-count');
-        $searchQuery        = $searchTitle.find('.search-query');
-
-        // Launch query based on input content
-        function handleUpdate() {
-            var q = $searchInput.val();
-
-            if (q.length == 0) {
-                closeSearch();
-            }
-            else {
-                launchSearch(q);
-            }
-        }
-
-        // Detect true content change in search input
-        // Workaround for IE < 9
-        var propertyChangeUnbound = false;
-        $searchInput.on('propertychange', function(e) {
-            if (e.originalEvent.propertyName == 'value') {
-                handleUpdate();
-            }
-        });
-
-        // HTML5 (IE9 & others)
-        $searchInput.on('input', function(e) {
-            // Unbind propertychange event for IE9+
-            if (!propertyChangeUnbound) {
-                $(this).unbind('propertychange');
-                propertyChangeUnbound = true;
-            }
-
-            handleUpdate();
-        });
-
-        // Push to history on blur
-        $searchInput.on('blur', function(e) {
-            // Update history state
-            if (usePushState) {
-                var uri = updateQueryString('q', $(this).val());
-                history.pushState({ path: uri }, null, uri);
-            }
-        });
-    }
-
-    gitbook.events.on('page.change', function() {
-        bindSearch();
-        closeSearch();
-
-        // Launch search based on query parameter
-        if (gitbook.search.isInitialized()) {
-            launchSearchFromQueryString();
-        }
-    });
-
-    gitbook.events.on('search.ready', function() {
-        bindSearch();
-
-        // Launch search from query param at start
-        launchSearchFromQueryString();
-    });
-
-    function getParameterByName(name) {
-        var url = window.location.href;
-        name = name.replace(/[\[\]]/g, '\\$&');
-        var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)', 'i'),
-            results = regex.exec(url);
-        if (!results) return null;
-        if (!results[2]) return '';
-        return decodeURIComponent(results[2].replace(/\+/g, ' '));
-    }
-
-    function updateQueryString(key, value) {
-        value = encodeURIComponent(value);
-
-        var url = window.location.href;
-        var re = new RegExp('([?&])' + key + '=.*?(&|#|$)(.*)', 'gi'),
-            hash;
-
-        if (re.test(url)) {
-            if (typeof value !== 'undefined' && value !== null)
-                return url.replace(re, '$1' + key + '=' + value + '$2$3');
-            else {
-                hash = url.split('#');
-                url = hash[0].replace(re, '$1$3').replace(/(&|\?)$/, '');
-                if (typeof hash[1] !== 'undefined' && hash[1] !== null)
-                    url += '#' + hash[1];
-                return url;
-            }
-        }
-        else {
-            if (typeof value !== 'undefined' && value !== null) {
-                var separator = url.indexOf('?') !== -1 ? '&' : '?';
-                hash = url.split('#');
-                url = hash[0] + separator + key + '=' + value;
-                if (typeof hash[1] !== 'undefined' && hash[1] !== null)
-                    url += '#' + hash[1];
-                return url;
-            }
-            else
-                return url;
-        }
-    }
-});
diff --git a/developer-guide/gitbook/gitbook-plugin-sharing/buttons.js b/developer-guide/gitbook/gitbook-plugin-sharing/buttons.js
deleted file mode 100644
index 709a4e4..0000000
--- a/developer-guide/gitbook/gitbook-plugin-sharing/buttons.js
+++ /dev/null
@@ -1,90 +0,0 @@
-require(['gitbook', 'jquery'], function(gitbook, $) {
-    var SITES = {
-        'facebook': {
-            'label': 'Facebook',
-            'icon': 'fa fa-facebook',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://www.facebook.com/sharer/sharer.php?s=100&p[url]='+encodeURIComponent(location.href));
-            }
-        },
-        'twitter': {
-            'label': 'Twitter',
-            'icon': 'fa fa-twitter',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://twitter.com/home?status='+encodeURIComponent(document.title+' '+location.href));
-            }
-        },
-        'google': {
-            'label': 'Google+',
-            'icon': 'fa fa-google-plus',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('https://plus.google.com/share?url='+encodeURIComponent(location.href));
-            }
-        },
-        'weibo': {
-            'label': 'Weibo',
-            'icon': 'fa fa-weibo',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://service.weibo.com/share/share.php?content=utf-8&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title));
-            }
-        },
-        'instapaper': {
-            'label': 'Instapaper',
-            'icon': 'fa fa-instapaper',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://www.instapaper.com/text?u='+encodeURIComponent(location.href));
-            }
-        },
-        'vk': {
-            'label': 'VK',
-            'icon': 'fa fa-vk',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://vkontakte.ru/share.php?url='+encodeURIComponent(location.href));
-            }
-        }
-    };
-
-
-
-    gitbook.events.bind('start', function(e, config) {
-        var opts = config.sharing;
-
-        // Create dropdown menu
-        var menu = $.map(opts.all, function(id) {
-            var site = SITES[id];
-
-            return {
-                text: site.label,
-                onClick: site.onClick
-            };
-        });
-
-        // Create main button with dropdown
-        if (menu.length > 0) {
-            gitbook.toolbar.createButton({
-                icon: 'fa fa-share-alt',
-                label: 'Share',
-                position: 'right',
-                dropdown: [menu]
-            });
-        }
-
-        // Direct actions to share
-        $.each(SITES, function(sideId, site) {
-            if (!opts[sideId]) return;
-
-            gitbook.toolbar.createButton({
-                icon: site.icon,
-                label: site.text,
-                position: 'right',
-                onClick: site.onClick
-            });
-        });
-    });
-});
diff --git a/developer-guide/gitbook/gitbook.js b/developer-guide/gitbook/gitbook.js
deleted file mode 100644
index 10000c7..0000000
--- a/developer-guide/gitbook/gitbook.js
+++ /dev/null
@@ -1,4 +0,0 @@
-!function e(t,n,r){function o(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[s]={exports:{}};t[s][0].call(l.exports,function(e){var n=t[s][1][e];return o(n?n:e)},l,l.exports,e,t,n,r)}return n[s].exports}for(var i="function"==typeof require&&require,s=0;s<r.length;s++)o(r[s]);return o}({1:[function(e,t,n){!function(e,n){"use strict";"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(e,t){t=t||te;var n=t.createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function r(e){var t=!!e&&"length"in e&&e.length,n=de.type(e);return"function"!==n&&!de.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function o(e,t,n){return de.isFunction(t)?de.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?de.grep(e,function(e){return e===t!==n}):"string"!=typeof t?de.grep(e,function(e){return se.call(t,e)>-1!==n}):je.test(t)?de.filter(t,e,n):(t=de.filter(t,e),de.grep(e,function(e){return se.call(t,e)>-1!==n&&1===e.nodeType}))}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function s(e){var t={};return de.each(e.match(qe)||[],function(e,n){t[n]=!0}),t}function a(e){return e}function u(e){throw e}function c(e,t,n){var r;try{e&&de.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&de.isFunction(r=e.then)?r.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function l(){te.removeEventListener("DOMContentLoaded",l),e.removeEventListener("load",l),de.ready()}function f(){this.expando=de.expando+f.uid++}function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Ie.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Pe,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n=p(n)}catch(e){}Re.set(e,t,n)}else n=void 0;return n}function d(e,t,n,r){var o,i=1,s=20,a=r?function(){return r.cur()}:function(){return de.css(e,t,"")},u=a(),c=n&&n[3]||(de.cssNumber[t]?"":"px"),l=(de.cssNumber[t]||"px"!==c&&+u)&&$e.exec(de.css(e,t));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do i=i||".5",l/=i,de.style(e,t,l+c);while(i!==(i=a()/u)&&1!==i&&--s)}return n&&(l=+l||+u||0,o=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=o)),o}function g(e){var t,n=e.ownerDocument,r=e.nodeName,o=Ue[r];return o?o:(t=n.body.appendChild(n.createElement(r)),o=de.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),Ue[r]=o,o)}function m(e,t){for(var n,r,o=[],i=0,s=e.length;i<s;i++)r=e[i],r.style&&(n=r.style.display,t?("none"===n&&(o[i]=Fe.get(r,"display")||null,o[i]||(r.style.display="")),""===r.style.display&&Be(r)&&(o[i]=g(r))):"none"!==n&&(o[i]="none",Fe.set(r,"display",n)));for(i=0;i<s;i++)null!=o[i]&&(e[i].style.display=o[i]);return e}function v(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&de.nodeName(e,t)?de.merge([e],n):n}function y(e,t){for(var n=0,r=e.length;n<r;n++)Fe.set(e[n],"globalEval",!t||Fe.get(t[n],"globalEval"))}function x(e,t,n,r,o){for(var i,s,a,u,c,l,f=t.createDocumentFragment(),p=[],h=0,d=e.length;h<d;h++)if(i=e[h],i||0===i)if("object"===de.type(i))de.merge(p,i.nodeType?[i]:i);else if(Ye.test(i)){for(s=s||f.appendChild(t.createElement("div")),a=(Xe.exec(i)||["",""])[1].toLowerCase(),u=Ge[a]||Ge._default,s.innerHTML=u[1]+de.htmlPrefilter(i)+u[2],l=u[0];l--;)s=s.lastChild;de.merge(p,s.childNodes),s=f.firstChild,s.textContent=""}else p.push(t.createTextNode(i));for(f.textContent="",h=0;i=p[h++];)if(r&&de.inArray(i,r)>-1)o&&o.push(i);else if(c=de.contains(i.ownerDocument,i),s=v(f.appendChild(i),"script"),c&&y(s),n)for(l=0;i=s[l++];)Ve.test(i.type||"")&&n.push(i);return f}function b(){return!0}function w(){return!1}function T(){try{return te.activeElement}catch(e){}}function C(e,t,n,r,o,i){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(a in t)C(e,a,n,r,t[a],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),o===!1)o=w;else if(!o)return e;return 1===i&&(s=o,o=function(e){return de().off(e),s.apply(this,arguments)},o.guid=s.guid||(s.guid=de.guid++)),e.each(function(){de.event.add(this,t,o,r,n)})}function j(e,t){return de.nodeName(e,"table")&&de.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function E(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function S(e,t){var n,r,o,i,s,a,u,c;if(1===t.nodeType){if(Fe.hasData(e)&&(i=Fe.access(e),s=Fe.set(t,i),c=i.events)){delete s.handle,s.events={};for(o in c)for(n=0,r=c[o].length;n<r;n++)de.event.add(t,o,c[o][n])}Re.hasData(e)&&(a=Re.access(e),u=de.extend({},a),Re.set(t,u))}}function N(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ze.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function A(e,t,r,o){t=oe.apply([],t);var i,s,a,u,c,l,f=0,p=e.length,h=p-1,d=t[0],g=de.isFunction(d);if(g||p>1&&"string"==typeof d&&!pe.checkClone&&nt.test(d))return e.each(function(n){var i=e.eq(n);g&&(t[0]=d.call(this,n,i.html())),A(i,t,r,o)});if(p&&(i=x(t,e[0].ownerDocument,!1,e,o),s=i.firstChild,1===i.childNodes.length&&(i=s),s||o)){for(a=de.map(v(i,"script"),k),u=a.length;f<p;f++)c=i,f!==h&&(c=de.clone(c,!0,!0),u&&de.merge(a,v(c,"script"))),r.call(e[f],c,f);if(u)for(l=a[a.length-1].ownerDocument,de.map(a,E),f=0;f<u;f++)c=a[f],Ve.test(c.type||"")&&!Fe.access(c,"globalEval")&&de.contains(l,c)&&(c.src?de._evalUrl&&de._evalUrl(c.src):n(c.textContent.replace(ot,""),l))}return e}function q(e,t,n){for(var r,o=t?de.filter(t,e):e,i=0;null!=(r=o[i]);i++)n||1!==r.nodeType||de.cleanData(v(r)),r.parentNode&&(n&&de.contains(r.ownerDocument,r)&&y(v(r,"script")),r.parentNode.removeChild(r));return e}function D(e,t,n){var r,o,i,s,a=e.style;return n=n||at(e),n&&(s=n.getPropertyValue(t)||n[t],""!==s||de.contains(e.ownerDocument,e)||(s=de.style(e,t)),!pe.pixelMarginRight()&&st.test(s)&&it.test(t)&&(r=a.width,o=a.minWidth,i=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=r,a.minWidth=o,a.maxWidth=i)),void 0!==s?s+"":s}function O(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function L(e){if(e in pt)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=ft.length;n--;)if(e=ft[n]+t,e in pt)return e}function H(e,t,n){var r=$e.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function F(e,t,n,r,o){var i,s=0;for(i=n===(r?"border":"content")?4:"width"===t?1:0;i<4;i+=2)"margin"===n&&(s+=de.css(e,n+We[i],!0,o)),r?("content"===n&&(s-=de.css(e,"padding"+We[i],!0,o)),"margin"!==n&&(s-=de.css(e,"border"+We[i]+"Width",!0,o))):(s+=de.css(e,"padding"+We[i],!0,o),"padding"!==n&&(s+=de.css(e,"border"+We[i]+"Width",!0,o)));return s}function R(e,t,n){var r,o=!0,i=at(e),s="border-box"===de.css(e,"boxSizing",!1,i);if(e.getClientRects().length&&(r=e.getBoundingClientRect()[t]),r<=0||null==r){if(r=D(e,t,i),(r<0||null==r)&&(r=e.style[t]),st.test(r))return r;o=s&&(pe.boxSizingReliable()||r===e.style[t]),r=parseFloat(r)||0}return r+F(e,t,n||(s?"border":"content"),o,i)+"px"}function I(e,t,n,r,o){return new I.prototype.init(e,t,n,r,o)}function P(){dt&&(e.requestAnimationFrame(P),de.fx.tick())}function M(){return e.setTimeout(function(){ht=void 0}),ht=de.now()}function $(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)n=We[r],o["margin"+n]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function W(e,t,n){for(var r,o=(U.tweeners[t]||[]).concat(U.tweeners["*"]),i=0,s=o.length;i<s;i++)if(r=o[i].call(n,t,e))return r}function B(e,t,n){var r,o,i,s,a,u,c,l,f="width"in t||"height"in t,p=this,h={},d=e.style,g=e.nodeType&&Be(e),v=Fe.get(e,"fxshow");n.queue||(s=de._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,a=s.empty.fire,s.empty.fire=function(){s.unqueued||a()}),s.unqueued++,p.always(function(){p.always(function(){s.unqueued--,de.queue(e,"fx").length||s.empty.fire()})}));for(r in t)if(o=t[r],gt.test(o)){if(delete t[r],i=i||"toggle"===o,o===(g?"hide":"show")){if("show"!==o||!v||void 0===v[r])continue;g=!0}h[r]=v&&v[r]||de.style(e,r)}if(u=!de.isEmptyObject(t),u||!de.isEmptyObject(h)){f&&1===e.nodeType&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],c=v&&v.display,null==c&&(c=Fe.get(e,"display")),l=de.css(e,"display"),"none"===l&&(c?l=c:(m([e],!0),c=e.style.display||c,l=de.css(e,"display"),m([e]))),("inline"===l||"inline-block"===l&&null!=c)&&"none"===de.css(e,"float")&&(u||(p.done(function(){d.display=c}),null==c&&(l=d.display,c="none"===l?"":l)),d.display="inline-block")),n.overflow&&(d.overflow="hidden",p.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]})),u=!1;for(r in h)u||(v?"hidden"in v&&(g=v.hidden):v=Fe.access(e,"fxshow",{display:c}),i&&(v.hidden=!g),g&&m([e],!0),p.done(function(){g||m([e]),Fe.remove(e,"fxshow");for(r in h)de.style(e,r,h[r])})),u=W(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}}function _(e,t){var n,r,o,i,s;for(n in e)if(r=de.camelCase(n),o=t[r],i=e[n],de.isArray(i)&&(o=i[1],i=e[n]=i[0]),n!==r&&(e[r]=i,delete e[n]),s=de.cssHooks[r],s&&"expand"in s){i=s.expand(i),delete e[r];for(n in i)n in e||(e[n]=i[n],t[n]=o)}else t[r]=o}function U(e,t,n){var r,o,i=0,s=U.prefilters.length,a=de.Deferred().always(function(){delete u.elem}),u=function(){if(o)return!1;for(var t=ht||M(),n=Math.max(0,c.startTime+c.duration-t),r=n/c.duration||0,i=1-r,s=0,u=c.tweens.length;s<u;s++)c.tweens[s].run(i);return a.notifyWith(e,[c,i,n]),i<1&&u?n:(a.resolveWith(e,[c]),!1)},c=a.promise({elem:e,props:de.extend({},t),opts:de.extend(!0,{specialEasing:{},easing:de.easing._default},n),originalProperties:t,originalOptions:n,startTime:ht||M(),duration:n.duration,tweens:[],createTween:function(t,n){var r=de.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(r),r},stop:function(t){var n=0,r=t?c.tweens.length:0;if(o)return this;for(o=!0;n<r;n++)c.tweens[n].run(1);return t?(a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c,t])):a.rejectWith(e,[c,t]),this}}),l=c.props;for(_(l,c.opts.specialEasing);i<s;i++)if(r=U.prefilters[i].call(c,e,l,c.opts))return de.isFunction(r.stop)&&(de._queueHooks(c.elem,c.opts.queue).stop=de.proxy(r.stop,r)),r;return de.map(l,W,c),de.isFunction(c.opts.start)&&c.opts.start.call(e,c),de.fx.timer(de.extend(u,{elem:e,anim:c,queue:c.opts.queue})),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always)}function z(e){var t=e.match(qe)||[];return t.join(" ")}function X(e){return e.getAttribute&&e.getAttribute("class")||""}function V(e,t,n,r){var o;if(de.isArray(t))de.each(t,function(t,o){n||Et.test(e)?r(e,o):V(e+"["+("object"==typeof o&&null!=o?t:"")+"]",o,n,r)});else if(n||"object"!==de.type(t))r(e,t);else for(o in t)V(e+"["+o+"]",t[o],n,r)}function G(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,o=0,i=t.toLowerCase().match(qe)||[];if(de.isFunction(n))for(;r=i[o++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Y(e,t,n,r){function o(a){var u;return i[a]=!0,de.each(e[a]||[],function(e,a){var c=a(t,n,r);return"string"!=typeof c||s||i[c]?s?!(u=c):void 0:(t.dataTypes.unshift(c),o(c),!1)}),u}var i={},s=e===Pt;return o(t.dataTypes[0])||!i["*"]&&o("*")}function Q(e,t){var n,r,o=de.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:r||(r={}))[n]=t[n]);return r&&de.extend(!0,e,r),e}function J(e,t,n){for(var r,o,i,s,a=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(o in a)if(a[o]&&a[o].test(r)){u.unshift(o);break}if(u[0]in n)i=u[0];else{for(o in n){if(!u[0]||e.converters[o+" "+u[0]]){i=o;break}s||(s=o)}i=i||s}if(i)return i!==u[0]&&u.unshift(i),n[i]}function K(e,t,n,r){var o,i,s,a,u,c={},l=e.dataTypes.slice();if(l[1])for(s in e.converters)c[s.toLowerCase()]=e.converters[s];for(i=l.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=i,i=l.shift())if("*"===i)i=u;else if("*"!==u&&u!==i){if(s=c[u+" "+i]||c["* "+i],!s)for(o in c)if(a=o.split(" "),a[1]===i&&(s=c[u+" "+a[0]]||c["* "+a[0]])){s===!0?s=c[o]:c[o]!==!0&&(i=a[0],l.unshift(a[1]));break}if(s!==!0)if(s&&e.throws)t=s(t);else try{t=s(t)}catch(e){return{state:"parsererror",error:s?e:"No conversion from "+u+" to "+i}}}return{state:"success",data:t}}function Z(e){return de.isWindow(e)?e:9===e.nodeType&&e.defaultView}var ee=[],te=e.document,ne=Object.getPrototypeOf,re=ee.slice,oe=ee.concat,ie=ee.push,se=ee.indexOf,ae={},ue=ae.toString,ce=ae.hasOwnProperty,le=ce.toString,fe=le.call(Object),pe={},he="3.1.1",de=function(e,t){return new de.fn.init(e,t)},ge=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,me=/^-ms-/,ve=/-([a-z])/g,ye=function(e,t){return t.toUpperCase()};de.fn=de.prototype={jquery:he,constructor:de,length:0,toArray:function(){return re.call(this)},get:function(e){return null==e?re.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=de.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return de.each(this,e)},map:function(e){return this.pushStack(de.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(re.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:ie,sort:ee.sort,splice:ee.splice},de.extend=de.fn.extend=function(){var e,t,n,r,o,i,s=arguments[0]||{},a=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[a]||{},a++),"object"==typeof s||de.isFunction(s)||(s={}),a===u&&(s=this,a--);a<u;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(c&&r&&(de.isPlainObject(r)||(o=de.isArray(r)))?(o?(o=!1,i=n&&de.isArray(n)?n:[]):i=n&&de.isPlainObject(n)?n:{},s[t]=de.extend(c,i,r)):void 0!==r&&(s[t]=r));return s},de.extend({expando:"jQuery"+(he+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===de.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=de.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==ue.call(e))&&(!(t=ne(e))||(n=ce.call(t,"constructor")&&t.constructor,"function"==typeof n&&le.call(n)===fe))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?ae[ue.call(e)]||"object":typeof e},globalEval:function(e){n(e)},camelCase:function(e){return e.replace(me,"ms-").replace(ve,ye)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var n,o=0;if(r(e))for(n=e.length;o<n&&t.call(e[o],o,e[o])!==!1;o++);else for(o in e)if(t.call(e[o],o,e[o])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(ge,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(r(Object(e))?de.merge(n,"string"==typeof e?[e]:e):ie.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:se.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,o=e.length;r<n;r++)e[o++]=t[r];return e.length=o,e},grep:function(e,t,n){for(var r,o=[],i=0,s=e.length,a=!n;i<s;i++)r=!t(e[i],i),r!==a&&o.push(e[i]);return o},map:function(e,t,n){var o,i,s=0,a=[];if(r(e))for(o=e.length;s<o;s++)i=t(e[s],s,n),null!=i&&a.push(i);else for(s in e)i=t(e[s],s,n),null!=i&&a.push(i);return oe.apply([],a)},guid:1,proxy:function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),de.isFunction(e))return r=re.call(arguments,2),o=function(){return e.apply(t||this,r.concat(re.call(arguments)))},o.guid=e.guid=e.guid||de.guid++,o},now:Date.now,support:pe}),"function"==typeof Symbol&&(de.fn[Symbol.iterator]=ee[Symbol.iterator]),de.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){ae["[object "+t+"]"]=t.toLowerCase()});var xe=function(e){function t(e,t,n,r){var o,i,s,a,u,c,l,p=t&&t.ownerDocument,d=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==d&&9!==d&&11!==d)return n;if(!r&&((t?t.ownerDocument||t:W)!==L&&O(t),t=t||L,F)){if(11!==d&&(u=ve.exec(e)))if(o=u[1]){if(9===d){if(!(s=t.getElementById(o)))return n;if(s.id===o)return n.push(s),n}else if(p&&(s=p.getElementById(o))&&M(t,s)&&s.id===o)return n.push(s),n}else{if(u[2])return K.apply(n,t.getElementsByTagName(e)),n;if((o=u[3])&&T.getElementsByClassName&&t.getElementsByClassName)return K.apply(n,t.getElementsByClassName(o)),n}if(T.qsa&&!X[e+" "]&&(!R||!R.test(e))){if(1!==d)p=t,l=e;else if("object"!==t.nodeName.toLowerCase()){for((a=t.getAttribute("id"))?a=a.replace(we,Te):t.setAttribute("id",a=$),c=E(e),i=c.length;i--;)c[i]="#"+a+" "+h(c[i]);l=c.join(","),p=ye.test(e)&&f(t.parentNode)||t}if(l)try{return K.apply(n,p.querySelectorAll(l)),n}catch(e){}finally{a===$&&t.removeAttribute("id")}}}return N(e.replace(ae,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>C.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[$]=!0,e}function o(e){var t=L.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split("|"),r=n.length;r--;)C.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&je(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var o,i=e([],n.length,t),s=i.length;s--;)n[o=i[s]]&&(n[o]=!(r[o]=n[o]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function h(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function d(e,t,n){var r=t.dir,o=t.next,i=o||r,s=n&&"parentNode"===i,a=_++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||s)return e(t,n,o);return!1}:function(t,n,u){var c,l,f,p=[B,a];if(u){for(;t=t[r];)if((1===t.nodeType||s)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||s)if(f=t[$]||(t[$]={}),l=f[t.uniqueID]||(f[t.uniqueID]={}),o&&o===t.nodeName.toLowerCase())t=t[r]||t;else{if((c=l[i])&&c[0]===B&&c[1]===a)return p[2]=c[2];if(l[i]=p,p[2]=e(t,n,u))return!0}return!1}}function g(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var o=0,i=n.length;o<i;o++)t(e,n[o],r);return r}function v(e,t,n,r,o){for(var i,s=[],a=0,u=e.length,c=null!=t;a<u;a++)(i=e[a])&&(n&&!n(i,r,o)||(s.push(i),c&&t.push(a)));return s}function y(e,t,n,o,i,s){return o&&!o[$]&&(o=y(o)),i&&!i[$]&&(i=y(i,s)),r(function(r,s,a,u){var c,l,f,p=[],h=[],d=s.length,g=r||m(t||"*",a.nodeType?[a]:a,[]),y=!e||!r&&t?g:v(g,p,e,a,u),x=n?i||(r?e:d||o)?[]:s:y;if(n&&n(y,x,a,u),o)for(c=v(x,h),o(c,[],a,u),l=c.length;l--;)(f=c[l])&&(x[h[l]]=!(y[h[l]]=f));if(r){if(i||e){if(i){for(c=[],l=x.length;l--;)(f=x[l])&&c.push(y[l]=f);i(null,x=[],c,u)}for(l=x.length;l--;)(f=x[l])&&(c=i?ee(r,f):p[l])>-1&&(r[c]=!(s[c]=f))}}else x=v(x===s?x.splice(d,x.length):x),i?i(null,s,x,u):K.apply(s,x)})}function x(e){for(var t,n,r,o=e.length,i=C.relative[e[0].type],s=i||C.relative[" "],a=i?1:0,u=d(function(e){return e===t},s,!0),c=d(function(e){return ee(t,e)>-1},s,!0),l=[function(e,n,r){var o=!i&&(r||n!==A)||((t=n).nodeType?u(e,n,r):c(e,n,r));return t=null,o}];a<o;a++)if(n=C.relative[e[a].type])l=[d(g(l),n)];else{if(n=C.filter[e[a].type].apply(null,e[a].matches),n[$]){for(r=++a;r<o&&!C.relative[e[r].type];r++);return y(a>1&&g(l),a>1&&h(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ae,"$1"),n,a<r&&x(e.slice(a,r)),r<o&&x(e=e.slice(r)),r<o&&h(e))}l.push(n)}return g(l)}function b(e,n){var o=n.length>0,i=e.length>0,s=function(r,s,a,u,c){var l,f,p,h=0,d="0",g=r&&[],m=[],y=A,x=r||i&&C.find.TAG("*",c),b=B+=null==y?1:Math.random()||.1,w=x.length;for(c&&(A=s===L||s||c);d!==w&&null!=(l=x[d]);d++){if(i&&l){for(f=0,s||l.ownerDocument===L||(O(l),a=!F);p=e[f++];)if(p(l,s||L,a)){u.push(l);break}c&&(B=b)}o&&((l=!p&&l)&&h--,r&&g.push(l))}if(h+=d,o&&d!==h){for(f=0;p=n[f++];)p(g,m,s,a);if(r){if(h>0)for(;d--;)g[d]||m[d]||(m[d]=Q.call(u));m=v(m)}K.apply(u,m),c&&!r&&m.length>0&&h+n.length>1&&t.uniqueSort(u)}return c&&(B=b,A=y),g};return o?r(s):s}var w,T,C,j,k,E,S,N,A,q,D,O,L,H,F,R,I,P,M,$="sizzle"+1*new Date,W=e.document,B=0,_=0,U=n(),z=n(),X=n(),V=function(e,t){return e===t&&(D=!0),0},G={}.hasOwnProperty,Y=[],Q=Y.pop,J=Y.push,K=Y.push,Z=Y.slice,ee=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",oe="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+re+"))|)"+ne+"*\\]",ie=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+oe+")*)|.*)\\)|)",se=new RegExp(ne+"+","g"),ae=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),ue=new RegExp("^"+ne+"*,"+ne+"*"),ce=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),le=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(ie),pe=new RegExp("^"+re+"$"),he={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},de=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,xe=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),be=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},we=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Te=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Ce=function(){O()},je=d(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{K.apply(Y=Z.call(W.childNodes),W.childNodes),Y[W.childNodes.length].nodeType}catch(e){K={apply:Y.length?function(e,t){J.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}T=t.support={},k=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},O=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:W;return r!==L&&9===r.nodeType&&r.documentElement?(L=r,H=L.documentElement,F=!k(L),W!==L&&(n=L.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Ce,!1):n.attachEvent&&n.attachEvent("onunload",Ce)),T.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),T.getElementsByTagName=o(function(e){return e.appendChild(L.createComment("")),!e.getElementsByTagName("*").length}),T.getElementsByClassName=me.test(L.getElementsByClassName),T.getById=o(function(e){return H.appendChild(e).id=$,!L.getElementsByName||!L.getElementsByName($).length}),T.getById?(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){return e.getAttribute("id")===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n=t.getElementById(e);return n?[n]:[]}}):(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n,r,o,i=t.getElementById(e);if(i){if(n=i.getAttributeNode("id"),n&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if(n=i.getAttributeNode("id"),n&&n.value===e)return[i]}return[]}}),C.find.TAG=T.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):T.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},C.find.CLASS=T.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&F)return t.getElementsByClassName(e)},I=[],R=[],(T.qsa=me.test(L.querySelectorAll))&&(o(function(e){H.appendChild(e).innerHTML="<a id='"+$+"'></a><select id='"+$+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&R.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||R.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+$+"-]").length||R.push("~="),e.querySelectorAll(":checked").length||R.push(":checked"),e.querySelectorAll("a#"+$+"+*").length||R.push(".#.+[+~]")}),o(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=L.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&R.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&R.push(":enabled",":disabled"),H.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&R.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),R.push(",.*:")})),(T.matchesSelector=me.test(P=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&o(function(e){T.disconnectedMatch=P.call(e,"*"),P.call(e,"[s!='']:x"),I.push("!=",ie)}),R=R.length&&new RegExp(R.join("|")),I=I.length&&new RegExp(I.join("|")),t=me.test(H.compareDocumentPosition),M=t||me.test(H.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},V=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!T.sortDetached&&t.compareDocumentPosition(e)===n?e===L||e.ownerDocument===W&&M(W,e)?-1:t===L||t.ownerDocument===W&&M(W,t)?1:q?ee(q,e)-ee(q,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,a=[e],u=[t];if(!o||!i)return e===L?-1:t===L?1:o?-1:i?1:q?ee(q,e)-ee(q,t):0;if(o===i)return s(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]===W?-1:u[r]===W?1:0},L):L},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==L&&O(e),n=n.replace(le,"='$1']"),T.matchesSelector&&F&&!X[n+" "]&&(!I||!I.test(n))&&(!R||!R.test(n)))try{var r=P.call(e,n);if(r||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,L,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==L&&O(e),M(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==L&&O(e);var n=C.attrHandle[t.toLowerCase()],r=n&&G.call(C.attrHandle,t.toLowerCase())?n(e,t,!F):void 0;return void 0!==r?r:T.attributes||!F?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(we,Te)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,o=0;if(D=!T.detectDuplicates,q=!T.sortStable&&e.slice(0),e.sort(V),D){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)e.splice(n[r],1)}return q=null,e},j=t.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=j(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=j(t);return n},C=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xe,be),e[3]=(e[3]||e[4]||e[5]||"").replace(xe,be),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=E(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(xe,be).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(o){var i=t.attr(o,e);return null==i?"!="===n:!n||(i+="","="===n?i===r:"!="===n?i!==r:"^="===n?r&&0===i.indexOf(r):"*="===n?r&&i.indexOf(r)>-1:"$="===n?r&&i.slice(-r.length)===r:"~="===n?(" "+i.replace(se," ")+" ").indexOf(r)>-1:"|="===n&&(i===r||i.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,p,h,d,g=i!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!u&&!a,x=!1;if(m){if(i){for(;g;){for(p=t;p=p[g];)if(a?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&y){for(p=m,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h&&c[2],p=h&&m.childNodes[h];p=++h&&p&&p[g]||(x=h=0)||d.pop();)if(1===p.nodeType&&++x&&p===t){l[e]=[B,h,x];break}}else if(y&&(p=t,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h),x===!1)for(;(p=++h&&p&&p[g]||(x=h=0)||d.pop())&&((a?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++x||(y&&(f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),l[e]=[B,x]),p!==t)););return x-=o,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var o,i=C.pseudos[e]||C.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return i[$]?i(n):i.length>1?(o=[e,e,"",n],C.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,o=i(e,n),s=o.length;s--;)r=ee(e,o[s]),e[r]=!(t[r]=o[s])}):function(e){return i(e,0,o)}):i}},pseudos:{not:r(function(e){var t=[],n=[],o=S(e.replace(ae,"$1"));return o[$]?r(function(e,t,n,r){for(var i,s=o(e,null,r,[]),a=e.length;a--;)(i=s[a])&&(e[a]=!(t[a]=i))}):function(e,r,i){return t[0]=e,o(t,null,i,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){
-return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(xe,be),function(t){return(t.textContent||t.innerText||j(t)).indexOf(e)>-1}}),lang:r(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(xe,be).toLowerCase(),function(t){var n;do if(n=F?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===L.activeElement&&(!L.hasFocus||L.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:c(!1),disabled:c(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!C.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return de.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:l(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:l(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},C.pseudos.nth=C.pseudos.eq;for(w in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})C.pseudos[w]=a(w);for(w in{submit:!0,reset:!0})C.pseudos[w]=u(w);return p.prototype=C.filters=C.pseudos,C.setFilters=new p,E=t.tokenize=function(e,n){var r,o,i,s,a,u,c,l=z[e+" "];if(l)return n?0:l.slice(0);for(a=e,u=[],c=C.preFilter;a;){r&&!(o=ue.exec(a))||(o&&(a=a.slice(o[0].length)||a),u.push(i=[])),r=!1,(o=ce.exec(a))&&(r=o.shift(),i.push({value:r,type:o[0].replace(ae," ")}),a=a.slice(r.length));for(s in C.filter)!(o=he[s].exec(a))||c[s]&&!(o=c[s](o))||(r=o.shift(),i.push({value:r,type:s,matches:o}),a=a.slice(r.length));if(!r)break}return n?a.length:a?t.error(e):z(e,u).slice(0)},S=t.compile=function(e,t){var n,r=[],o=[],i=X[e+" "];if(!i){for(t||(t=E(e)),n=t.length;n--;)i=x(t[n]),i[$]?r.push(i):o.push(i);i=X(e,b(o,r)),i.selector=e}return i},N=t.select=function(e,t,n,r){var o,i,s,a,u,c="function"==typeof e&&e,l=!r&&E(e=c.selector||e);if(n=n||[],1===l.length){if(i=l[0]=l[0].slice(0),i.length>2&&"ID"===(s=i[0]).type&&9===t.nodeType&&F&&C.relative[i[1].type]){if(t=(C.find.ID(s.matches[0].replace(xe,be),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=he.needsContext.test(e)?0:i.length;o--&&(s=i[o],!C.relative[a=s.type]);)if((u=C.find[a])&&(r=u(s.matches[0].replace(xe,be),ye.test(i[0].type)&&f(t.parentNode)||t))){if(i.splice(o,1),e=r.length&&h(i),!e)return K.apply(n,r),n;break}}return(c||S(e,l))(r,t,!F,n,!t||ye.test(e)&&f(t.parentNode)||t),n},T.sortStable=$.split("").sort(V).join("")===$,T.detectDuplicates=!!D,O(),T.sortDetached=o(function(e){return 1&e.compareDocumentPosition(L.createElement("fieldset"))}),o(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||i("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),T.attributes&&o(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||i("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||i(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);de.find=xe,de.expr=xe.selectors,de.expr[":"]=de.expr.pseudos,de.uniqueSort=de.unique=xe.uniqueSort,de.text=xe.getText,de.isXMLDoc=xe.isXML,de.contains=xe.contains,de.escapeSelector=xe.escape;var be=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&de(e).is(n))break;r.push(e)}return r},we=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Te=de.expr.match.needsContext,Ce=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,je=/^.[^:#\[\.,]*$/;de.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?de.find.matchesSelector(r,e)?[r]:[]:de.find.matches(e,de.grep(t,function(e){return 1===e.nodeType}))},de.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(de(e).filter(function(){for(t=0;t<r;t++)if(de.contains(o[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)de.find(e,o[t],n);return r>1?de.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Te.test(e)?de(e):e||[],!1).length}});var ke,Ee=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Se=de.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||ke,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Ee.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof de?t[0]:t,de.merge(this,de.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Ce.test(r[1])&&de.isPlainObject(t))for(r in t)de.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return o=te.getElementById(r[2]),o&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):de.isFunction(e)?void 0!==n.ready?n.ready(e):e(de):de.makeArray(e,this)};Se.prototype=de.fn,ke=de(te);var Ne=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};de.fn.extend({has:function(e){var t=de(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(de.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,o=this.length,i=[],s="string"!=typeof e&&de(e);if(!Te.test(e))for(;r<o;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&de.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?de.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?se.call(de(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(de.uniqueSort(de.merge(this.get(),de(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),de.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return be(e,"parentNode")},parentsUntil:function(e,t,n){return be(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return be(e,"nextSibling")},prevAll:function(e){return be(e,"previousSibling")},nextUntil:function(e,t,n){return be(e,"nextSibling",n)},prevUntil:function(e,t,n){return be(e,"previousSibling",n)},siblings:function(e){return we((e.parentNode||{}).firstChild,e)},children:function(e){return we(e.firstChild)},contents:function(e){return e.contentDocument||de.merge([],e.childNodes)}},function(e,t){de.fn[e]=function(n,r){var o=de.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=de.filter(r,o)),this.length>1&&(Ae[e]||de.uniqueSort(o),Ne.test(e)&&o.reverse()),this.pushStack(o)}});var qe=/[^\x20\t\r\n\f]+/g;de.Callbacks=function(e){e="string"==typeof e?s(e):de.extend({},e);var t,n,r,o,i=[],a=[],u=-1,c=function(){for(o=e.once,r=t=!0;a.length;u=-1)for(n=a.shift();++u<i.length;)i[u].apply(n[0],n[1])===!1&&e.stopOnFalse&&(u=i.length,n=!1);e.memory||(n=!1),t=!1,o&&(i=n?[]:"")},l={add:function(){return i&&(n&&!t&&(u=i.length-1,a.push(n)),function t(n){de.each(n,function(n,r){de.isFunction(r)?e.unique&&l.has(r)||i.push(r):r&&r.length&&"string"!==de.type(r)&&t(r)})}(arguments),n&&!t&&c()),this},remove:function(){return de.each(arguments,function(e,t){for(var n;(n=de.inArray(t,i,n))>-1;)i.splice(n,1),n<=u&&u--}),this},has:function(e){return e?de.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=a=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=a=[],n||t||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],a.push(n),t||c()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},de.extend({Deferred:function(t){var n=[["notify","progress",de.Callbacks("memory"),de.Callbacks("memory"),2],["resolve","done",de.Callbacks("once memory"),de.Callbacks("once memory"),0,"resolved"],["reject","fail",de.Callbacks("once memory"),de.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return de.Deferred(function(t){de.each(n,function(n,r){var o=de.isFunction(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=o&&o.apply(this,arguments);e&&de.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,r,o){function i(t,n,r,o){return function(){var c=this,l=arguments,f=function(){var e,f;if(!(t<s)){if(e=r.apply(c,l),e===n.promise())throw new TypeError("Thenable self-resolution");f=e&&("object"==typeof e||"function"==typeof e)&&e.then,de.isFunction(f)?o?f.call(e,i(s,n,a,o),i(s,n,u,o)):(s++,f.call(e,i(s,n,a,o),i(s,n,u,o),i(s,n,a,n.notifyWith))):(r!==a&&(c=void 0,l=[e]),(o||n.resolveWith)(c,l))}},p=o?f:function(){try{f()}catch(e){de.Deferred.exceptionHook&&de.Deferred.exceptionHook(e,p.stackTrace),t+1>=s&&(r!==u&&(c=void 0,l=[e]),n.rejectWith(c,l))}};t?p():(de.Deferred.getStackHook&&(p.stackTrace=de.Deferred.getStackHook()),e.setTimeout(p))}}var s=0;return de.Deferred(function(e){n[0][3].add(i(0,e,de.isFunction(o)?o:a,e.notifyWith)),n[1][3].add(i(0,e,de.isFunction(t)?t:a)),n[2][3].add(i(0,e,de.isFunction(r)?r:u))}).promise()},promise:function(e){return null!=e?de.extend(e,o):o}},i={};return de.each(n,function(e,t){var s=t[2],a=t[5];o[t[1]]=s.add,a&&s.add(function(){r=a},n[3-e][2].disable,n[0][2].lock),s.add(t[3].fire),i[t[0]]=function(){return i[t[0]+"With"](this===i?void 0:this,arguments),this},i[t[0]+"With"]=s.fireWith}),o.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=re.call(arguments),i=de.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?re.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&(c(e,i.done(s(n)).resolve,i.reject),"pending"===i.state()||de.isFunction(o[n]&&o[n].then)))return i.then();for(;n--;)c(o[n],s(n),i.reject);return i.promise()}});var De=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;de.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&De.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},de.readyException=function(t){e.setTimeout(function(){throw t})};var Oe=de.Deferred();de.fn.ready=function(e){return Oe.then(e).catch(function(e){de.readyException(e)}),this},de.extend({isReady:!1,readyWait:1,holdReady:function(e){e?de.readyWait++:de.ready(!0)},ready:function(e){(e===!0?--de.readyWait:de.isReady)||(de.isReady=!0,e!==!0&&--de.readyWait>0||Oe.resolveWith(te,[de]))}}),de.ready.then=Oe.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(de.ready):(te.addEventListener("DOMContentLoaded",l),e.addEventListener("load",l));var Le=function(e,t,n,r,o,i,s){var a=0,u=e.length,c=null==n;if("object"===de.type(n)){o=!0;for(a in n)Le(e,t,a,n[a],!0,i,s)}else if(void 0!==r&&(o=!0,de.isFunction(r)||(s=!0),c&&(s?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(de(e),n)})),t))for(;a<u;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return o?e:c?t.call(e):u?t(e[0],n):i},He=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};f.uid=1,f.prototype={cache:function(e){var t=e[this.expando];return t||(t={},He(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,o=this.cache(e);if("string"==typeof t)o[de.camelCase(t)]=n;else for(r in t)o[de.camelCase(r)]=t[r];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][de.camelCase(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){de.isArray(t)?t=t.map(de.camelCase):(t=de.camelCase(t),t=t in r?[t]:t.match(qe)||[]),n=t.length;for(;n--;)delete r[t[n]]}(void 0===t||de.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!de.isEmptyObject(t)}};var Fe=new f,Re=new f,Ie=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Pe=/[A-Z]/g;de.extend({hasData:function(e){return Re.hasData(e)||Fe.hasData(e)},data:function(e,t,n){return Re.access(e,t,n)},removeData:function(e,t){Re.remove(e,t)},_data:function(e,t,n){return Fe.access(e,t,n)},_removeData:function(e,t){Fe.remove(e,t)}}),de.fn.extend({data:function(e,t){var n,r,o,i=this[0],s=i&&i.attributes;if(void 0===e){if(this.length&&(o=Re.get(i),1===i.nodeType&&!Fe.get(i,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&(r=s[n].name,0===r.indexOf("data-")&&(r=de.camelCase(r.slice(5)),h(i,r,o[r])));Fe.set(i,"hasDataAttrs",!0)}return o}return"object"==typeof e?this.each(function(){Re.set(this,e)}):Le(this,function(t){var n;if(i&&void 0===t){if(n=Re.get(i,e),void 0!==n)return n;if(n=h(i,e),void 0!==n)return n}else this.each(function(){Re.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Re.remove(this,e)})}}),de.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||de.isArray(n)?r=Fe.access(e,t,de.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=de.queue(e,t),r=n.length,o=n.shift(),i=de._queueHooks(e,t),s=function(){de.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,s,i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:de.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),de.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?de.queue(this[0],e):void 0===t?this:this.each(function(){var n=de.queue(this,e,t);de._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&de.dequeue(this,e)})},dequeue:function(e){return this.each(function(){de.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,o=de.Deferred(),i=this,s=this.length,a=function(){--r||o.resolveWith(i,[i])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";s--;)n=Fe.get(i[s],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(a));return a(),o.promise(t)}});var Me=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,$e=new RegExp("^(?:([+-])=|)("+Me+")([a-z%]*)$","i"),We=["Top","Right","Bottom","Left"],Be=function(e,t){return e=t||e,"none"===e.style.display||""===e.style.display&&de.contains(e.ownerDocument,e)&&"none"===de.css(e,"display")},_e=function(e,t,n,r){var o,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];o=n.apply(e,r||[]);for(i in t)e.style[i]=s[i];return o},Ue={};de.fn.extend({show:function(){return m(this,!0)},hide:function(){return m(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Be(this)?de(this).show():de(this).hide()})}});var ze=/^(?:checkbox|radio)$/i,Xe=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,Ve=/^$|\/(?:java|ecma)script/i,Ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Ge.optgroup=Ge.option,Ge.tbody=Ge.tfoot=Ge.colgroup=Ge.caption=Ge.thead,Ge.th=Ge.td;var Ye=/<|&#?\w+;/;!function(){var e=te.createDocumentFragment(),t=e.appendChild(te.createElement("div")),n=te.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),pe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",pe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Qe=te.documentElement,Je=/^key/,Ke=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ze=/^([^.]*)(?:\.(.+)|)/;de.event={global:{},add:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.get(e);if(m)for(n.handler&&(i=n,n=i.handler,o=i.selector),o&&de.find.matchesSelector(Qe,o),n.guid||(n.guid=de.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(t){return"undefined"!=typeof de&&de.event.triggered!==t.type?de.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(qe)||[""],c=t.length;c--;)a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h&&(f=de.event.special[h]||{},h=(o?f.delegateType:f.bindType)||h,f=de.event.special[h]||{},l=de.extend({type:h,origType:g,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&de.expr.match.needsContext.test(o),namespace:d.join(".")},i),(p=u[h])||(p=u[h]=[],p.delegateCount=0,f.setup&&f.setup.call(e,r,d,s)!==!1||e.addEventListener&&e.addEventListener(h,s)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),o?p.splice(p.delegateCount++,0,l):p.push(l),de.event.global[h]=!0)},remove:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.hasData(e)&&Fe.get(e);if(m&&(u=m.events)){for(t=(t||"").match(qe)||[""],c=t.length;c--;)if(a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){for(f=de.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,p=u[h]||[],a=a[2]&&new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=i=p.length;i--;)l=p[i],!o&&g!==l.origType||n&&n.guid!==l.guid||a&&!a.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(p.splice(i,1),l.selector&&p.delegateCount--,f.remove&&f.remove.call(e,l));s&&!p.length&&(f.teardown&&f.teardown.call(e,d,m.handle)!==!1||de.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)de.event.remove(e,h+t[c],n,r,!0);de.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,s,a=de.event.fix(e),u=new Array(arguments.length),c=(Fe.get(this,"events")||{})[a.type]||[],l=de.event.special[a.type]||{};for(u[0]=a,t=1;t<arguments.length;t++)u[t]=arguments[t];if(a.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,a)!==!1){for(s=de.event.handlers.call(this,a,c),t=0;(o=s[t++])&&!a.isPropagationStopped();)for(a.currentTarget=o.elem,n=0;(i=o.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(i.namespace)||(a.handleObj=i,a.data=i.data,r=((de.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),void 0!==r&&(a.result=r)===!1&&(a.preventDefault(),a.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,a),a.result}},handlers:function(e,t){var n,r,o,i,s,a=[],u=t.delegateCount,c=e.target;if(u&&c.nodeType&&!("click"===e.type&&e.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||c.disabled!==!0)){for(i=[],s={},n=0;n<u;n++)r=t[n],o=r.selector+" ",void 0===s[o]&&(s[o]=r.needsContext?de(o,this).index(c)>-1:de.find(o,this,null,[c]).length),s[o]&&i.push(r);i.length&&a.push({elem:c,handlers:i})}return c=this,u<t.length&&a.push({elem:c,handlers:t.slice(u)}),a},addProp:function(e,t){Object.defineProperty(de.Event.prototype,e,{enumerable:!0,configurable:!0,get:de.isFunction(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[de.expando]?e:new de.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==T()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===T()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&de.nodeName(this,"input"))return this.click(),!1},_default:function(e){return de.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},de.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},de.Event=function(e,t){return this instanceof de.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?b:w,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&de.extend(this,t),this.timeStamp=e&&e.timeStamp||de.now(),void(this[de.expando]=!0)):new de.Event(e,t)},de.Event.prototype={constructor:de.Event,isDefaultPrevented:w,isPropagationStopped:w,isImmediatePropagationStopped:w,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=b,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=b,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=b,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},de.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Je.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ke.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},de.event.addProp),de.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){de.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,o=e.relatedTarget,i=e.handleObj;return o&&(o===r||de.contains(r,o))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}}),de.fn.extend({on:function(e,t,n,r){return C(this,e,t,n,r)},one:function(e,t,n,r){return C(this,e,t,n,r,1)},off:function(e,t,n){var r,o;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,de(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(o in e)this.off(o,t,e[o]);return this}return t!==!1&&"function"!=typeof t||(n=t,t=void 0),n===!1&&(n=w),this.each(function(){de.event.remove(this,e,n,t)})}});var et=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/<script|<style|<link/i,nt=/checked\s*(?:[^=]|=\s*.checked.)/i,rt=/^true\/(.*)/,ot=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;de.extend({htmlPrefilter:function(e){return e.replace(et,"<$1></$2>")},clone:function(e,t,n){var r,o,i,s,a=e.cloneNode(!0),u=de.contains(e.ownerDocument,e);if(!(pe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||de.isXMLDoc(e)))for(s=v(a),i=v(e),r=0,o=i.length;r<o;r++)N(i[r],s[r]);if(t)if(n)for(i=i||v(e),s=s||v(a),r=0,o=i.length;r<o;r++)S(i[r],s[r]);else S(e,a);return s=v(a,"script"),s.length>0&&y(s,!u&&v(e,"script")),a},cleanData:function(e){for(var t,n,r,o=de.event.special,i=0;void 0!==(n=e[i]);i++)if(He(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)o[r]?de.event.remove(n,r):de.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[Re.expando]&&(n[Re.expando]=void 0)}}}),de.fn.extend({detach:function(e){return q(this,e,!0)},remove:function(e){return q(this,e)},text:function(e){return Le(this,function(e){return void 0===e?de.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.appendChild(e)}})},prepend:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(de.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return de.clone(this,e,t)})},html:function(e){return Le(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!tt.test(e)&&!Ge[(Xe.exec(e)||["",""])[1].toLowerCase()]){e=de.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(de.cleanData(v(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return A(this,arguments,function(t){var n=this.parentNode;de.inArray(this,e)<0&&(de.cleanData(v(this)),n&&n.replaceChild(t,this))},e)}}),de.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){de.fn[e]=function(e){for(var n,r=[],o=de(e),i=o.length-1,s=0;s<=i;s++)n=s===i?this:this.clone(!0),de(o[s])[t](n),ie.apply(r,n.get());return this.pushStack(r)}});var it=/^margin/,st=new RegExp("^("+Me+")(?!px)[a-z%]+$","i"),at=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)};!function(){function t(){if(a){a.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",Qe.appendChild(s);var t=e.getComputedStyle(a);n="1%"!==t.top,i="2px"===t.marginLeft,r="4px"===t.width,a.style.marginRight="50%",o="4px"===t.marginRight,Qe.removeChild(s),a=null}}var n,r,o,i,s=te.createElement("div"),a=te.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",pe.clearCloneStyle="content-box"===a.style.backgroundClip,s.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",s.appendChild(a),de.extend(pe,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return t(),r},pixelMarginRight:function(){return t(),o},reliableMarginLeft:function(){return t(),i}}))}();var ut=/^(none|table(?!-c[ea]).+)/,ct={position:"absolute",visibility:"hidden",display:"block"},lt={letterSpacing:"0",fontWeight:"400"},ft=["Webkit","Moz","ms"],pt=te.createElement("div").style;de.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=D(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,i,s,a=de.camelCase(t),u=e.style;return t=de.cssProps[a]||(de.cssProps[a]=L(a)||a),s=de.cssHooks[t]||de.cssHooks[a],void 0===n?s&&"get"in s&&void 0!==(o=s.get(e,!1,r))?o:u[t]:(i=typeof n,"string"===i&&(o=$e.exec(n))&&o[1]&&(n=d(e,t,o),i="number"),null!=n&&n===n&&("number"===i&&(n+=o&&o[3]||(de.cssNumber[a]?"":"px")),pe.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,r))||(u[t]=n)),void 0)}},css:function(e,t,n,r){var o,i,s,a=de.camelCase(t);return t=de.cssProps[a]||(de.cssProps[a]=L(a)||a),s=de.cssHooks[t]||de.cssHooks[a],s&&"get"in s&&(o=s.get(e,!0,n)),void 0===o&&(o=D(e,t,r)),"normal"===o&&t in lt&&(o=lt[t]),""===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),de.each(["height","width"],function(e,t){de.cssHooks[t]={get:function(e,n,r){if(n)return!ut.test(de.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?R(e,t,r):_e(e,ct,function(){return R(e,t,r)})},set:function(e,n,r){var o,i=r&&at(e),s=r&&F(e,t,r,"border-box"===de.css(e,"boxSizing",!1,i),i);return s&&(o=$e.exec(n))&&"px"!==(o[3]||"px")&&(e.style[t]=n,n=de.css(e,t)),H(e,n,s)}}}),de.cssHooks.marginLeft=O(pe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(D(e,"marginLeft"))||e.getBoundingClientRect().left-_e(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),de.each({margin:"",padding:"",border:"Width"},function(e,t){de.cssHooks[e+t]={expand:function(n){for(var r=0,o={},i="string"==typeof n?n.split(" "):[n];r<4;r++)o[e+We[r]+t]=i[r]||i[r-2]||i[0];return o}},it.test(e)||(de.cssHooks[e+t].set=H)}),de.fn.extend({css:function(e,t){return Le(this,function(e,t,n){var r,o,i={},s=0;if(de.isArray(t)){for(r=at(e),o=t.length;s<o;s++)i[t[s]]=de.css(e,t[s],!1,r);return i}return void 0!==n?de.style(e,t,n):de.css(e,t)},e,t,arguments.length>1)}}),de.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||de.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(de.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.options.duration?this.pos=t=de.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=de.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){de.fx.step[e.prop]?de.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[de.cssProps[e.prop]]&&!de.cssHooks[e.prop]?e.elem[e.prop]=e.now:de.style(e.elem,e.prop,e.now+e.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},de.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},de.fx=I.prototype.init,de.fx.step={};var ht,dt,gt=/^(?:toggle|show|hide)$/,mt=/queueHooks$/;de.Animation=de.extend(U,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,$e.exec(t),n),n}]},tweener:function(e,t){de.isFunction(e)?(t=e,e=["*"]):e=e.match(qe);for(var n,r=0,o=e.length;r<o;r++)n=e[r],U.tweeners[n]=U.tweeners[n]||[],U.tweeners[n].unshift(t)},prefilters:[B],prefilter:function(e,t){t?U.prefilters.unshift(e):U.prefilters.push(e)}}),de.speed=function(e,t,n){var r=e&&"object"==typeof e?de.extend({},e):{complete:n||!n&&t||de.isFunction(e)&&e,duration:e,easing:n&&t||t&&!de.isFunction(t)&&t};return de.fx.off||te.hidden?r.duration=0:"number"!=typeof r.duration&&(r.duration in de.fx.speeds?r.duration=de.fx.speeds[r.duration]:r.duration=de.fx.speeds._default),null!=r.queue&&r.queue!==!0||(r.queue="fx"),r.old=r.complete,r.complete=function(){de.isFunction(r.old)&&r.old.call(this),r.queue&&de.dequeue(this,r.queue)},r},de.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Be).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){
-var o=de.isEmptyObject(e),i=de.speed(t,n,r),s=function(){var t=U(this,de.extend({},e),i);(o||Fe.get(this,"finish"))&&t.stop(!0)};return s.finish=s,o||i.queue===!1?this.each(s):this.queue(i.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,o=null!=e&&e+"queueHooks",i=de.timers,s=Fe.get(this);if(o)s[o]&&s[o].stop&&r(s[o]);else for(o in s)s[o]&&s[o].stop&&mt.test(o)&&r(s[o]);for(o=i.length;o--;)i[o].elem!==this||null!=e&&i[o].queue!==e||(i[o].anim.stop(n),t=!1,i.splice(o,1));!t&&n||de.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=Fe.get(this),r=n[e+"queue"],o=n[e+"queueHooks"],i=de.timers,s=r?r.length:0;for(n.finish=!0,de.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<s;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),de.each(["toggle","show","hide"],function(e,t){var n=de.fn[t];de.fn[t]=function(e,r,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate($(t,!0),e,r,o)}}),de.each({slideDown:$("show"),slideUp:$("hide"),slideToggle:$("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){de.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),de.timers=[],de.fx.tick=function(){var e,t=0,n=de.timers;for(ht=de.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);n.length||de.fx.stop(),ht=void 0},de.fx.timer=function(e){de.timers.push(e),e()?de.fx.start():de.timers.pop()},de.fx.interval=13,de.fx.start=function(){dt||(dt=e.requestAnimationFrame?e.requestAnimationFrame(P):e.setInterval(de.fx.tick,de.fx.interval))},de.fx.stop=function(){e.cancelAnimationFrame?e.cancelAnimationFrame(dt):e.clearInterval(dt),dt=null},de.fx.speeds={slow:600,fast:200,_default:400},de.fn.delay=function(t,n){return t=de.fx?de.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var o=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(o)}})},function(){var e=te.createElement("input"),t=te.createElement("select"),n=t.appendChild(te.createElement("option"));e.type="checkbox",pe.checkOn=""!==e.value,pe.optSelected=n.selected,e=te.createElement("input"),e.value="t",e.type="radio",pe.radioValue="t"===e.value}();var vt,yt=de.expr.attrHandle;de.fn.extend({attr:function(e,t){return Le(this,de.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){de.removeAttr(this,e)})}}),de.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return"undefined"==typeof e.getAttribute?de.prop(e,t,n):(1===i&&de.isXMLDoc(e)||(o=de.attrHooks[t.toLowerCase()]||(de.expr.match.bool.test(t)?vt:void 0)),void 0!==n?null===n?void de.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:(r=de.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&de.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(qe);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),vt={set:function(e,t,n){return t===!1?de.removeAttr(e,n):e.setAttribute(n,n),n}},de.each(de.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||de.find.attr;yt[t]=function(e,t,r){var o,i,s=t.toLowerCase();return r||(i=yt[s],yt[s]=o,o=null!=n(e,t,r)?s:null,yt[s]=i),o}});var xt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;de.fn.extend({prop:function(e,t){return Le(this,de.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[de.propFix[e]||e]})}}),de.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&de.isXMLDoc(e)||(t=de.propFix[t]||t,o=de.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=de.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),pe.optSelected||(de.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),de.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){de.propFix[this.toLowerCase()]=this}),de.fn.extend({addClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).addClass(e.call(this,t,X(this)))});if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).removeClass(e.call(this,t,X(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):de.isFunction(e)?this.each(function(n){de(this).toggleClass(e.call(this,n,X(this),t),t)}):this.each(function(){var t,r,o,i;if("string"===n)for(r=0,o=de(this),i=e.match(qe)||[];t=i[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||(t=X(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(X(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;de.fn.extend({val:function(e){var t,n,r,o=this[0];{if(arguments.length)return r=de.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=r?e.call(this,n,de(this).val()):e,null==o?o="":"number"==typeof o?o+="":de.isArray(o)&&(o=de.map(o,function(e){return null==e?"":e+""})),t=de.valHooks[this.type]||de.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return t=de.valHooks[o.type]||de.valHooks[o.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(wt,""):null==n?"":n)}}}),de.extend({valHooks:{option:{get:function(e){var t=de.find.attr(e,"value");return null!=t?t:z(de.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,s="select-one"===e.type,a=s?null:[],u=s?i+1:o.length;for(r=i<0?u:s?i:0;r<u;r++)if(n=o[r],(n.selected||r===i)&&!n.disabled&&(!n.parentNode.disabled||!de.nodeName(n.parentNode,"optgroup"))){if(t=de(n).val(),s)return t;a.push(t)}return a},set:function(e,t){for(var n,r,o=e.options,i=de.makeArray(t),s=o.length;s--;)r=o[s],(r.selected=de.inArray(de.valHooks.option.get(r),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),de.each(["radio","checkbox"],function(){de.valHooks[this]={set:function(e,t){if(de.isArray(t))return e.checked=de.inArray(de(e).val(),t)>-1}},pe.checkOn||(de.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Tt=/^(?:focusinfocus|focusoutblur)$/;de.extend(de.event,{trigger:function(t,n,r,o){var i,s,a,u,c,l,f,p=[r||te],h=ce.call(t,"type")?t.type:t,d=ce.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||te,3!==r.nodeType&&8!==r.nodeType&&!Tt.test(h+de.event.triggered)&&(h.indexOf(".")>-1&&(d=h.split("."),h=d.shift(),d.sort()),c=h.indexOf(":")<0&&"on"+h,t=t[de.expando]?t:new de.Event(h,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=d.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:de.makeArray(n,[t]),f=de.event.special[h]||{},o||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!o&&!f.noBubble&&!de.isWindow(r)){for(u=f.delegateType||h,Tt.test(u+h)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(r.ownerDocument||te)&&p.push(a.defaultView||a.parentWindow||e)}for(i=0;(s=p[i++])&&!t.isPropagationStopped();)t.type=i>1?u:f.bindType||h,l=(Fe.get(s,"events")||{})[t.type]&&Fe.get(s,"handle"),l&&l.apply(s,n),l=c&&s[c],l&&l.apply&&He(s)&&(t.result=l.apply(s,n),t.result===!1&&t.preventDefault());return t.type=h,o||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!He(r)||c&&de.isFunction(r[h])&&!de.isWindow(r)&&(a=r[c],a&&(r[c]=null),de.event.triggered=h,r[h](),de.event.triggered=void 0,a&&(r[c]=a)),t.result}},simulate:function(e,t,n){var r=de.extend(new de.Event,n,{type:e,isSimulated:!0});de.event.trigger(r,null,t)}}),de.fn.extend({trigger:function(e,t){return this.each(function(){de.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return de.event.trigger(e,t,n,!0)}}),de.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){de.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),de.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||de.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){de.event.simulate(t,e.target,de.event.fix(e))};de.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=Fe.access(r,t);o||r.addEventListener(e,n,!0),Fe.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=Fe.access(r,t)-1;o?Fe.access(r,t,o):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var Ct=e.location,jt=de.now(),kt=/\?/;de.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||de.error("Invalid XML: "+t),n};var Et=/\[\]$/,St=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;de.param=function(e,t){var n,r=[],o=function(e,t){var n=de.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(de.isArray(e)||e.jquery&&!de.isPlainObject(e))de.each(e,function(){o(this.name,this.value)});else for(n in e)V(n,e[n],t,o);return r.join("&")},de.fn.extend({serialize:function(){return de.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=de.prop(this,"elements");return e?de.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!de(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!ze.test(e))}).map(function(e,t){var n=de(this).val();return null==n?null:de.isArray(n)?de.map(n,function(e){return{name:t.name,value:e.replace(St,"\r\n")}}):{name:t.name,value:n.replace(St,"\r\n")}}).get()}});var qt=/%20/g,Dt=/#.*$/,Ot=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ht=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ft=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Pt={},Mt="*/".concat("*"),$t=te.createElement("a");$t.href=Ct.href,de.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Ht.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Mt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":de.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Q(Q(e,de.ajaxSettings),t):Q(de.ajaxSettings,e)},ajaxPrefilter:G(It),ajaxTransport:G(Pt),ajax:function(t,n){function r(t,n,r,a){var c,p,h,b,w,T=n;l||(l=!0,u&&e.clearTimeout(u),o=void 0,s=a||"",C.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(b=J(d,C,r)),b=K(d,b,C,c),c?(d.ifModified&&(w=C.getResponseHeader("Last-Modified"),w&&(de.lastModified[i]=w),w=C.getResponseHeader("etag"),w&&(de.etag[i]=w)),204===t||"HEAD"===d.type?T="nocontent":304===t?T="notmodified":(T=b.state,p=b.data,h=b.error,c=!h)):(h=T,!t&&T||(T="error",t<0&&(t=0))),C.status=t,C.statusText=(n||T)+"",c?v.resolveWith(g,[p,T,C]):v.rejectWith(g,[C,T,h]),C.statusCode(x),x=void 0,f&&m.trigger(c?"ajaxSuccess":"ajaxError",[C,d,c?p:h]),y.fireWith(g,[C,T]),f&&(m.trigger("ajaxComplete",[C,d]),--de.active||de.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var o,i,s,a,u,c,l,f,p,h,d=de.ajaxSetup({},n),g=d.context||d,m=d.context&&(g.nodeType||g.jquery)?de(g):de.event,v=de.Deferred(),y=de.Callbacks("once memory"),x=d.statusCode||{},b={},w={},T="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Lt.exec(s);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return l?s:null},setRequestHeader:function(e,t){return null==l&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)C.always(e[C.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||T;return o&&o.abort(t),r(0,t),this}};if(v.promise(C),d.url=((t||d.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(qe)||[""],null==d.crossDomain){c=te.createElement("a");try{c.href=d.url,c.href=c.href,d.crossDomain=$t.protocol+"//"+$t.host!=c.protocol+"//"+c.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=de.param(d.data,d.traditional)),Y(It,d,n,C),l)return C;f=de.event&&d.global,f&&0===de.active++&&de.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Ft.test(d.type),i=d.url.replace(Dt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(qt,"+")):(h=d.url.slice(i.length),d.data&&(i+=(kt.test(i)?"&":"?")+d.data,delete d.data),d.cache===!1&&(i=i.replace(Ot,"$1"),h=(kt.test(i)?"&":"?")+"_="+jt++ +h),d.url=i+h),d.ifModified&&(de.lastModified[i]&&C.setRequestHeader("If-Modified-Since",de.lastModified[i]),de.etag[i]&&C.setRequestHeader("If-None-Match",de.etag[i])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",d.contentType),C.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Mt+"; q=0.01":""):d.accepts["*"]);for(p in d.headers)C.setRequestHeader(p,d.headers[p]);if(d.beforeSend&&(d.beforeSend.call(g,C,d)===!1||l))return C.abort();if(T="abort",y.add(d.complete),C.done(d.success),C.fail(d.error),o=Y(Pt,d,n,C)){if(C.readyState=1,f&&m.trigger("ajaxSend",[C,d]),l)return C;d.async&&d.timeout>0&&(u=e.setTimeout(function(){C.abort("timeout")},d.timeout));try{l=!1,o.send(b,r)}catch(e){if(l)throw e;r(-1,e)}}else r(-1,"No Transport");return C},getJSON:function(e,t,n){return de.get(e,t,n,"json")},getScript:function(e,t){return de.get(e,void 0,t,"script")}}),de.each(["get","post"],function(e,t){de[t]=function(e,n,r,o){return de.isFunction(n)&&(o=o||r,r=n,n=void 0),de.ajax(de.extend({url:e,type:t,dataType:o,data:n,success:r},de.isPlainObject(e)&&e))}}),de._evalUrl=function(e){return de.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},de.fn.extend({wrapAll:function(e){var t;return this[0]&&(de.isFunction(e)&&(e=e.call(this[0])),t=de(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return de.isFunction(e)?this.each(function(t){de(this).wrapInner(e.call(this,t))}):this.each(function(){var t=de(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=de.isFunction(e);return this.each(function(n){de(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){de(this).replaceWith(this.childNodes)}),this}}),de.expr.pseudos.hidden=function(e){return!de.expr.pseudos.visible(e)},de.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},de.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Wt={0:200,1223:204},Bt=de.ajaxSettings.xhr();pe.cors=!!Bt&&"withCredentials"in Bt,pe.ajax=Bt=!!Bt,de.ajaxTransport(function(t){var n,r;if(pe.cors||Bt&&!t.crossDomain)return{send:function(o,i){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(s in o)a.setRequestHeader(s,o[s]);n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?i(0,"error"):i(a.status,a.statusText):i(Wt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=n("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),de.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),de.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return de.globalEval(e),e}}}),de.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),de.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,o){t=de("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),te.head.appendChild(t[0])},abort:function(){n&&n()}}}});var _t=[],Ut=/(=)\?(?=&|$)|\?\?/;de.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=_t.pop()||de.expando+"_"+jt++;return this[e]=!0,e}}),de.ajaxPrefilter("json jsonp",function(t,n,r){var o,i,s,a=t.jsonp!==!1&&(Ut.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(t.data)&&"data");if(a||"jsonp"===t.dataTypes[0])return o=t.jsonpCallback=de.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(Ut,"$1"+o):t.jsonp!==!1&&(t.url+=(kt.test(t.url)?"&":"?")+t.jsonp+"="+o),t.converters["script json"]=function(){return s||de.error(o+" was not called"),s[0]},t.dataTypes[0]="json",i=e[o],e[o]=function(){s=arguments},r.always(function(){void 0===i?de(e).removeProp(o):e[o]=i,t[o]&&(t.jsonpCallback=n.jsonpCallback,_t.push(o)),s&&de.isFunction(i)&&i(s[0]),s=i=void 0}),"script"}),pe.createHTMLDocument=function(){var e=te.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),de.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var r,o,i;return t||(pe.createHTMLDocument?(t=te.implementation.createHTMLDocument(""),r=t.createElement("base"),r.href=te.location.href,t.head.appendChild(r)):t=te),o=Ce.exec(e),i=!n&&[],o?[t.createElement(o[1])]:(o=x([e],t,i),i&&i.length&&de(i).remove(),de.merge([],o.childNodes))},de.fn.load=function(e,t,n){var r,o,i,s=this,a=e.indexOf(" ");return a>-1&&(r=z(e.slice(a)),e=e.slice(0,a)),de.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(o="POST"),s.length>0&&de.ajax({url:e,type:o||"GET",dataType:"html",data:t}).done(function(e){i=arguments,s.html(r?de("<div>").append(de.parseHTML(e)).find(r):e)}).always(n&&function(e,t){s.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},de.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){de.fn[t]=function(e){return this.on(t,e)}}),de.expr.pseudos.animated=function(e){return de.grep(de.timers,function(t){return e===t.elem}).length},de.offset={setOffset:function(e,t,n){var r,o,i,s,a,u,c,l=de.css(e,"position"),f=de(e),p={};"static"===l&&(e.style.position="relative"),a=f.offset(),i=de.css(e,"top"),u=de.css(e,"left"),c=("absolute"===l||"fixed"===l)&&(i+u).indexOf("auto")>-1,c?(r=f.position(),s=r.top,o=r.left):(s=parseFloat(i)||0,o=parseFloat(u)||0),de.isFunction(t)&&(t=t.call(e,n,de.extend({},a))),null!=t.top&&(p.top=t.top-a.top+s),null!=t.left&&(p.left=t.left-a.left+o),"using"in t?t.using.call(e,p):f.css(p)}},de.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){de.offset.setOffset(this,e,t)});var t,n,r,o,i=this[0];if(i)return i.getClientRects().length?(r=i.getBoundingClientRect(),r.width||r.height?(o=i.ownerDocument,n=Z(o),t=o.documentElement,{top:r.top+n.pageYOffset-t.clientTop,left:r.left+n.pageXOffset-t.clientLeft}):r):{top:0,left:0}},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===de.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),de.nodeName(e[0],"html")||(r=e.offset()),r={top:r.top+de.css(e[0],"borderTopWidth",!0),left:r.left+de.css(e[0],"borderLeftWidth",!0)}),{top:t.top-r.top-de.css(n,"marginTop",!0),left:t.left-r.left-de.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===de.css(e,"position");)e=e.offsetParent;return e||Qe})}}),de.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;de.fn[e]=function(r){return Le(this,function(e,r,o){var i=Z(e);return void 0===o?i?i[t]:e[r]:void(i?i.scrollTo(n?i.pageXOffset:o,n?o:i.pageYOffset):e[r]=o)},e,r,arguments.length)}}),de.each(["top","left"],function(e,t){de.cssHooks[t]=O(pe.pixelPosition,function(e,n){if(n)return n=D(e,t),st.test(n)?de(e).position()[t]+"px":n})}),de.each({Height:"height",Width:"width"},function(e,t){de.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){de.fn[r]=function(o,i){var s=arguments.length&&(n||"boolean"!=typeof o),a=n||(o===!0||i===!0?"margin":"border");return Le(this,function(t,n,o){var i;return de.isWindow(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===o?de.css(t,n,a):de.style(t,n,o,a)},t,s?o:void 0,s)}})}),de.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),de.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return de});var zt=e.jQuery,Xt=e.$;return de.noConflict=function(t){return e.$===de&&(e.$=Xt),t&&e.jQuery===de&&(e.jQuery=zt),de},t||(e.jQuery=e.$=de),de})},{}],2:[function(e,t,n){(function(e){function t(e,t){for(var n=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function r(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}var o=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,i=function(e){return o.exec(e).slice(1)};n.resolve=function(){for(var n="",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var s=i>=0?arguments[i]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(n=s+"/"+n,o="/"===s.charAt(0))}return n=t(r(n.split("/"),function(e){return!!e}),!o).join("/"),(o?"/":"")+n||"."},n.normalize=function(e){var o=n.isAbsolute(e),i="/"===s(e,-1);return e=t(r(e.split("/"),function(e){return!!e}),!o).join("/"),e||o||(e="."),e&&i&&(e+="/"),(o?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(r(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},n.relative=function(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var o=r(e.split("/")),i=r(t.split("/")),s=Math.min(o.length,i.length),a=s,u=0;u<s;u++)if(o[u]!==i[u]){a=u;break}for(var c=[],u=a;u<o.length;u++)c.push("..");return c=c.concat(i.slice(a)),c.join("/")},n.sep="/",n.delimiter=":",n.dirname=function(e){var t=i(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},n.basename=function(e,t){var n=i(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},n.extname=function(e){return i(e)[3]};var s="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,e("_process"))},{_process:3}],3:[function(e,t,n){function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(f===setTimeout)return setTimeout(e,0);if((f===r||!f)&&setTimeout)return f=setTimeout,setTimeout(e,0);try{return f(e,0)}catch(t){try{return f.call(null,e,0)}catch(t){return f.call(this,e,0)}}}function s(e){if(p===clearTimeout)return clearTimeout(e);if((p===o||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(e);try{return p(e)}catch(t){try{return p.call(null,e)}catch(t){return p.call(this,e)}}}function a(){m&&d&&(m=!1,d.length?g=d.concat(g):v=-1,g.length&&u())}function u(){if(!m){var e=i(a);m=!0;for(var t=g.length;t;){for(d=g,g=[];++v<t;)d&&d[v].run();v=-1,t=g.length}d=null,m=!1,s(e)}}function c(e,t){this.fun=e,this.array=t}function l(){}var f,p,h=t.exports={};!function(){try{f="function"==typeof setTimeout?setTimeout:r}catch(e){f=r}try{p="function"==typeof clearTimeout?clearTimeout:o}catch(e){p=o}}();var d,g=[],m=!1,v=-1;h.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];g.push(new c(e,t)),1!==g.length||m||i(u)},c.prototype.run=function(){this.fun.apply(null,this.array)},h.title="browser",h.browser=!0,h.env={},h.argv=[],h.version="",h.versions={},h.on=l,h.addListener=l,h.once=l,h.off=l,h.removeListener=l,h.removeAllListeners=l,h.emit=l,h.binding=function(e){throw new Error("process.binding is not supported")},h.cwd=function(){return"/"},h.chdir=function(e){throw new Error("process.chdir is not supported")},h.umask=function(){return 0}},{}],4:[function(e,t,n){(function(e){!function(r){function o(e){throw new RangeError(L[e])}function i(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function s(e,t){var n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(O,".");var o=e.split("."),s=i(o,t).join(".");return r+s}function a(e){for(var t,n,r=[],o=0,i=e.length;o<i;)t=e.charCodeAt(o++),t>=55296&&t<=56319&&o<i?(n=e.charCodeAt(o++),56320==(64512&n)?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),o--)):r.push(t);return r}function u(e){return i(e,function(e){var t="";return e>65535&&(e-=65536,t+=R(e>>>10&1023|55296),e=56320|1023&e),t+=R(e)}).join("")}function c(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:T}function l(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function f(e,t,n){var r=0;for(e=n?F(e/E):e>>1,e+=F(e/t);e>H*j>>1;r+=T)e=F(e/H);return F(r+(H+1)*e/(e+k))}function p(e){var t,n,r,i,s,a,l,p,h,d,g=[],m=e.length,v=0,y=N,x=S;for(n=e.lastIndexOf(A),n<0&&(n=0),r=0;r<n;++r)e.charCodeAt(r)>=128&&o("not-basic"),g.push(e.charCodeAt(r));for(i=n>0?n+1:0;i<m;){for(s=v,a=1,l=T;i>=m&&o("invalid-input"),p=c(e.charCodeAt(i++)),(p>=T||p>F((w-v)/a))&&o("overflow"),v+=p*a,h=l<=x?C:l>=x+j?j:l-x,!(p<h);l+=T)d=T-h,a>F(w/d)&&o("overflow"),a*=d;t=g.length+1,x=f(v-s,t,0==s),F(v/t)>w-y&&o("overflow"),y+=F(v/t),v%=t,g.splice(v++,0,y)}return u(g)}function h(e){var t,n,r,i,s,u,c,p,h,d,g,m,v,y,x,b=[];for(e=a(e),m=e.length,t=N,n=0,s=S,u=0;u<m;++u)g=e[u],g<128&&b.push(R(g));for(r=i=b.length,i&&b.push(A);r<m;){for(c=w,u=0;u<m;++u)g=e[u],g>=t&&g<c&&(c=g);for(v=r+1,c-t>F((w-n)/v)&&o("overflow"),n+=(c-t)*v,t=c,u=0;u<m;++u)if(g=e[u],g<t&&++n>w&&o("overflow"),g==t){for(p=n,h=T;d=h<=s?C:h>=s+j?j:h-s,!(p<d);h+=T)x=p-d,y=T-d,b.push(R(l(d+x%y,0))),p=F(x/y);b.push(R(l(p,0))),s=f(n,v,r==i),n=0,++r}++n,++t}return b.join("")}function d(e){return s(e,function(e){return q.test(e)?p(e.slice(4).toLowerCase()):e})}function g(e){return s(e,function(e){return D.test(e)?"xn--"+h(e):e})}var m="object"==typeof n&&n&&!n.nodeType&&n,v="object"==typeof t&&t&&!t.nodeType&&t,y="object"==typeof e&&e;y.global!==y&&y.window!==y&&y.self!==y||(r=y);var x,b,w=2147483647,T=36,C=1,j=26,k=38,E=700,S=72,N=128,A="-",q=/^xn--/,D=/[^\x20-\x7E]/,O=/[\x2E\u3002\uFF0E\uFF61]/g,L={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},H=T-C,F=Math.floor,R=String.fromCharCode;if(x={version:"1.4.1",ucs2:{decode:a,encode:u},decode:p,encode:h,toASCII:g,toUnicode:d},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return x});else if(m&&v)if(t.exports==m)v.exports=x;else for(b in x)x.hasOwnProperty(b)&&(m[b]=x[b]);else r.punycode=x}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],5:[function(e,t,n){"use strict";function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.exports=function(e,t,n,i){t=t||"&",n=n||"=";var s={};if("string"!=typeof e||0===e.length)return s;var a=/\+/g;e=e.split(t);var u=1e3;i&&"number"==typeof i.maxKeys&&(u=i.maxKeys);var c=e.length;u>0&&c>u&&(c=u);for(var l=0;l<c;++l){var f,p,h,d,g=e[l].replace(a,"%20"),m=g.indexOf(n);m>=0?(f=g.substr(0,m),p=g.substr(m+1)):(f=g,p=""),h=decodeURIComponent(f),d=decodeURIComponent(p),r(s,h)?o(s[h])?s[h].push(d):s[h]=[s[h],d]:s[h]=d}return s};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],6:[function(e,t,n){"use strict";function r(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++)n.push(t(e[r],r));return n}var o=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};t.exports=function(e,t,n,a){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?r(s(e),function(s){var a=encodeURIComponent(o(s))+n;return i(e[s])?r(e[s],function(e){return a+encodeURIComponent(o(e))}).join(t):a+encodeURIComponent(o(e[s]))}).join(t):a?encodeURIComponent(o(a))+n+encodeURIComponent(o(e)):""};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},s=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}},{}],7:[function(e,t,n){"use strict";n.decode=n.parse=e("./decode"),n.encode=n.stringify=e("./encode")},{"./decode":5,"./encode":6}],8:[function(e,t,n){"use strict";function r(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function o(e,t,n){if(e&&c.isObject(e)&&e instanceof r)return e;var o=new r;return o.parse(e,t,n),
-o}function i(e){return c.isString(e)&&(e=o(e)),e instanceof r?e.format():r.prototype.format.call(e)}function s(e,t){return o(e,!1,!0).resolve(t)}function a(e,t){return e?o(e,!1,!0).resolveObject(t):t}var u=e("punycode"),c=e("./util");n.parse=o,n.resolve=s,n.resolveObject=a,n.format=i,n.Url=r;var l=/^([a-z0-9.+-]+:)/i,f=/:[0-9]*$/,p=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,h=["<",">",'"',"`"," ","\r","\n","\t"],d=["{","}","|","\\","^","`"].concat(h),g=["'"].concat(d),m=["%","/","?",";","#"].concat(g),v=["/","?","#"],y=255,x=/^[+a-z0-9A-Z_-]{0,63}$/,b=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,w={javascript:!0,"javascript:":!0},T={javascript:!0,"javascript:":!0},C={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},j=e("querystring");r.prototype.parse=function(e,t,n){if(!c.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var r=e.indexOf("?"),o=r!==-1&&r<e.indexOf("#")?"?":"#",i=e.split(o),s=/\\/g;i[0]=i[0].replace(s,"/"),e=i.join(o);var a=e;if(a=a.trim(),!n&&1===e.split("#").length){var f=p.exec(a);if(f)return this.path=a,this.href=a,this.pathname=f[1],f[2]?(this.search=f[2],t?this.query=j.parse(this.search.substr(1)):this.query=this.search.substr(1)):t&&(this.search="",this.query={}),this}var h=l.exec(a);if(h){h=h[0];var d=h.toLowerCase();this.protocol=d,a=a.substr(h.length)}if(n||h||a.match(/^\/\/[^@\/]+@[^@\/]+/)){var k="//"===a.substr(0,2);!k||h&&T[h]||(a=a.substr(2),this.slashes=!0)}if(!T[h]&&(k||h&&!C[h])){for(var E=-1,S=0;S<v.length;S++){var N=a.indexOf(v[S]);N!==-1&&(E===-1||N<E)&&(E=N)}var A,q;q=E===-1?a.lastIndexOf("@"):a.lastIndexOf("@",E),q!==-1&&(A=a.slice(0,q),a=a.slice(q+1),this.auth=decodeURIComponent(A)),E=-1;for(var S=0;S<m.length;S++){var N=a.indexOf(m[S]);N!==-1&&(E===-1||N<E)&&(E=N)}E===-1&&(E=a.length),this.host=a.slice(0,E),a=a.slice(E),this.parseHost(),this.hostname=this.hostname||"";var D="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!D)for(var O=this.hostname.split(/\./),S=0,L=O.length;S<L;S++){var H=O[S];if(H&&!H.match(x)){for(var F="",R=0,I=H.length;R<I;R++)F+=H.charCodeAt(R)>127?"x":H[R];if(!F.match(x)){var P=O.slice(0,S),M=O.slice(S+1),$=H.match(b);$&&(P.push($[1]),M.unshift($[2])),M.length&&(a="/"+M.join(".")+a),this.hostname=P.join(".");break}}}this.hostname.length>y?this.hostname="":this.hostname=this.hostname.toLowerCase(),D||(this.hostname=u.toASCII(this.hostname));var W=this.port?":"+this.port:"",B=this.hostname||"";this.host=B+W,this.href+=this.host,D&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==a[0]&&(a="/"+a))}if(!w[d])for(var S=0,L=g.length;S<L;S++){var _=g[S];if(a.indexOf(_)!==-1){var U=encodeURIComponent(_);U===_&&(U=escape(_)),a=a.split(_).join(U)}}var z=a.indexOf("#");z!==-1&&(this.hash=a.substr(z),a=a.slice(0,z));var X=a.indexOf("?");if(X!==-1?(this.search=a.substr(X),this.query=a.substr(X+1),t&&(this.query=j.parse(this.query)),a=a.slice(0,X)):t&&(this.search="",this.query={}),a&&(this.pathname=a),C[d]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var W=this.pathname||"",V=this.search||"";this.path=W+V}return this.href=this.format(),this},r.prototype.format=function(){var e=this.auth||"";e&&(e=encodeURIComponent(e),e=e.replace(/%3A/i,":"),e+="@");var t=this.protocol||"",n=this.pathname||"",r=this.hash||"",o=!1,i="";this.host?o=e+this.host:this.hostname&&(o=e+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&c.isObject(this.query)&&Object.keys(this.query).length&&(i=j.stringify(this.query));var s=this.search||i&&"?"+i||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||C[t])&&o!==!1?(o="//"+(o||""),n&&"/"!==n.charAt(0)&&(n="/"+n)):o||(o=""),r&&"#"!==r.charAt(0)&&(r="#"+r),s&&"?"!==s.charAt(0)&&(s="?"+s),n=n.replace(/[?#]/g,function(e){return encodeURIComponent(e)}),s=s.replace("#","%23"),t+o+n+s+r},r.prototype.resolve=function(e){return this.resolveObject(o(e,!1,!0)).format()},r.prototype.resolveObject=function(e){if(c.isString(e)){var t=new r;t.parse(e,!1,!0),e=t}for(var n=new r,o=Object.keys(this),i=0;i<o.length;i++){var s=o[i];n[s]=this[s]}if(n.hash=e.hash,""===e.href)return n.href=n.format(),n;if(e.slashes&&!e.protocol){for(var a=Object.keys(e),u=0;u<a.length;u++){var l=a[u];"protocol"!==l&&(n[l]=e[l])}return C[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname="/"),n.href=n.format(),n}if(e.protocol&&e.protocol!==n.protocol){if(!C[e.protocol]){for(var f=Object.keys(e),p=0;p<f.length;p++){var h=f[p];n[h]=e[h]}return n.href=n.format(),n}if(n.protocol=e.protocol,e.host||T[e.protocol])n.pathname=e.pathname;else{for(var d=(e.pathname||"").split("/");d.length&&!(e.host=d.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==d[0]&&d.unshift(""),d.length<2&&d.unshift(""),n.pathname=d.join("/")}if(n.search=e.search,n.query=e.query,n.host=e.host||"",n.auth=e.auth,n.hostname=e.hostname||e.host,n.port=e.port,n.pathname||n.search){var g=n.pathname||"",m=n.search||"";n.path=g+m}return n.slashes=n.slashes||e.slashes,n.href=n.format(),n}var v=n.pathname&&"/"===n.pathname.charAt(0),y=e.host||e.pathname&&"/"===e.pathname.charAt(0),x=y||v||n.host&&e.pathname,b=x,w=n.pathname&&n.pathname.split("/")||[],d=e.pathname&&e.pathname.split("/")||[],j=n.protocol&&!C[n.protocol];if(j&&(n.hostname="",n.port=null,n.host&&(""===w[0]?w[0]=n.host:w.unshift(n.host)),n.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===d[0]?d[0]=e.host:d.unshift(e.host)),e.host=null),x=x&&(""===d[0]||""===w[0])),y)n.host=e.host||""===e.host?e.host:n.host,n.hostname=e.hostname||""===e.hostname?e.hostname:n.hostname,n.search=e.search,n.query=e.query,w=d;else if(d.length)w||(w=[]),w.pop(),w=w.concat(d),n.search=e.search,n.query=e.query;else if(!c.isNullOrUndefined(e.search)){if(j){n.hostname=n.host=w.shift();var k=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");k&&(n.auth=k.shift(),n.host=n.hostname=k.shift())}return n.search=e.search,n.query=e.query,c.isNull(n.pathname)&&c.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!w.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var E=w.slice(-1)[0],S=(n.host||e.host||w.length>1)&&("."===E||".."===E)||""===E,N=0,A=w.length;A>=0;A--)E=w[A],"."===E?w.splice(A,1):".."===E?(w.splice(A,1),N++):N&&(w.splice(A,1),N--);if(!x&&!b)for(;N--;N)w.unshift("..");!x||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),S&&"/"!==w.join("/").substr(-1)&&w.push("");var q=""===w[0]||w[0]&&"/"===w[0].charAt(0);if(j){n.hostname=n.host=q?"":w.length?w.shift():"";var k=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");k&&(n.auth=k.shift(),n.host=n.hostname=k.shift())}return x=x||n.host&&w.length,x&&!q&&w.unshift(""),w.length?n.pathname=w.join("/"):(n.pathname=null,n.path=null),c.isNull(n.pathname)&&c.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},r.prototype.parseHost=function(){var e=this.host,t=f.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},{"./util":9,punycode:4,querystring:7}],9:[function(e,t,n){"use strict";t.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},{}],10:[function(e,t,n){var r=e("jquery");t.exports=r({})},{jquery:1}],11:[function(e,t,n){var r=e("jquery"),o=e("./events"),i=e("./storage"),s=e("./page"),a=!1,u=window.gitbook||[],c={events:o,page:s,state:s.getState(),storage:i,push:function(e){a?e():u.push(e)}},l={gitbook:c,jquery:r};window.gitbook=c,window.$=r,window.jQuery=r,window.require=function(e,t){e=e.map(function(e){if(e=e.toLowerCase(),!l[e])throw new Error("GitBook module "+e+" doesn't exist");return l[e]}),t.apply(null,e)},r(document).ready(function(){a=!0,r.each(u,function(e,t){t()})})},{"./events":10,"./page":12,"./storage":13,jquery:1}],12:[function(e,t,n){function r(e){console.log("page has changed",e),o(e),l||(l=!0,c.trigger("start",e.config.pluginsConfig)),c.trigger("page.change")}function o(e){f.page=e.page,f.file=e.file,f.gitbook=e.gitbook,f.config=e.config,f.basePath=e.basePath,f.book=e.book,f.$book=s(".book"),f.revision=f.gitbook.time,f.level=f.page.level,f.filepath=f.file.path,f.chapterTitle=f.page.title,f.innerLanguage=f.book.language||"",f.root=a.resolve(location.protocol+"//"+location.host,u.dirname(u.resolve(location.pathname.replace(/\/$/,"/index.html"),f.basePath))).replace(/\/?$/,"/"),f.bookRoot=f.innerLanguage?a.resolve(f.root,".."):f.root}function i(){return f}var s=e("jquery"),a=e("url"),u=e("path"),c=e("./events"),l=!1,f={};t.exports={hasChanged:r,setState:o,getState:i}},{"./events":10,jquery:1,path:2,url:8}],13:[function(e,t,n){var r="";t.exports={setBaseKey:function(e){r=e},set:function(e,t){e=r+":"+e;try{localStorage[e]=JSON.stringify(t)}catch(e){}},get:function(e,t){var n;e=r+":"+e;try{n=localStorage[e]}catch(e){}if(void 0===n)return t;try{var o=JSON.parse(n);return null==o?t:o}catch(e){return n||t}},remove:function(e){e=r+":"+e;try{localStorage.removeItem(e)}catch(e){}}}},{}]},{},[11]);
diff --git a/developer-guide/gitbook/images/apple-touch-icon-precomposed-152.png b/developer-guide/gitbook/images/apple-touch-icon-precomposed-152.png
deleted file mode 100644
index f0adcfd..0000000
--- a/developer-guide/gitbook/images/apple-touch-icon-precomposed-152.png
+++ /dev/null
Binary files differ
diff --git a/developer-guide/gitbook/images/favicon.ico b/developer-guide/gitbook/images/favicon.ico
deleted file mode 100644
index 9ee99fa..0000000
--- a/developer-guide/gitbook/images/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/developer-guide/gitbook/style.css b/developer-guide/gitbook/style.css
deleted file mode 100644
index 9dbba3d..0000000
--- a/developer-guide/gitbook/style.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.link-inherit{color:inherit}.link-inherit:focus,.link-inherit:hover{color:inherit}.hidden{display:none}.alert{padding:15px;margin-bottom:20px;color:#444;background:#eee;border-bottom:5px solid #ddd}.alert-success{background:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-info{background:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-danger{background:#f2dede;border-color:#ebccd1;color:#a94442}.alert-warning{background:#fcf8e3;border-color:#faebcc;color:#8a6d3b}/*!
- *  Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome
- *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome/fontawesome-webfont.eot?v=4.6.3);src:url(fonts/fontawesome/fontawesome-webfont.eot?#iefix&v=4.6.3) format('embedded-opentype'),url(fonts/fontawesome/fontawesome-webfont.woff2?v=4.6.3) format('woff2'),url(fonts/fontawesome/fontawesome-webfont.woff?v=4.6.3) format('woff'),url(fonts/fontawesome/fontawesome-webfont.ttf?v=4.6.3) format('truetype'),url(fonts/fontawesome/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}/*!
- * Preboot v2
- *
- * Open sourced under MIT license by @mdo.
- * Some variables and mixins from Bootstrap (Apache 2 license).
- */.book-langs-index{width:100%;height:100%;padding:40px 0;margin:0;overflow:auto}@media (max-width:600px){.book-langs-index{padding:0}}.book-langs-index .inner{max-width:600px;width:100%;margin:0 auto;padding:30px;background:#fff;border-radius:3px}.book-langs-index .inner h3{margin:0}.book-langs-index .inner .languages{list-style:none;padding:20px 30px;margin-top:20px;border-top:1px solid #eee}.book-langs-index .inner .languages:after,.book-langs-index .inner .languages:before{content:" ";display:table;line-height:0}.book-langs-index .inner .languages:after{clear:both}.book-langs-index .inner .languages li{width:50%;float:left;padding:10px 5px;font-size:16px}@media (max-width:600px){.book-langs-index .inner .languages li{width:100%;max-width:100%}}.book-header{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;overflow:visible;height:50px;padding:0 8px;z-index:2;font-size:.85em;color:#7e888b;background:0 0}.book-header .btn{display:block;height:50px;padding:0 15px;border-bottom:none;color:#ccc;text-transform:uppercase;line-height:50px;-webkit-box-shadow:none!important;box-shadow:none!important;position:relative;font-size:14px}.book-header .btn:hover{position:relative;text-decoration:none;color:#444;background:0 0}.book-header .btn:focus{outline:0}.book-header h1{margin:0;font-size:20px;font-weight:200;text-align:center;line-height:50px;opacity:0;-webkit-transition:opacity ease .4s;-moz-transition:opacity ease .4s;-o-transition:opacity ease .4s;transition:opacity ease .4s;padding-left:200px;padding-right:200px;-webkit-transition:opacity .2s ease;-moz-transition:opacity .2s ease;-o-transition:opacity .2s ease;transition:opacity .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-header h1 a,.book-header h1 a:hover{color:inherit;text-decoration:none}@media (max-width:1000px){.book-header h1{display:none}}.book-header h1 i{display:none}.book-header:hover h1{opacity:1}.book.is-loading .book-header h1 i{display:inline-block}.book.is-loading .book-header h1 a{display:none}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;z-index:100;display:none;float:left;min-width:160px;padding:0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fafafa;border:1px solid rgba(0,0,0,.07);border-radius:1px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.open{display:block}.dropdown-menu.dropdown-left{left:auto;right:4%}.dropdown-menu.dropdown-left .dropdown-caret{right:14px;left:auto}.dropdown-menu .dropdown-caret{position:absolute;top:-8px;left:14px;width:18px;height:10px;float:left;overflow:hidden}.dropdown-menu .dropdown-caret .caret-outer{position:absolute;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid rgba(0,0,0,.1);height:auto;left:0;top:0;width:auto;display:inline-block;margin-left:-1px}.dropdown-menu .dropdown-caret .caret-inner{position:absolute;display:inline-block;margin-top:-1px;top:0;top:1px;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid #fafafa}.dropdown-menu .buttons{border-bottom:1px solid rgba(0,0,0,.07)}.dropdown-menu .buttons:after,.dropdown-menu .buttons:before{content:" ";display:table;line-height:0}.dropdown-menu .buttons:after{clear:both}.dropdown-menu .buttons:last-child{border-bottom:none}.dropdown-menu .buttons .button{border:0;background-color:transparent;color:#a6a6a6;width:100%;text-align:center;float:left;line-height:1.42857143;padding:8px 4px}.dropdown-menu .buttons .button:hover{color:#444}.dropdown-menu .buttons .button:focus,.dropdown-menu .buttons .button:hover{outline:0}.dropdown-menu .buttons .button.size-2{width:50%}.dropdown-menu .buttons .button.size-3{width:33%}.book-summary{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;position:absolute;top:0;left:-300px;bottom:0;z-index:1;overflow-y:auto;width:300px;color:#364149;background:#fafafa;border-right:1px solid rgba(0,0,0,.07);-webkit-transition:left 250ms ease;-moz-transition:left 250ms ease;-o-transition:left 250ms ease;transition:left 250ms ease}.book-summary ul.summary{list-style:none;margin:0;padding:0;-webkit-transition:top .5s ease;-moz-transition:top .5s ease;-o-transition:top .5s ease;transition:top .5s ease}.book-summary ul.summary li{list-style:none}.book-summary ul.summary li.header{padding:10px 15px;padding-top:20px;text-transform:uppercase;color:#939da3}.book-summary ul.summary li.divider{height:1px;margin:7px 0;overflow:hidden;background:rgba(0,0,0,.07)}.book-summary ul.summary li i.fa-check{display:none;position:absolute;right:9px;top:16px;font-size:9px;color:#3c3}.book-summary ul.summary li.done>a{color:#364149;font-weight:400}.book-summary ul.summary li.done>a i{display:inline}.book-summary ul.summary li a,.book-summary ul.summary li span{display:block;padding:10px 15px;border-bottom:none;color:#364149;background:0 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;position:relative}.book-summary ul.summary li a:hover{text-decoration:underline}.book-summary ul.summary li a:focus{outline:0}.book-summary ul.summary li.active>a{color:#008cff;background:0 0;text-decoration:none}.book-summary ul.summary li ul{padding-left:20px}@media (max-width:600px){.book-summary{width:calc(100% - 60px);bottom:0;left:-100%}}.book.with-summary .book-summary{left:0}.book.without-animation .book-summary{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.book{position:relative;width:100%;height:100%}@media (min-width:600px){.book.with-summary .book-body{left:300px}}@media (max-width:600px){.book.with-summary{overflow:hidden}.book.with-summary .book-body{-webkit-transform:translate(calc(100% - 60px),0);-moz-transform:translate(calc(100% - 60px),0);-ms-transform:translate(calc(100% - 60px),0);-o-transform:translate(calc(100% - 60px),0);transform:translate(calc(100% - 60px),0)}}.book.without-animation .book-body{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.book-body{position:absolute;top:0;right:0;left:0;bottom:0;overflow-y:auto;color:#000;background:#fff;-webkit-transition:left 250ms ease;-moz-transition:left 250ms ease;-o-transition:left 250ms ease;transition:left 250ms ease}.book-body .body-inner{position:absolute;top:0;right:0;left:0;bottom:0;overflow-y:auto}@media (max-width:1240px){.book-body{-webkit-transition:-webkit-transform 250ms ease;-moz-transition:-moz-transform 250ms ease;-o-transition:-o-transform 250ms ease;transition:transform 250ms ease;padding-bottom:20px}.book-body .body-inner{position:static;min-height:calc(100% - 50px)}}.page-wrapper{position:relative;outline:0}.page-inner{position:relative;max-width:800px;margin:0 auto;padding:20px 15px 40px 15px}.page-inner .btn-group .btn{border-radius:0;background:#eee;border:0}.buttons:after,.buttons:before{content:" ";display:table;line-height:0}.buttons:after{clear:both}.button{border:0;background-color:transparent;background:#eee;color:#666;width:100%;text-align:center;float:left;line-height:1.42857143;padding:8px 4px}.button:hover{color:#444}.button:focus,.button:hover{outline:0}.button.size-2{width:50%}.button.size-3{width:33%}.markdown-section{display:block;word-wrap:break-word;overflow:hidden;color:#333;line-height:1.7;text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%}.markdown-section *{box-sizing:border-box;-webkit-box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section>:last-child{margin-bottom:0!important}.markdown-section blockquote,.markdown-section code,.markdown-section figure,.markdown-section img,.markdown-section pre,.markdown-section table,.markdown-section tr{page-break-inside:avoid}.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section h5,.markdown-section p{orphans:3;widows:3}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section h5{page-break-after:avoid}.markdown-section b,.markdown-section strong{font-weight:700}.markdown-section em{font-style:italic}.markdown-section blockquote,.markdown-section dl,.markdown-section ol,.markdown-section p,.markdown-section table,.markdown-section ul{margin-top:0;margin-bottom:.85em}.markdown-section a{color:#4183c4;text-decoration:none;background:0 0}.markdown-section a:active,.markdown-section a:focus,.markdown-section a:hover{outline:0;text-decoration:underline}.markdown-section img{border:0;max-width:100%}.markdown-section hr{height:4px;padding:0;margin:1.7em 0;overflow:hidden;background-color:#e7e7e7;border:none}.markdown-section hr:after,.markdown-section hr:before{display:table;content:" "}.markdown-section hr:after{clear:both}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section h5,.markdown-section h6{margin-top:1.275em;margin-bottom:.85em;font-weight:700}.markdown-section h1{font-size:2em}.markdown-section h2{font-size:1.75em}.markdown-section h3{font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section code,.markdown-section pre{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;direction:ltr;margin:0;padding:0;border:none;color:inherit}.markdown-section pre{overflow:auto;word-wrap:normal;margin:0;padding:.85em 1em;margin-bottom:1.275em;background:#f7f7f7}.markdown-section pre>code{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;font-size:.85em;white-space:pre;background:0 0}.markdown-section pre>code:after,.markdown-section pre>code:before{content:normal}.markdown-section code{padding:.2em;margin:0;font-size:.85em;background-color:#f7f7f7}.markdown-section code:after,.markdown-section code:before{letter-spacing:-.2em;content:"\00a0"}.markdown-section table{display:table;width:100%;border-collapse:collapse;border-spacing:0;overflow:auto}.markdown-section table td,.markdown-section table th{padding:6px 13px;border:1px solid #ddd}.markdown-section table tr{background-color:#fff;border-top:1px solid #ccc}.markdown-section table tr:nth-child(2n){background-color:#f8f8f8}.markdown-section table th{font-weight:700}.markdown-section ol,.markdown-section ul{padding:0;margin:0;margin-bottom:.85em;padding-left:2em}.markdown-section ol ol,.markdown-section ol ul,.markdown-section ul ol,.markdown-section ul ul{margin-top:0;margin-bottom:0}.markdown-section ol ol{list-style-type:lower-roman}.markdown-section blockquote{margin:0;margin-bottom:.85em;padding:0 15px;color:#858585;border-left:4px solid #e5e5e5}.markdown-section blockquote:first-child{margin-top:0}.markdown-section blockquote:last-child{margin-bottom:0}.markdown-section dl{padding:0}.markdown-section dl dt{padding:0;margin-top:.85em;font-style:italic;font-weight:700}.markdown-section dl dd{padding:0 .85em;margin-bottom:.85em}.markdown-section dd{margin-left:0}.markdown-section .glossary-term{cursor:help;text-decoration:underline}.navigation{position:absolute;top:50px;bottom:0;margin:0;max-width:150px;min-width:90px;display:flex;justify-content:center;align-content:center;flex-direction:column;font-size:40px;color:#ccc;text-align:center;-webkit-transition:all 350ms ease;-moz-transition:all 350ms ease;-o-transition:all 350ms ease;transition:all 350ms ease}.navigation:hover{text-decoration:none;color:#444}.navigation.navigation-next{right:0}.navigation.navigation-prev{left:0}@media (max-width:1240px){.navigation{position:static;top:auto;max-width:50%;width:50%;display:inline-block;float:left}.navigation.navigation-unique{max-width:100%;width:100%}}#book-search-input{padding:6px;background:0 0;transition:top .5s ease;background:#fff;border-bottom:1px solid rgba(0,0,0,.07);border-top:1px solid rgba(0,0,0,.07);margin-bottom:10px;margin-top:-1px}#book-search-input input,#book-search-input input:focus,#book-search-input input:hover{width:100%;background:0 0;border:1px solid transparent;box-shadow:none;outline:0;line-height:22px;padding:7px 7px;color:inherit}#book-search-results{opacity:1}#book-search-results .search-results .search-results-title{text-transform:uppercase;text-align:center;font-weight:200;margin-bottom:35px;opacity:.6}#book-search-results .search-results .has-results .search-results-item{display:block;word-wrap:break-word;overflow:hidden;color:#333;line-height:1.7;text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%}#book-search-results .search-results .has-results .search-results-item *{box-sizing:border-box;-webkit-box-sizing:border-box;font-size:inherit}#book-search-results .search-results .has-results .search-results-item>:first-child{margin-top:0!important}#book-search-results .search-results .has-results .search-results-item>:last-child{margin-bottom:0!important}#book-search-results .search-results .has-results .search-results-item blockquote,#book-search-results .search-results .has-results .search-results-item code,#book-search-results .search-results .has-results .search-results-item figure,#book-search-results .search-results .has-results .search-results-item img,#book-search-results .search-results .has-results .search-results-item pre,#book-search-results .search-results .has-results .search-results-item table,#book-search-results .search-results .has-results .search-results-item tr{page-break-inside:avoid}#book-search-results .search-results .has-results .search-results-item h2,#book-search-results .search-results .has-results .search-results-item h3,#book-search-results .search-results .has-results .search-results-item h4,#book-search-results .search-results .has-results .search-results-item h5,#book-search-results .search-results .has-results .search-results-item p{orphans:3;widows:3}#book-search-results .search-results .has-results .search-results-item h1,#book-search-results .search-results .has-results .search-results-item h2,#book-search-results .search-results .has-results .search-results-item h3,#book-search-results .search-results .has-results .search-results-item h4,#book-search-results .search-results .has-results .search-results-item h5{page-break-after:avoid}#book-search-results .search-results .has-results .search-results-item b,#book-search-results .search-results .has-results .search-results-item strong{font-weight:700}#book-search-results .search-results .has-results .search-results-item em{font-style:italic}#book-search-results .search-results .has-results .search-results-item blockquote,#book-search-results .search-results .has-results .search-results-item dl,#book-search-results .search-results .has-results .search-results-item ol,#book-search-results .search-results .has-results .search-results-item p,#book-search-results .search-results .has-results .search-results-item table,#book-search-results .search-results .has-results .search-results-item ul{margin-top:0;margin-bottom:.85em}#book-search-results .search-results .has-results .search-results-item a{color:#4183c4;text-decoration:none;background:0 0}#book-search-results .search-results .has-results .search-results-item a:active,#book-search-results .search-results .has-results .search-results-item a:focus,#book-search-results .search-results .has-results .search-results-item a:hover{outline:0;text-decoration:underline}#book-search-results .search-results .has-results .search-results-item img{border:0;max-width:100%}#book-search-results .search-results .has-results .search-results-item hr{height:4px;padding:0;margin:1.7em 0;overflow:hidden;background-color:#e7e7e7;border:none}#book-search-results .search-results .has-results .search-results-item hr:after,#book-search-results .search-results .has-results .search-results-item hr:before{display:table;content:" "}#book-search-results .search-results .has-results .search-results-item hr:after{clear:both}#book-search-results .search-results .has-results .search-results-item h1,#book-search-results .search-results .has-results .search-results-item h2,#book-search-results .search-results .has-results .search-results-item h3,#book-search-results .search-results .has-results .search-results-item h4,#book-search-results .search-results .has-results .search-results-item h5,#book-search-results .search-results .has-results .search-results-item h6{margin-top:1.275em;margin-bottom:.85em;font-weight:700}#book-search-results .search-results .has-results .search-results-item h1{font-size:2em}#book-search-results .search-results .has-results .search-results-item h2{font-size:1.75em}#book-search-results .search-results .has-results .search-results-item h3{font-size:1.5em}#book-search-results .search-results .has-results .search-results-item h4{font-size:1.25em}#book-search-results .search-results .has-results .search-results-item h5{font-size:1em}#book-search-results .search-results .has-results .search-results-item h6{font-size:1em;color:#777}#book-search-results .search-results .has-results .search-results-item code,#book-search-results .search-results .has-results .search-results-item pre{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;direction:ltr;margin:0;padding:0;border:none;color:inherit}#book-search-results .search-results .has-results .search-results-item pre{overflow:auto;word-wrap:normal;margin:0;padding:.85em 1em;margin-bottom:1.275em;background:#f7f7f7}#book-search-results .search-results .has-results .search-results-item pre>code{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;font-size:.85em;white-space:pre;background:0 0}#book-search-results .search-results .has-results .search-results-item pre>code:after,#book-search-results .search-results .has-results .search-results-item pre>code:before{content:normal}#book-search-results .search-results .has-results .search-results-item code{padding:.2em;margin:0;font-size:.85em;background-color:#f7f7f7}#book-search-results .search-results .has-results .search-results-item code:after,#book-search-results .search-results .has-results .search-results-item code:before{letter-spacing:-.2em;content:"\00a0"}#book-search-results .search-results .has-results .search-results-item table{display:table;width:100%;border-collapse:collapse;border-spacing:0;overflow:auto}#book-search-results .search-results .has-results .search-results-item table td,#book-search-results .search-results .has-results .search-results-item table th{padding:6px 13px;border:1px solid #ddd}#book-search-results .search-results .has-results .search-results-item table tr{background-color:#fff;border-top:1px solid #ccc}#book-search-results .search-results .has-results .search-results-item table tr:nth-child(2n){background-color:#f8f8f8}#book-search-results .search-results .has-results .search-results-item table th{font-weight:700}#book-search-results .search-results .has-results .search-results-item ol,#book-search-results .search-results .has-results .search-results-item ul{padding:0;margin:0;margin-bottom:.85em;padding-left:2em}#book-search-results .search-results .has-results .search-results-item ol ol,#book-search-results .search-results .has-results .search-results-item ol ul,#book-search-results .search-results .has-results .search-results-item ul ol,#book-search-results .search-results .has-results .search-results-item ul ul{margin-top:0;margin-bottom:0}#book-search-results .search-results .has-results .search-results-item ol ol{list-style-type:lower-roman}#book-search-results .search-results .has-results .search-results-item blockquote{margin:0;margin-bottom:.85em;padding:0 15px;color:#858585;border-left:4px solid #e5e5e5}#book-search-results .search-results .has-results .search-results-item blockquote:first-child{margin-top:0}#book-search-results .search-results .has-results .search-results-item blockquote:last-child{margin-bottom:0}#book-search-results .search-results .has-results .search-results-item dl{padding:0}#book-search-results .search-results .has-results .search-results-item dl dt{padding:0;margin-top:.85em;font-style:italic;font-weight:700}#book-search-results .search-results .has-results .search-results-item dl dd{padding:0 .85em;margin-bottom:.85em}#book-search-results .search-results .has-results .search-results-item dd{margin-left:0}#book-search-results .search-results .has-results .search-results-item h3{margin-top:0;margin-bottom:0}#book-search-results .search-results .no-results{padding:40px 0}body.search-loading #book-search-results{opacity:.3}body.with-search .navigation{display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}a{text-decoration:none}body,html{height:100%}html{font-size:62.5%}body{text-rendering:optimizeLegibility;font-smoothing:antialiased;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:.2px;text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
\ No newline at end of file
diff --git a/developer-guide/gitbook/theme.js b/developer-guide/gitbook/theme.js
deleted file mode 100644
index 4c22928..0000000
--- a/developer-guide/gitbook/theme.js
+++ /dev/null
@@ -1,4 +0,0 @@
-!function e(t,n,r){function o(a,s){if(!n[a]){if(!t[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(i)return i(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[a]={exports:{}};t[a][0].call(c.exports,function(e){var n=t[a][1][e];return o(n?n:e)},c,c.exports,e,t,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(e,t,n){!function(e,n){"use strict";"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(e,t){t=t||te;var n=t.createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function r(e){var t=!!e&&"length"in e&&e.length,n=de.type(e);return"function"!==n&&!de.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function o(e,t,n){return de.isFunction(t)?de.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?de.grep(e,function(e){return e===t!==n}):"string"!=typeof t?de.grep(e,function(e){return ae.call(t,e)>-1!==n}):ke.test(t)?de.filter(t,e,n):(t=de.filter(t,e),de.grep(e,function(e){return ae.call(t,e)>-1!==n&&1===e.nodeType}))}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){var t={};return de.each(e.match(qe)||[],function(e,n){t[n]=!0}),t}function s(e){return e}function u(e){throw e}function l(e,t,n){var r;try{e&&de.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&de.isFunction(r=e.then)?r.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function c(){te.removeEventListener("DOMContentLoaded",c),e.removeEventListener("load",c),de.ready()}function f(){this.expando=de.expando+f.uid++}function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Ie.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Re,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n=p(n)}catch(e){}Pe.set(e,t,n)}else n=void 0;return n}function d(e,t,n,r){var o,i=1,a=20,s=r?function(){return r.cur()}:function(){return de.css(e,t,"")},u=s(),l=n&&n[3]||(de.cssNumber[t]?"":"px"),c=(de.cssNumber[t]||"px"!==l&&+u)&&$e.exec(de.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do i=i||".5",c/=i,de.style(e,t,c+l);while(i!==(i=s()/u)&&1!==i&&--a)}return n&&(c=+c||+u||0,o=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=o)),o}function g(e){var t,n=e.ownerDocument,r=e.nodeName,o=Ue[r];return o?o:(t=n.body.appendChild(n.createElement(r)),o=de.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),Ue[r]=o,o)}function m(e,t){for(var n,r,o=[],i=0,a=e.length;i<a;i++)r=e[i],r.style&&(n=r.style.display,t?("none"===n&&(o[i]=Fe.get(r,"display")||null,o[i]||(r.style.display="")),""===r.style.display&&We(r)&&(o[i]=g(r))):"none"!==n&&(o[i]="none",Fe.set(r,"display",n)));for(i=0;i<a;i++)null!=o[i]&&(e[i].style.display=o[i]);return e}function v(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&de.nodeName(e,t)?de.merge([e],n):n}function y(e,t){for(var n=0,r=e.length;n<r;n++)Fe.set(e[n],"globalEval",!t||Fe.get(t[n],"globalEval"))}function b(e,t,n,r,o){for(var i,a,s,u,l,c,f=t.createDocumentFragment(),p=[],h=0,d=e.length;h<d;h++)if(i=e[h],i||0===i)if("object"===de.type(i))de.merge(p,i.nodeType?[i]:i);else if(Ge.test(i)){for(a=a||f.appendChild(t.createElement("div")),s=(Xe.exec(i)||["",""])[1].toLowerCase(),u=Ve[s]||Ve._default,a.innerHTML=u[1]+de.htmlPrefilter(i)+u[2],c=u[0];c--;)a=a.lastChild;de.merge(p,a.childNodes),a=f.firstChild,a.textContent=""}else p.push(t.createTextNode(i));for(f.textContent="",h=0;i=p[h++];)if(r&&de.inArray(i,r)>-1)o&&o.push(i);else if(l=de.contains(i.ownerDocument,i),a=v(f.appendChild(i),"script"),l&&y(a),n)for(c=0;i=a[c++];)Ke.test(i.type||"")&&n.push(i);return f}function x(){return!0}function w(){return!1}function C(){try{return te.activeElement}catch(e){}}function T(e,t,n,r,o,i){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)T(e,s,n,r,t[s],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),o===!1)o=w;else if(!o)return e;return 1===i&&(a=o,o=function(e){return de().off(e),a.apply(this,arguments)},o.guid=a.guid||(a.guid=de.guid++)),e.each(function(){de.event.add(this,t,o,r,n)})}function k(e,t){return de.nodeName(e,"table")&&de.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function j(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function E(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function N(e,t){var n,r,o,i,a,s,u,l;if(1===t.nodeType){if(Fe.hasData(e)&&(i=Fe.access(e),a=Fe.set(t,i),l=i.events)){delete a.handle,a.events={};for(o in l)for(n=0,r=l[o].length;n<r;n++)de.event.add(t,o,l[o][n])}Pe.hasData(e)&&(s=Pe.access(e),u=de.extend({},s),Pe.set(t,u))}}function S(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ze.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function A(e,t,r,o){t=oe.apply([],t);var i,a,s,u,l,c,f=0,p=e.length,h=p-1,d=t[0],g=de.isFunction(d);if(g||p>1&&"string"==typeof d&&!pe.checkClone&&nt.test(d))return e.each(function(n){var i=e.eq(n);g&&(t[0]=d.call(this,n,i.html())),A(i,t,r,o)});if(p&&(i=b(t,e[0].ownerDocument,!1,e,o),a=i.firstChild,1===i.childNodes.length&&(i=a),a||o)){for(s=de.map(v(i,"script"),j),u=s.length;f<p;f++)l=i,f!==h&&(l=de.clone(l,!0,!0),u&&de.merge(s,v(l,"script"))),r.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,de.map(s,E),f=0;f<u;f++)l=s[f],Ke.test(l.type||"")&&!Fe.access(l,"globalEval")&&de.contains(c,l)&&(l.src?de._evalUrl&&de._evalUrl(l.src):n(l.textContent.replace(ot,""),c))}return e}function q(e,t,n){for(var r,o=t?de.filter(t,e):e,i=0;null!=(r=o[i]);i++)n||1!==r.nodeType||de.cleanData(v(r)),r.parentNode&&(n&&de.contains(r.ownerDocument,r)&&y(v(r,"script")),r.parentNode.removeChild(r));return e}function D(e,t,n){var r,o,i,a,s=e.style;return n=n||st(e),n&&(a=n.getPropertyValue(t)||n[t],""!==a||de.contains(e.ownerDocument,e)||(a=de.style(e,t)),!pe.pixelMarginRight()&&at.test(a)&&it.test(t)&&(r=s.width,o=s.minWidth,i=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=o,s.maxWidth=i)),void 0!==a?a+"":a}function O(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function L(e){if(e in pt)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=ft.length;n--;)if(e=ft[n]+t,e in pt)return e}function H(e,t,n){var r=$e.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function F(e,t,n,r,o){var i,a=0;for(i=n===(r?"border":"content")?4:"width"===t?1:0;i<4;i+=2)"margin"===n&&(a+=de.css(e,n+_e[i],!0,o)),r?("content"===n&&(a-=de.css(e,"padding"+_e[i],!0,o)),"margin"!==n&&(a-=de.css(e,"border"+_e[i]+"Width",!0,o))):(a+=de.css(e,"padding"+_e[i],!0,o),"padding"!==n&&(a+=de.css(e,"border"+_e[i]+"Width",!0,o)));return a}function P(e,t,n){var r,o=!0,i=st(e),a="border-box"===de.css(e,"boxSizing",!1,i);if(e.getClientRects().length&&(r=e.getBoundingClientRect()[t]),r<=0||null==r){if(r=D(e,t,i),(r<0||null==r)&&(r=e.style[t]),at.test(r))return r;o=a&&(pe.boxSizingReliable()||r===e.style[t]),r=parseFloat(r)||0}return r+F(e,t,n||(a?"border":"content"),o,i)+"px"}function I(e,t,n,r,o){return new I.prototype.init(e,t,n,r,o)}function R(){dt&&(e.requestAnimationFrame(R),de.fx.tick())}function M(){return e.setTimeout(function(){ht=void 0}),ht=de.now()}function $(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)n=_e[r],o["margin"+n]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function _(e,t,n){for(var r,o=(U.tweeners[t]||[]).concat(U.tweeners["*"]),i=0,a=o.length;i<a;i++)if(r=o[i].call(n,t,e))return r}function W(e,t,n){var r,o,i,a,s,u,l,c,f="width"in t||"height"in t,p=this,h={},d=e.style,g=e.nodeType&&We(e),v=Fe.get(e,"fxshow");n.queue||(a=de._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,de.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(o=t[r],gt.test(o)){if(delete t[r],i=i||"toggle"===o,o===(g?"hide":"show")){if("show"!==o||!v||void 0===v[r])continue;g=!0}h[r]=v&&v[r]||de.style(e,r)}if(u=!de.isEmptyObject(t),u||!de.isEmptyObject(h)){f&&1===e.nodeType&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],l=v&&v.display,null==l&&(l=Fe.get(e,"display")),c=de.css(e,"display"),"none"===c&&(l?c=l:(m([e],!0),l=e.style.display||l,c=de.css(e,"display"),m([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===de.css(e,"float")&&(u||(p.done(function(){d.display=l}),null==l&&(c=d.display,l="none"===c?"":c)),d.display="inline-block")),n.overflow&&(d.overflow="hidden",p.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]})),u=!1;for(r in h)u||(v?"hidden"in v&&(g=v.hidden):v=Fe.access(e,"fxshow",{display:l}),i&&(v.hidden=!g),g&&m([e],!0),p.done(function(){g||m([e]),Fe.remove(e,"fxshow");for(r in h)de.style(e,r,h[r])})),u=_(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}}function B(e,t){var n,r,o,i,a;for(n in e)if(r=de.camelCase(n),o=t[r],i=e[n],de.isArray(i)&&(o=i[1],i=e[n]=i[0]),n!==r&&(e[r]=i,delete e[n]),a=de.cssHooks[r],a&&"expand"in a){i=a.expand(i),delete e[r];for(n in i)n in e||(e[n]=i[n],t[n]=o)}else t[r]=o}function U(e,t,n){var r,o,i=0,a=U.prefilters.length,s=de.Deferred().always(function(){delete u.elem}),u=function(){if(o)return!1;for(var t=ht||M(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,i=1-r,a=0,u=l.tweens.length;a<u;a++)l.tweens[a].run(i);return s.notifyWith(e,[l,i,n]),i<1&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:de.extend({},t),opts:de.extend(!0,{specialEasing:{},easing:de.easing._default},n),originalProperties:t,originalOptions:n,startTime:ht||M(),duration:n.duration,tweens:[],createTween:function(t,n){var r=de.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(o)return this;for(o=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(B(c,l.opts.specialEasing);i<a;i++)if(r=U.prefilters[i].call(l,e,c,l.opts))return de.isFunction(r.stop)&&(de._queueHooks(l.elem,l.opts.queue).stop=de.proxy(r.stop,r)),r;return de.map(c,_,l),de.isFunction(l.opts.start)&&l.opts.start.call(e,l),de.fx.timer(de.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function z(e){var t=e.match(qe)||[];return t.join(" ")}function X(e){return e.getAttribute&&e.getAttribute("class")||""}function K(e,t,n,r){var o;if(de.isArray(t))de.each(t,function(t,o){n||Et.test(e)?r(e,o):K(e+"["+("object"==typeof o&&null!=o?t:"")+"]",o,n,r)});else if(n||"object"!==de.type(t))r(e,t);else for(o in t)K(e+"["+o+"]",t[o],n,r)}function V(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,o=0,i=t.toLowerCase().match(qe)||[];if(de.isFunction(n))for(;r=i[o++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function G(e,t,n,r){function o(s){var u;return i[s]=!0,de.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||a||i[l]?a?!(u=l):void 0:(t.dataTypes.unshift(l),o(l),!1)}),u}var i={},a=e===Rt;return o(t.dataTypes[0])||!i["*"]&&o("*")}function Y(e,t){var n,r,o=de.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:r||(r={}))[n]=t[n]);return r&&de.extend(!0,e,r),e}function Q(e,t,n){for(var r,o,i,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(o in s)if(s[o]&&s[o].test(r)){u.unshift(o);break}if(u[0]in n)i=u[0];else{for(o in n){if(!u[0]||e.converters[o+" "+u[0]]){i=o;break}a||(a=o)}i=i||a}if(i)return i!==u[0]&&u.unshift(i),n[i]}function J(e,t,n,r){var o,i,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(i=c.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=i,i=c.shift())if("*"===i)i=u;else if("*"!==u&&u!==i){if(a=l[u+" "+i]||l["* "+i],!a)for(o in l)if(s=o.split(" "),s[1]===i&&(a=l[u+" "+s[0]]||l["* "+s[0]])){a===!0?a=l[o]:l[o]!==!0&&(i=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+i}}}return{state:"success",data:t}}function Z(e){return de.isWindow(e)?e:9===e.nodeType&&e.defaultView}var ee=[],te=e.document,ne=Object.getPrototypeOf,re=ee.slice,oe=ee.concat,ie=ee.push,ae=ee.indexOf,se={},ue=se.toString,le=se.hasOwnProperty,ce=le.toString,fe=ce.call(Object),pe={},he="3.1.1",de=function(e,t){return new de.fn.init(e,t)},ge=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,me=/^-ms-/,ve=/-([a-z])/g,ye=function(e,t){return t.toUpperCase()};de.fn=de.prototype={jquery:he,constructor:de,length:0,toArray:function(){return re.call(this)},get:function(e){return null==e?re.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=de.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return de.each(this,e)},map:function(e){return this.pushStack(de.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(re.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:ie,sort:ee.sort,splice:ee.splice},de.extend=de.fn.extend=function(){var e,t,n,r,o,i,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||de.isFunction(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],r=e[t],a!==r&&(l&&r&&(de.isPlainObject(r)||(o=de.isArray(r)))?(o?(o=!1,i=n&&de.isArray(n)?n:[]):i=n&&de.isPlainObject(n)?n:{},a[t]=de.extend(l,i,r)):void 0!==r&&(a[t]=r));return a},de.extend({expando:"jQuery"+(he+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===de.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=de.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==ue.call(e))&&(!(t=ne(e))||(n=le.call(t,"constructor")&&t.constructor,"function"==typeof n&&ce.call(n)===fe))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?se[ue.call(e)]||"object":typeof e},globalEval:function(e){n(e)},camelCase:function(e){return e.replace(me,"ms-").replace(ve,ye)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var n,o=0;if(r(e))for(n=e.length;o<n&&t.call(e[o],o,e[o])!==!1;o++);else for(o in e)if(t.call(e[o],o,e[o])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(ge,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(r(Object(e))?de.merge(n,"string"==typeof e?[e]:e):ie.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:ae.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,o=e.length;r<n;r++)e[o++]=t[r];return e.length=o,e},grep:function(e,t,n){for(var r,o=[],i=0,a=e.length,s=!n;i<a;i++)r=!t(e[i],i),r!==s&&o.push(e[i]);return o},map:function(e,t,n){var o,i,a=0,s=[];if(r(e))for(o=e.length;a<o;a++)i=t(e[a],a,n),null!=i&&s.push(i);else for(a in e)i=t(e[a],a,n),null!=i&&s.push(i);return oe.apply([],s)},guid:1,proxy:function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),de.isFunction(e))return r=re.call(arguments,2),o=function(){return e.apply(t||this,r.concat(re.call(arguments)))},o.guid=e.guid=e.guid||de.guid++,o},now:Date.now,support:pe}),"function"==typeof Symbol&&(de.fn[Symbol.iterator]=ee[Symbol.iterator]),de.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){se["[object "+t+"]"]=t.toLowerCase()});var be=function(e){function t(e,t,n,r){var o,i,a,s,u,l,c,p=t&&t.ownerDocument,d=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==d&&9!==d&&11!==d)return n;if(!r&&((t?t.ownerDocument||t:_)!==L&&O(t),t=t||L,F)){if(11!==d&&(u=ve.exec(e)))if(o=u[1]){if(9===d){if(!(a=t.getElementById(o)))return n;if(a.id===o)return n.push(a),n}else if(p&&(a=p.getElementById(o))&&M(t,a)&&a.id===o)return n.push(a),n}else{if(u[2])return J.apply(n,t.getElementsByTagName(e)),n;if((o=u[3])&&C.getElementsByClassName&&t.getElementsByClassName)return J.apply(n,t.getElementsByClassName(o)),n}if(C.qsa&&!X[e+" "]&&(!P||!P.test(e))){if(1!==d)p=t,c=e;else if("object"!==t.nodeName.toLowerCase()){for((s=t.getAttribute("id"))?s=s.replace(we,Ce):t.setAttribute("id",s=$),l=E(e),i=l.length;i--;)l[i]="#"+s+" "+h(l[i]);c=l.join(","),p=ye.test(e)&&f(t.parentNode)||t}if(c)try{return J.apply(n,p.querySelectorAll(c)),n}catch(e){}finally{s===$&&t.removeAttribute("id")}}}return S(e.replace(se,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>T.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[$]=!0,e}function o(e){var t=L.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split("|"),r=n.length;r--;)T.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function l(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ke(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var o,i=e([],n.length,t),a=i.length;a--;)n[o=i[a]]&&(n[o]=!(r[o]=n[o]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function h(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function d(e,t,n){var r=t.dir,o=t.next,i=o||r,a=n&&"parentNode"===i,s=B++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,o);return!1}:function(t,n,u){var l,c,f,p=[W,s];if(u){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(f=t[$]||(t[$]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),o&&o===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[i])&&l[0]===W&&l[1]===s)return p[2]=l[2];if(c[i]=p,p[2]=e(t,n,u))return!0}return!1}}function g(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var o=0,i=n.length;o<i;o++)t(e,n[o],r);return r}function v(e,t,n,r,o){for(var i,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(i=e[s])&&(n&&!n(i,r,o)||(a.push(i),l&&t.push(s)));return a}function y(e,t,n,o,i,a){return o&&!o[$]&&(o=y(o)),i&&!i[$]&&(i=y(i,a)),r(function(r,a,s,u){var l,c,f,p=[],h=[],d=a.length,g=r||m(t||"*",s.nodeType?[s]:s,[]),y=!e||!r&&t?g:v(g,p,e,s,u),b=n?i||(r?e:d||o)?[]:a:y;if(n&&n(y,b,s,u),o)for(l=v(b,h),o(l,[],s,u),c=l.length;c--;)(f=l[c])&&(b[h[c]]=!(y[h[c]]=f));if(r){if(i||e){if(i){for(l=[],c=b.length;c--;)(f=b[c])&&l.push(y[c]=f);i(null,b=[],l,u)}for(c=b.length;c--;)(f=b[c])&&(l=i?ee(r,f):p[c])>-1&&(r[l]=!(a[l]=f))}}else b=v(b===a?b.splice(d,b.length):b),i?i(null,a,b,u):J.apply(a,b)})}function b(e){for(var t,n,r,o=e.length,i=T.relative[e[0].type],a=i||T.relative[" "],s=i?1:0,u=d(function(e){return e===t},a,!0),l=d(function(e){return ee(t,e)>-1},a,!0),c=[function(e,n,r){var o=!i&&(r||n!==A)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,o}];s<o;s++)if(n=T.relative[e[s].type])c=[d(g(c),n)];else{if(n=T.filter[e[s].type].apply(null,e[s].matches),n[$]){for(r=++s;r<o&&!T.relative[e[r].type];r++);return y(s>1&&g(c),s>1&&h(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s<r&&b(e.slice(s,r)),r<o&&b(e=e.slice(r)),r<o&&h(e))}c.push(n)}return g(c)}function x(e,n){var o=n.length>0,i=e.length>0,a=function(r,a,s,u,l){var c,f,p,h=0,d="0",g=r&&[],m=[],y=A,b=r||i&&T.find.TAG("*",l),x=W+=null==y?1:Math.random()||.1,w=b.length;for(l&&(A=a===L||a||l);d!==w&&null!=(c=b[d]);d++){if(i&&c){for(f=0,a||c.ownerDocument===L||(O(c),s=!F);p=e[f++];)if(p(c,a||L,s)){u.push(c);break}l&&(W=x)}o&&((c=!p&&c)&&h--,r&&g.push(c))}if(h+=d,o&&d!==h){for(f=0;p=n[f++];)p(g,m,a,s);if(r){if(h>0)for(;d--;)g[d]||m[d]||(m[d]=Y.call(u));m=v(m)}J.apply(u,m),l&&!r&&m.length>0&&h+n.length>1&&t.uniqueSort(u)}return l&&(W=x,A=y),g};return o?r(a):a}var w,C,T,k,j,E,N,S,A,q,D,O,L,H,F,P,I,R,M,$="sizzle"+1*new Date,_=e.document,W=0,B=0,U=n(),z=n(),X=n(),K=function(e,t){return e===t&&(D=!0),0},V={}.hasOwnProperty,G=[],Y=G.pop,Q=G.push,J=G.push,Z=G.slice,ee=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",oe="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+re+"))|)"+ne+"*\\]",ie=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+oe+")*)|.*)\\)|)",ae=new RegExp(ne+"+","g"),se=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),ue=new RegExp("^"+ne+"*,"+ne+"*"),le=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),ce=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(ie),pe=new RegExp("^"+re+"$"),he={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},de=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,be=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),xe=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},we=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Ce=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Te=function(){O()},ke=d(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{J.apply(G=Z.call(_.childNodes),_.childNodes),G[_.childNodes.length].nodeType}catch(e){J={apply:G.length?function(e,t){Q.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}C=t.support={},j=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},O=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:_;return r!==L&&9===r.nodeType&&r.documentElement?(L=r,H=L.documentElement,F=!j(L),_!==L&&(n=L.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Te,!1):n.attachEvent&&n.attachEvent("onunload",Te)),C.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),C.getElementsByTagName=o(function(e){return e.appendChild(L.createComment("")),!e.getElementsByTagName("*").length}),C.getElementsByClassName=me.test(L.getElementsByClassName),C.getById=o(function(e){return H.appendChild(e).id=$,!L.getElementsByName||!L.getElementsByName($).length}),C.getById?(T.filter.ID=function(e){var t=e.replace(be,xe);return function(e){return e.getAttribute("id")===t}},T.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n=t.getElementById(e);return n?[n]:[]}}):(T.filter.ID=function(e){var t=e.replace(be,xe);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},T.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n,r,o,i=t.getElementById(e);if(i){if(n=i.getAttributeNode("id"),n&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if(n=i.getAttributeNode("id"),n&&n.value===e)return[i]}return[]}}),T.find.TAG=C.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):C.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},T.find.CLASS=C.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&F)return t.getElementsByClassName(e)},I=[],P=[],(C.qsa=me.test(L.querySelectorAll))&&(o(function(e){H.appendChild(e).innerHTML="<a id='"+$+"'></a><select id='"+$+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&P.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||P.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+$+"-]").length||P.push("~="),e.querySelectorAll(":checked").length||P.push(":checked"),e.querySelectorAll("a#"+$+"+*").length||P.push(".#.+[+~]")}),o(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=L.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&P.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&P.push(":enabled",":disabled"),H.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&P.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),P.push(",.*:")})),(C.matchesSelector=me.test(R=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&o(function(e){C.disconnectedMatch=R.call(e,"*"),R.call(e,"[s!='']:x"),I.push("!=",ie)}),P=P.length&&new RegExp(P.join("|")),I=I.length&&new RegExp(I.join("|")),t=me.test(H.compareDocumentPosition),M=t||me.test(H.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},K=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!C.sortDetached&&t.compareDocumentPosition(e)===n?e===L||e.ownerDocument===_&&M(_,e)?-1:t===L||t.ownerDocument===_&&M(_,t)?1:q?ee(q,e)-ee(q,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,s=[e],u=[t];if(!o||!i)return e===L?-1:t===L?1:o?-1:i?1:q?ee(q,e)-ee(q,t):0;if(o===i)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?a(s[r],u[r]):s[r]===_?-1:u[r]===_?1:0},L):L},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==L&&O(e),n=n.replace(ce,"='$1']"),C.matchesSelector&&F&&!X[n+" "]&&(!I||!I.test(n))&&(!P||!P.test(n)))try{var r=R.call(e,n);if(r||C.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,L,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==L&&O(e),M(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==L&&O(e);var n=T.attrHandle[t.toLowerCase()],r=n&&V.call(T.attrHandle,t.toLowerCase())?n(e,t,!F):void 0;return void 0!==r?r:C.attributes||!F?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(we,Ce)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,o=0;if(D=!C.detectDuplicates,q=!C.sortStable&&e.slice(0),e.sort(K),D){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)e.splice(n[r],1)}return q=null,e},k=t.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=k(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=k(t);return n},T=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(be,xe),e[3]=(e[3]||e[4]||e[5]||"").replace(be,xe),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=E(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(be,xe).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(o){var i=t.attr(o,e);return null==i?"!="===n:!n||(i+="","="===n?i===r:"!="===n?i!==r:"^="===n?r&&0===i.indexOf(r):"*="===n?r&&i.indexOf(r)>-1:"$="===n?r&&i.slice(-r.length)===r:"~="===n?(" "+i.replace(ae," ")+" ").indexOf(r)>-1:"|="===n&&(i===r||i.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,h,d,g=i!==a?"nextSibling":"previousSibling",m=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!u&&!s,b=!1;if(m){if(i){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[a?m.firstChild:m.lastChild],a&&y){for(p=m,f=p[$]||(p[$]={}),c=f[p.uniqueID]||(f[p.uniqueID]={}),l=c[e]||[],h=l[0]===W&&l[1],b=h&&l[2],p=h&&m.childNodes[h];p=++h&&p&&p[g]||(b=h=0)||d.pop();)if(1===p.nodeType&&++b&&p===t){c[e]=[W,h,b];break}}else if(y&&(p=t,f=p[$]||(p[$]={}),c=f[p.uniqueID]||(f[p.uniqueID]={}),l=c[e]||[],h=l[0]===W&&l[1],b=h),b===!1)for(;(p=++h&&p&&p[g]||(b=h=0)||d.pop())&&((s?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++b||(y&&(f=p[$]||(p[$]={}),c=f[p.uniqueID]||(f[p.uniqueID]={}),c[e]=[W,b]),p!==t)););return b-=o,b===r||b%r===0&&b/r>=0}}},PSEUDO:function(e,n){var o,i=T.pseudos[e]||T.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return i[$]?i(n):i.length>1?(o=[e,e,"",n],T.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,o=i(e,n),a=o.length;a--;)r=ee(e,o[a]),e[r]=!(t[r]=o[a])}):function(e){return i(e,0,o)}):i}},pseudos:{not:r(function(e){var t=[],n=[],o=N(e.replace(se,"$1"));return o[$]?r(function(e,t,n,r){for(var i,a=o(e,null,r,[]),s=e.length;s--;)(i=a[s])&&(e[s]=!(t[s]=i))}):function(e,r,i){return t[0]=e,o(t,null,i,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){
-return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(be,xe),function(t){return(t.textContent||t.innerText||k(t)).indexOf(e)>-1}}),lang:r(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(be,xe).toLowerCase(),function(t){var n;do if(n=F?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===L.activeElement&&(!L.hasFocus||L.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:l(!1),disabled:l(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!T.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return de.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[n<0?n+t:n]}),even:c(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},T.pseudos.nth=T.pseudos.eq;for(w in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})T.pseudos[w]=s(w);for(w in{submit:!0,reset:!0})T.pseudos[w]=u(w);return p.prototype=T.filters=T.pseudos,T.setFilters=new p,E=t.tokenize=function(e,n){var r,o,i,a,s,u,l,c=z[e+" "];if(c)return n?0:c.slice(0);for(s=e,u=[],l=T.preFilter;s;){r&&!(o=ue.exec(s))||(o&&(s=s.slice(o[0].length)||s),u.push(i=[])),r=!1,(o=le.exec(s))&&(r=o.shift(),i.push({value:r,type:o[0].replace(se," ")}),s=s.slice(r.length));for(a in T.filter)!(o=he[a].exec(s))||l[a]&&!(o=l[a](o))||(r=o.shift(),i.push({value:r,type:a,matches:o}),s=s.slice(r.length));if(!r)break}return n?s.length:s?t.error(e):z(e,u).slice(0)},N=t.compile=function(e,t){var n,r=[],o=[],i=X[e+" "];if(!i){for(t||(t=E(e)),n=t.length;n--;)i=b(t[n]),i[$]?r.push(i):o.push(i);i=X(e,x(o,r)),i.selector=e}return i},S=t.select=function(e,t,n,r){var o,i,a,s,u,l="function"==typeof e&&e,c=!r&&E(e=l.selector||e);if(n=n||[],1===c.length){if(i=c[0]=c[0].slice(0),i.length>2&&"ID"===(a=i[0]).type&&9===t.nodeType&&F&&T.relative[i[1].type]){if(t=(T.find.ID(a.matches[0].replace(be,xe),t)||[])[0],!t)return n;l&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=he.needsContext.test(e)?0:i.length;o--&&(a=i[o],!T.relative[s=a.type]);)if((u=T.find[s])&&(r=u(a.matches[0].replace(be,xe),ye.test(i[0].type)&&f(t.parentNode)||t))){if(i.splice(o,1),e=r.length&&h(i),!e)return J.apply(n,r),n;break}}return(l||N(e,c))(r,t,!F,n,!t||ye.test(e)&&f(t.parentNode)||t),n},C.sortStable=$.split("").sort(K).join("")===$,C.detectDuplicates=!!D,O(),C.sortDetached=o(function(e){return 1&e.compareDocumentPosition(L.createElement("fieldset"))}),o(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||i("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),C.attributes&&o(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||i("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||i(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);de.find=be,de.expr=be.selectors,de.expr[":"]=de.expr.pseudos,de.uniqueSort=de.unique=be.uniqueSort,de.text=be.getText,de.isXMLDoc=be.isXML,de.contains=be.contains,de.escapeSelector=be.escape;var xe=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&de(e).is(n))break;r.push(e)}return r},we=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Ce=de.expr.match.needsContext,Te=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,ke=/^.[^:#\[\.,]*$/;de.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?de.find.matchesSelector(r,e)?[r]:[]:de.find.matches(e,de.grep(t,function(e){return 1===e.nodeType}))},de.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(de(e).filter(function(){for(t=0;t<r;t++)if(de.contains(o[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)de.find(e,o[t],n);return r>1?de.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Ce.test(e)?de(e):e||[],!1).length}});var je,Ee=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Ne=de.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||je,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Ee.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof de?t[0]:t,de.merge(this,de.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Te.test(r[1])&&de.isPlainObject(t))for(r in t)de.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return o=te.getElementById(r[2]),o&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):de.isFunction(e)?void 0!==n.ready?n.ready(e):e(de):de.makeArray(e,this)};Ne.prototype=de.fn,je=de(te);var Se=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};de.fn.extend({has:function(e){var t=de(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(de.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,o=this.length,i=[],a="string"!=typeof e&&de(e);if(!Ce.test(e))for(;r<o;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&de.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?de.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?ae.call(de(e),this[0]):ae.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(de.uniqueSort(de.merge(this.get(),de(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),de.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return xe(e,"parentNode")},parentsUntil:function(e,t,n){return xe(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return xe(e,"nextSibling")},prevAll:function(e){return xe(e,"previousSibling")},nextUntil:function(e,t,n){return xe(e,"nextSibling",n)},prevUntil:function(e,t,n){return xe(e,"previousSibling",n)},siblings:function(e){return we((e.parentNode||{}).firstChild,e)},children:function(e){return we(e.firstChild)},contents:function(e){return e.contentDocument||de.merge([],e.childNodes)}},function(e,t){de.fn[e]=function(n,r){var o=de.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=de.filter(r,o)),this.length>1&&(Ae[e]||de.uniqueSort(o),Se.test(e)&&o.reverse()),this.pushStack(o)}});var qe=/[^\x20\t\r\n\f]+/g;de.Callbacks=function(e){e="string"==typeof e?a(e):de.extend({},e);var t,n,r,o,i=[],s=[],u=-1,l=function(){for(o=e.once,r=t=!0;s.length;u=-1)for(n=s.shift();++u<i.length;)i[u].apply(n[0],n[1])===!1&&e.stopOnFalse&&(u=i.length,n=!1);e.memory||(n=!1),t=!1,o&&(i=n?[]:"")},c={add:function(){return i&&(n&&!t&&(u=i.length-1,s.push(n)),function t(n){de.each(n,function(n,r){de.isFunction(r)?e.unique&&c.has(r)||i.push(r):r&&r.length&&"string"!==de.type(r)&&t(r)})}(arguments),n&&!t&&l()),this},remove:function(){return de.each(arguments,function(e,t){for(var n;(n=de.inArray(t,i,n))>-1;)i.splice(n,1),n<=u&&u--}),this},has:function(e){return e?de.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=s=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=s=[],n||t||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},de.extend({Deferred:function(t){var n=[["notify","progress",de.Callbacks("memory"),de.Callbacks("memory"),2],["resolve","done",de.Callbacks("once memory"),de.Callbacks("once memory"),0,"resolved"],["reject","fail",de.Callbacks("once memory"),de.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return de.Deferred(function(t){de.each(n,function(n,r){var o=de.isFunction(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=o&&o.apply(this,arguments);e&&de.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,r,o){function i(t,n,r,o){return function(){var l=this,c=arguments,f=function(){var e,f;if(!(t<a)){if(e=r.apply(l,c),e===n.promise())throw new TypeError("Thenable self-resolution");f=e&&("object"==typeof e||"function"==typeof e)&&e.then,de.isFunction(f)?o?f.call(e,i(a,n,s,o),i(a,n,u,o)):(a++,f.call(e,i(a,n,s,o),i(a,n,u,o),i(a,n,s,n.notifyWith))):(r!==s&&(l=void 0,c=[e]),(o||n.resolveWith)(l,c))}},p=o?f:function(){try{f()}catch(e){de.Deferred.exceptionHook&&de.Deferred.exceptionHook(e,p.stackTrace),t+1>=a&&(r!==u&&(l=void 0,c=[e]),n.rejectWith(l,c))}};t?p():(de.Deferred.getStackHook&&(p.stackTrace=de.Deferred.getStackHook()),e.setTimeout(p))}}var a=0;return de.Deferred(function(e){n[0][3].add(i(0,e,de.isFunction(o)?o:s,e.notifyWith)),n[1][3].add(i(0,e,de.isFunction(t)?t:s)),n[2][3].add(i(0,e,de.isFunction(r)?r:u))}).promise()},promise:function(e){return null!=e?de.extend(e,o):o}},i={};return de.each(n,function(e,t){var a=t[2],s=t[5];o[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[0][2].lock),a.add(t[3].fire),i[t[0]]=function(){return i[t[0]+"With"](this===i?void 0:this,arguments),this},i[t[0]+"With"]=a.fireWith}),o.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=re.call(arguments),i=de.Deferred(),a=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?re.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&(l(e,i.done(a(n)).resolve,i.reject),"pending"===i.state()||de.isFunction(o[n]&&o[n].then)))return i.then();for(;n--;)l(o[n],a(n),i.reject);return i.promise()}});var De=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;de.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&De.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},de.readyException=function(t){e.setTimeout(function(){throw t})};var Oe=de.Deferred();de.fn.ready=function(e){return Oe.then(e).catch(function(e){de.readyException(e)}),this},de.extend({isReady:!1,readyWait:1,holdReady:function(e){e?de.readyWait++:de.ready(!0)},ready:function(e){(e===!0?--de.readyWait:de.isReady)||(de.isReady=!0,e!==!0&&--de.readyWait>0||Oe.resolveWith(te,[de]))}}),de.ready.then=Oe.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(de.ready):(te.addEventListener("DOMContentLoaded",c),e.addEventListener("load",c));var Le=function(e,t,n,r,o,i,a){var s=0,u=e.length,l=null==n;if("object"===de.type(n)){o=!0;for(s in n)Le(e,t,s,n[s],!0,i,a)}else if(void 0!==r&&(o=!0,de.isFunction(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(de(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return o?e:l?t.call(e):u?t(e[0],n):i},He=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};f.uid=1,f.prototype={cache:function(e){var t=e[this.expando];return t||(t={},He(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,o=this.cache(e);if("string"==typeof t)o[de.camelCase(t)]=n;else for(r in t)o[de.camelCase(r)]=t[r];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][de.camelCase(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){de.isArray(t)?t=t.map(de.camelCase):(t=de.camelCase(t),t=t in r?[t]:t.match(qe)||[]),n=t.length;for(;n--;)delete r[t[n]]}(void 0===t||de.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!de.isEmptyObject(t)}};var Fe=new f,Pe=new f,Ie=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Re=/[A-Z]/g;de.extend({hasData:function(e){return Pe.hasData(e)||Fe.hasData(e)},data:function(e,t,n){return Pe.access(e,t,n)},removeData:function(e,t){Pe.remove(e,t)},_data:function(e,t,n){return Fe.access(e,t,n)},_removeData:function(e,t){Fe.remove(e,t)}}),de.fn.extend({data:function(e,t){var n,r,o,i=this[0],a=i&&i.attributes;if(void 0===e){if(this.length&&(o=Pe.get(i),1===i.nodeType&&!Fe.get(i,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=de.camelCase(r.slice(5)),h(i,r,o[r])));Fe.set(i,"hasDataAttrs",!0)}return o}return"object"==typeof e?this.each(function(){Pe.set(this,e)}):Le(this,function(t){var n;if(i&&void 0===t){if(n=Pe.get(i,e),void 0!==n)return n;if(n=h(i,e),void 0!==n)return n}else this.each(function(){Pe.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Pe.remove(this,e)})}}),de.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||de.isArray(n)?r=Fe.access(e,t,de.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=de.queue(e,t),r=n.length,o=n.shift(),i=de._queueHooks(e,t),a=function(){de.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,a,i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:de.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),de.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?de.queue(this[0],e):void 0===t?this:this.each(function(){var n=de.queue(this,e,t);de._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&de.dequeue(this,e)})},dequeue:function(e){return this.each(function(){de.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,o=de.Deferred(),i=this,a=this.length,s=function(){--r||o.resolveWith(i,[i])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)n=Fe.get(i[a],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(s));return s(),o.promise(t)}});var Me=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,$e=new RegExp("^(?:([+-])=|)("+Me+")([a-z%]*)$","i"),_e=["Top","Right","Bottom","Left"],We=function(e,t){return e=t||e,"none"===e.style.display||""===e.style.display&&de.contains(e.ownerDocument,e)&&"none"===de.css(e,"display")},Be=function(e,t,n,r){var o,i,a={};for(i in t)a[i]=e.style[i],e.style[i]=t[i];o=n.apply(e,r||[]);for(i in t)e.style[i]=a[i];return o},Ue={};de.fn.extend({show:function(){return m(this,!0)},hide:function(){return m(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){We(this)?de(this).show():de(this).hide()})}});var ze=/^(?:checkbox|radio)$/i,Xe=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,Ke=/^$|\/(?:java|ecma)script/i,Ve={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Ve.optgroup=Ve.option,Ve.tbody=Ve.tfoot=Ve.colgroup=Ve.caption=Ve.thead,Ve.th=Ve.td;var Ge=/<|&#?\w+;/;!function(){var e=te.createDocumentFragment(),t=e.appendChild(te.createElement("div")),n=te.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),pe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",pe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Ye=te.documentElement,Qe=/^key/,Je=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ze=/^([^.]*)(?:\.(.+)|)/;de.event={global:{},add:function(e,t,n,r,o){var i,a,s,u,l,c,f,p,h,d,g,m=Fe.get(e);if(m)for(n.handler&&(i=n,n=i.handler,o=i.selector),o&&de.find.matchesSelector(Ye,o),n.guid||(n.guid=de.guid++),(u=m.events)||(u=m.events={}),(a=m.handle)||(a=m.handle=function(t){return"undefined"!=typeof de&&de.event.triggered!==t.type?de.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(qe)||[""],l=t.length;l--;)s=Ze.exec(t[l])||[],h=g=s[1],d=(s[2]||"").split(".").sort(),h&&(f=de.event.special[h]||{},h=(o?f.delegateType:f.bindType)||h,f=de.event.special[h]||{},c=de.extend({type:h,origType:g,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&de.expr.match.needsContext.test(o),namespace:d.join(".")},i),(p=u[h])||(p=u[h]=[],p.delegateCount=0,f.setup&&f.setup.call(e,r,d,a)!==!1||e.addEventListener&&e.addEventListener(h,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),o?p.splice(p.delegateCount++,0,c):p.push(c),de.event.global[h]=!0)},remove:function(e,t,n,r,o){var i,a,s,u,l,c,f,p,h,d,g,m=Fe.hasData(e)&&Fe.get(e);if(m&&(u=m.events)){for(t=(t||"").match(qe)||[""],l=t.length;l--;)if(s=Ze.exec(t[l])||[],h=g=s[1],d=(s[2]||"").split(".").sort(),h){for(f=de.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,p=u[h]||[],s=s[2]&&new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=i=p.length;i--;)c=p[i],!o&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(i,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&f.teardown.call(e,d,m.handle)!==!1||de.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)de.event.remove(e,h+t[l],n,r,!0);de.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,a,s=de.event.fix(e),u=new Array(arguments.length),l=(Fe.get(this,"events")||{})[s.type]||[],c=de.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,s)!==!1){for(a=de.event.handlers.call(this,s,l),t=0;(o=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=o.elem,n=0;(i=o.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!s.rnamespace.test(i.namespace)||(s.handleObj=i,s.data=i.data,r=((de.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),void 0!==r&&(s.result=r)===!1&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,o,i,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||l.disabled!==!0)){for(i=[],a={},n=0;n<u;n++)r=t[n],o=r.selector+" ",void 0===a[o]&&(a[o]=r.needsContext?de(o,this).index(l)>-1:de.find(o,this,null,[l]).length),a[o]&&i.push(r);i.length&&s.push({elem:l,handlers:i})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(de.Event.prototype,e,{enumerable:!0,configurable:!0,get:de.isFunction(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[de.expando]?e:new de.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==C()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===C()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&de.nodeName(this,"input"))return this.click(),!1},_default:function(e){return de.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},de.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},de.Event=function(e,t){return this instanceof de.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?x:w,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&de.extend(this,t),this.timeStamp=e&&e.timeStamp||de.now(),void(this[de.expando]=!0)):new de.Event(e,t)},de.Event.prototype={constructor:de.Event,isDefaultPrevented:w,isPropagationStopped:w,isImmediatePropagationStopped:w,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=x,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=x,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=x,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},de.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Qe.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Je.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},de.event.addProp),de.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){de.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,o=e.relatedTarget,i=e.handleObj;return o&&(o===r||de.contains(r,o))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}}),de.fn.extend({on:function(e,t,n,r){return T(this,e,t,n,r)},one:function(e,t,n,r){return T(this,e,t,n,r,1)},off:function(e,t,n){var r,o;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,de(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(o in e)this.off(o,t,e[o]);return this}return t!==!1&&"function"!=typeof t||(n=t,t=void 0),n===!1&&(n=w),this.each(function(){de.event.remove(this,e,n,t)})}});var et=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/<script|<style|<link/i,nt=/checked\s*(?:[^=]|=\s*.checked.)/i,rt=/^true\/(.*)/,ot=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;de.extend({htmlPrefilter:function(e){return e.replace(et,"<$1></$2>")},clone:function(e,t,n){var r,o,i,a,s=e.cloneNode(!0),u=de.contains(e.ownerDocument,e);if(!(pe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||de.isXMLDoc(e)))for(a=v(s),i=v(e),r=0,o=i.length;r<o;r++)S(i[r],a[r]);if(t)if(n)for(i=i||v(e),a=a||v(s),r=0,o=i.length;r<o;r++)N(i[r],a[r]);else N(e,s);return a=v(s,"script"),a.length>0&&y(a,!u&&v(e,"script")),s},cleanData:function(e){for(var t,n,r,o=de.event.special,i=0;void 0!==(n=e[i]);i++)if(He(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)o[r]?de.event.remove(n,r):de.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[Pe.expando]&&(n[Pe.expando]=void 0)}}}),de.fn.extend({detach:function(e){return q(this,e,!0)},remove:function(e){return q(this,e)},text:function(e){return Le(this,function(e){return void 0===e?de.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=k(this,e);t.appendChild(e)}})},prepend:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=k(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(de.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return de.clone(this,e,t)})},html:function(e){return Le(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!tt.test(e)&&!Ve[(Xe.exec(e)||["",""])[1].toLowerCase()]){e=de.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(de.cleanData(v(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return A(this,arguments,function(t){var n=this.parentNode;de.inArray(this,e)<0&&(de.cleanData(v(this)),n&&n.replaceChild(t,this))},e)}}),de.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){de.fn[e]=function(e){for(var n,r=[],o=de(e),i=o.length-1,a=0;a<=i;a++)n=a===i?this:this.clone(!0),de(o[a])[t](n),ie.apply(r,n.get());return this.pushStack(r)}});var it=/^margin/,at=new RegExp("^("+Me+")(?!px)[a-z%]+$","i"),st=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)};!function(){function t(){if(s){s.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",s.innerHTML="",Ye.appendChild(a);var t=e.getComputedStyle(s);n="1%"!==t.top,i="2px"===t.marginLeft,r="4px"===t.width,s.style.marginRight="50%",o="4px"===t.marginRight,Ye.removeChild(a),s=null}}var n,r,o,i,a=te.createElement("div"),s=te.createElement("div");s.style&&(s.style.backgroundClip="content-box",s.cloneNode(!0).style.backgroundClip="",pe.clearCloneStyle="content-box"===s.style.backgroundClip,a.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",a.appendChild(s),de.extend(pe,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return t(),r},pixelMarginRight:function(){return t(),o},reliableMarginLeft:function(){return t(),i}}))}();var ut=/^(none|table(?!-c[ea]).+)/,lt={position:"absolute",visibility:"hidden",display:"block"},ct={letterSpacing:"0",fontWeight:"400"},ft=["Webkit","Moz","ms"],pt=te.createElement("div").style;de.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=D(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,i,a,s=de.camelCase(t),u=e.style;return t=de.cssProps[s]||(de.cssProps[s]=L(s)||s),a=de.cssHooks[t]||de.cssHooks[s],void 0===n?a&&"get"in a&&void 0!==(o=a.get(e,!1,r))?o:u[t]:(i=typeof n,"string"===i&&(o=$e.exec(n))&&o[1]&&(n=d(e,t,o),i="number"),null!=n&&n===n&&("number"===i&&(n+=o&&o[3]||(de.cssNumber[s]?"":"px")),pe.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u[t]=n)),void 0)}},css:function(e,t,n,r){var o,i,a,s=de.camelCase(t);return t=de.cssProps[s]||(de.cssProps[s]=L(s)||s),a=de.cssHooks[t]||de.cssHooks[s],a&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=D(e,t,r)),"normal"===o&&t in ct&&(o=ct[t]),""===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),de.each(["height","width"],function(e,t){de.cssHooks[t]={get:function(e,n,r){if(n)return!ut.test(de.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?P(e,t,r):Be(e,lt,function(){return P(e,t,r)})},set:function(e,n,r){var o,i=r&&st(e),a=r&&F(e,t,r,"border-box"===de.css(e,"boxSizing",!1,i),i);return a&&(o=$e.exec(n))&&"px"!==(o[3]||"px")&&(e.style[t]=n,n=de.css(e,t)),H(e,n,a)}}}),de.cssHooks.marginLeft=O(pe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(D(e,"marginLeft"))||e.getBoundingClientRect().left-Be(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),de.each({margin:"",padding:"",border:"Width"},function(e,t){de.cssHooks[e+t]={expand:function(n){for(var r=0,o={},i="string"==typeof n?n.split(" "):[n];r<4;r++)o[e+_e[r]+t]=i[r]||i[r-2]||i[0];return o}},it.test(e)||(de.cssHooks[e+t].set=H)}),de.fn.extend({css:function(e,t){return Le(this,function(e,t,n){var r,o,i={},a=0;if(de.isArray(t)){for(r=st(e),o=t.length;a<o;a++)i[t[a]]=de.css(e,t[a],!1,r);return i}return void 0!==n?de.style(e,t,n):de.css(e,t)},e,t,arguments.length>1)}}),de.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||de.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(de.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.options.duration?this.pos=t=de.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=de.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){de.fx.step[e.prop]?de.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[de.cssProps[e.prop]]&&!de.cssHooks[e.prop]?e.elem[e.prop]=e.now:de.style(e.elem,e.prop,e.now+e.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},de.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},de.fx=I.prototype.init,de.fx.step={};var ht,dt,gt=/^(?:toggle|show|hide)$/,mt=/queueHooks$/;de.Animation=de.extend(U,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,$e.exec(t),n),n}]},tweener:function(e,t){de.isFunction(e)?(t=e,e=["*"]):e=e.match(qe);for(var n,r=0,o=e.length;r<o;r++)n=e[r],U.tweeners[n]=U.tweeners[n]||[],U.tweeners[n].unshift(t)},prefilters:[W],prefilter:function(e,t){t?U.prefilters.unshift(e):U.prefilters.push(e)}}),de.speed=function(e,t,n){var r=e&&"object"==typeof e?de.extend({},e):{complete:n||!n&&t||de.isFunction(e)&&e,duration:e,easing:n&&t||t&&!de.isFunction(t)&&t};return de.fx.off||te.hidden?r.duration=0:"number"!=typeof r.duration&&(r.duration in de.fx.speeds?r.duration=de.fx.speeds[r.duration]:r.duration=de.fx.speeds._default),null!=r.queue&&r.queue!==!0||(r.queue="fx"),r.old=r.complete,r.complete=function(){de.isFunction(r.old)&&r.old.call(this),r.queue&&de.dequeue(this,r.queue)},r},de.fn.extend({fadeTo:function(e,t,n,r){return this.filter(We).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){
-var o=de.isEmptyObject(e),i=de.speed(t,n,r),a=function(){var t=U(this,de.extend({},e),i);(o||Fe.get(this,"finish"))&&t.stop(!0)};return a.finish=a,o||i.queue===!1?this.each(a):this.queue(i.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,o=null!=e&&e+"queueHooks",i=de.timers,a=Fe.get(this);if(o)a[o]&&a[o].stop&&r(a[o]);else for(o in a)a[o]&&a[o].stop&&mt.test(o)&&r(a[o]);for(o=i.length;o--;)i[o].elem!==this||null!=e&&i[o].queue!==e||(i[o].anim.stop(n),t=!1,i.splice(o,1));!t&&n||de.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=Fe.get(this),r=n[e+"queue"],o=n[e+"queueHooks"],i=de.timers,a=r?r.length:0;for(n.finish=!0,de.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),de.each(["toggle","show","hide"],function(e,t){var n=de.fn[t];de.fn[t]=function(e,r,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate($(t,!0),e,r,o)}}),de.each({slideDown:$("show"),slideUp:$("hide"),slideToggle:$("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){de.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),de.timers=[],de.fx.tick=function(){var e,t=0,n=de.timers;for(ht=de.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);n.length||de.fx.stop(),ht=void 0},de.fx.timer=function(e){de.timers.push(e),e()?de.fx.start():de.timers.pop()},de.fx.interval=13,de.fx.start=function(){dt||(dt=e.requestAnimationFrame?e.requestAnimationFrame(R):e.setInterval(de.fx.tick,de.fx.interval))},de.fx.stop=function(){e.cancelAnimationFrame?e.cancelAnimationFrame(dt):e.clearInterval(dt),dt=null},de.fx.speeds={slow:600,fast:200,_default:400},de.fn.delay=function(t,n){return t=de.fx?de.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var o=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(o)}})},function(){var e=te.createElement("input"),t=te.createElement("select"),n=t.appendChild(te.createElement("option"));e.type="checkbox",pe.checkOn=""!==e.value,pe.optSelected=n.selected,e=te.createElement("input"),e.value="t",e.type="radio",pe.radioValue="t"===e.value}();var vt,yt=de.expr.attrHandle;de.fn.extend({attr:function(e,t){return Le(this,de.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){de.removeAttr(this,e)})}}),de.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return"undefined"==typeof e.getAttribute?de.prop(e,t,n):(1===i&&de.isXMLDoc(e)||(o=de.attrHooks[t.toLowerCase()]||(de.expr.match.bool.test(t)?vt:void 0)),void 0!==n?null===n?void de.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:(r=de.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&de.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(qe);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),vt={set:function(e,t,n){return t===!1?de.removeAttr(e,n):e.setAttribute(n,n),n}},de.each(de.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||de.find.attr;yt[t]=function(e,t,r){var o,i,a=t.toLowerCase();return r||(i=yt[a],yt[a]=o,o=null!=n(e,t,r)?a:null,yt[a]=i),o}});var bt=/^(?:input|select|textarea|button)$/i,xt=/^(?:a|area)$/i;de.fn.extend({prop:function(e,t){return Le(this,de.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[de.propFix[e]||e]})}}),de.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&de.isXMLDoc(e)||(t=de.propFix[t]||t,o=de.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=de.find.attr(e,"tabindex");return t?parseInt(t,10):bt.test(e.nodeName)||xt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),pe.optSelected||(de.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),de.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){de.propFix[this.toLowerCase()]=this}),de.fn.extend({addClass:function(e){var t,n,r,o,i,a,s,u=0;if(de.isFunction(e))return this.each(function(t){de(this).addClass(e.call(this,t,X(this)))});if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(a=0;i=t[a++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");s=z(r),o!==s&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,o,i,a,s,u=0;if(de.isFunction(e))return this.each(function(t){de(this).removeClass(e.call(this,t,X(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(a=0;i=t[a++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");s=z(r),o!==s&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):de.isFunction(e)?this.each(function(n){de(this).toggleClass(e.call(this,n,X(this),t),t)}):this.each(function(){var t,r,o,i;if("string"===n)for(r=0,o=de(this),i=e.match(qe)||[];t=i[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||(t=X(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(X(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;de.fn.extend({val:function(e){var t,n,r,o=this[0];{if(arguments.length)return r=de.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=r?e.call(this,n,de(this).val()):e,null==o?o="":"number"==typeof o?o+="":de.isArray(o)&&(o=de.map(o,function(e){return null==e?"":e+""})),t=de.valHooks[this.type]||de.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return t=de.valHooks[o.type]||de.valHooks[o.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(wt,""):null==n?"":n)}}}),de.extend({valHooks:{option:{get:function(e){var t=de.find.attr(e,"value");return null!=t?t:z(de.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?i+1:o.length;for(r=i<0?u:a?i:0;r<u;r++)if(n=o[r],(n.selected||r===i)&&!n.disabled&&(!n.parentNode.disabled||!de.nodeName(n.parentNode,"optgroup"))){if(t=de(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,o=e.options,i=de.makeArray(t),a=o.length;a--;)r=o[a],(r.selected=de.inArray(de.valHooks.option.get(r),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),de.each(["radio","checkbox"],function(){de.valHooks[this]={set:function(e,t){if(de.isArray(t))return e.checked=de.inArray(de(e).val(),t)>-1}},pe.checkOn||(de.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Ct=/^(?:focusinfocus|focusoutblur)$/;de.extend(de.event,{trigger:function(t,n,r,o){var i,a,s,u,l,c,f,p=[r||te],h=le.call(t,"type")?t.type:t,d=le.call(t,"namespace")?t.namespace.split("."):[];if(a=s=r=r||te,3!==r.nodeType&&8!==r.nodeType&&!Ct.test(h+de.event.triggered)&&(h.indexOf(".")>-1&&(d=h.split("."),h=d.shift(),d.sort()),l=h.indexOf(":")<0&&"on"+h,t=t[de.expando]?t:new de.Event(h,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=d.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:de.makeArray(n,[t]),f=de.event.special[h]||{},o||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!o&&!f.noBubble&&!de.isWindow(r)){for(u=f.delegateType||h,Ct.test(u+h)||(a=a.parentNode);a;a=a.parentNode)p.push(a),s=a;s===(r.ownerDocument||te)&&p.push(s.defaultView||s.parentWindow||e)}for(i=0;(a=p[i++])&&!t.isPropagationStopped();)t.type=i>1?u:f.bindType||h,c=(Fe.get(a,"events")||{})[t.type]&&Fe.get(a,"handle"),c&&c.apply(a,n),c=l&&a[l],c&&c.apply&&He(a)&&(t.result=c.apply(a,n),t.result===!1&&t.preventDefault());return t.type=h,o||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!He(r)||l&&de.isFunction(r[h])&&!de.isWindow(r)&&(s=r[l],s&&(r[l]=null),de.event.triggered=h,r[h](),de.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=de.extend(new de.Event,n,{type:e,isSimulated:!0});de.event.trigger(r,null,t)}}),de.fn.extend({trigger:function(e,t){return this.each(function(){de.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return de.event.trigger(e,t,n,!0)}}),de.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){de.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),de.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||de.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){de.event.simulate(t,e.target,de.event.fix(e))};de.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=Fe.access(r,t);o||r.addEventListener(e,n,!0),Fe.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=Fe.access(r,t)-1;o?Fe.access(r,t,o):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var Tt=e.location,kt=de.now(),jt=/\?/;de.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||de.error("Invalid XML: "+t),n};var Et=/\[\]$/,Nt=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;de.param=function(e,t){var n,r=[],o=function(e,t){var n=de.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(de.isArray(e)||e.jquery&&!de.isPlainObject(e))de.each(e,function(){o(this.name,this.value)});else for(n in e)K(n,e[n],t,o);return r.join("&")},de.fn.extend({serialize:function(){return de.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=de.prop(this,"elements");return e?de.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!de(this).is(":disabled")&&At.test(this.nodeName)&&!St.test(e)&&(this.checked||!ze.test(e))}).map(function(e,t){var n=de(this).val();return null==n?null:de.isArray(n)?de.map(n,function(e){return{name:t.name,value:e.replace(Nt,"\r\n")}}):{name:t.name,value:n.replace(Nt,"\r\n")}}).get()}});var qt=/%20/g,Dt=/#.*$/,Ot=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ht=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ft=/^(?:GET|HEAD)$/,Pt=/^\/\//,It={},Rt={},Mt="*/".concat("*"),$t=te.createElement("a");$t.href=Tt.href,de.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:Ht.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Mt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":de.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Y(Y(e,de.ajaxSettings),t):Y(de.ajaxSettings,e)},ajaxPrefilter:V(It),ajaxTransport:V(Rt),ajax:function(t,n){function r(t,n,r,s){var l,p,h,x,w,C=n;c||(c=!0,u&&e.clearTimeout(u),o=void 0,a=s||"",T.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(x=Q(d,T,r)),x=J(d,x,T,l),l?(d.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(de.lastModified[i]=w),w=T.getResponseHeader("etag"),w&&(de.etag[i]=w)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=x.state,p=x.data,h=x.error,l=!h)):(h=C,!t&&C||(C="error",t<0&&(t=0))),T.status=t,T.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,T]):v.rejectWith(g,[T,C,h]),T.statusCode(b),b=void 0,f&&m.trigger(l?"ajaxSuccess":"ajaxError",[T,d,l?p:h]),y.fireWith(g,[T,C]),f&&(m.trigger("ajaxComplete",[T,d]),--de.active||de.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var o,i,a,s,u,l,c,f,p,h,d=de.ajaxSetup({},n),g=d.context||d,m=d.context&&(g.nodeType||g.jquery)?de(g):de.event,v=de.Deferred(),y=de.Callbacks("once memory"),b=d.statusCode||{},x={},w={},C="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s)for(s={};t=Lt.exec(a);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,x[e]=t),this},overrideMimeType:function(e){return null==c&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)T.always(e[T.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||C;return o&&o.abort(t),r(0,t),this}};if(v.promise(T),d.url=((t||d.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(qe)||[""],null==d.crossDomain){l=te.createElement("a");try{l.href=d.url,l.href=l.href,d.crossDomain=$t.protocol+"//"+$t.host!=l.protocol+"//"+l.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=de.param(d.data,d.traditional)),G(It,d,n,T),c)return T;f=de.event&&d.global,f&&0===de.active++&&de.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Ft.test(d.type),i=d.url.replace(Dt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(qt,"+")):(h=d.url.slice(i.length),d.data&&(i+=(jt.test(i)?"&":"?")+d.data,delete d.data),d.cache===!1&&(i=i.replace(Ot,"$1"),h=(jt.test(i)?"&":"?")+"_="+kt++ +h),d.url=i+h),d.ifModified&&(de.lastModified[i]&&T.setRequestHeader("If-Modified-Since",de.lastModified[i]),de.etag[i]&&T.setRequestHeader("If-None-Match",de.etag[i])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&T.setRequestHeader("Content-Type",d.contentType),T.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Mt+"; q=0.01":""):d.accepts["*"]);for(p in d.headers)T.setRequestHeader(p,d.headers[p]);if(d.beforeSend&&(d.beforeSend.call(g,T,d)===!1||c))return T.abort();if(C="abort",y.add(d.complete),T.done(d.success),T.fail(d.error),o=G(Rt,d,n,T)){if(T.readyState=1,f&&m.trigger("ajaxSend",[T,d]),c)return T;d.async&&d.timeout>0&&(u=e.setTimeout(function(){T.abort("timeout")},d.timeout));try{c=!1,o.send(x,r)}catch(e){if(c)throw e;r(-1,e)}}else r(-1,"No Transport");return T},getJSON:function(e,t,n){return de.get(e,t,n,"json")},getScript:function(e,t){return de.get(e,void 0,t,"script")}}),de.each(["get","post"],function(e,t){de[t]=function(e,n,r,o){return de.isFunction(n)&&(o=o||r,r=n,n=void 0),de.ajax(de.extend({url:e,type:t,dataType:o,data:n,success:r},de.isPlainObject(e)&&e))}}),de._evalUrl=function(e){return de.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},de.fn.extend({wrapAll:function(e){var t;return this[0]&&(de.isFunction(e)&&(e=e.call(this[0])),t=de(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return de.isFunction(e)?this.each(function(t){de(this).wrapInner(e.call(this,t))}):this.each(function(){var t=de(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=de.isFunction(e);return this.each(function(n){de(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){de(this).replaceWith(this.childNodes)}),this}}),de.expr.pseudos.hidden=function(e){return!de.expr.pseudos.visible(e)},de.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},de.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},Wt=de.ajaxSettings.xhr();pe.cors=!!Wt&&"withCredentials"in Wt,pe.ajax=Wt=!!Wt,de.ajaxTransport(function(t){var n,r;if(pe.cors||Wt&&!t.crossDomain)return{send:function(o,i){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(a in o)s.setRequestHeader(a,o[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?i(0,"error"):i(s.status,s.statusText):i(_t[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),de.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),de.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return de.globalEval(e),e}}}),de.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),de.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,o){t=de("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),te.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Bt=[],Ut=/(=)\?(?=&|$)|\?\?/;de.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Bt.pop()||de.expando+"_"+kt++;return this[e]=!0,e}}),de.ajaxPrefilter("json jsonp",function(t,n,r){var o,i,a,s=t.jsonp!==!1&&(Ut.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return o=t.jsonpCallback=de.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Ut,"$1"+o):t.jsonp!==!1&&(t.url+=(jt.test(t.url)?"&":"?")+t.jsonp+"="+o),t.converters["script json"]=function(){return a||de.error(o+" was not called"),a[0]},t.dataTypes[0]="json",i=e[o],e[o]=function(){a=arguments},r.always(function(){void 0===i?de(e).removeProp(o):e[o]=i,t[o]&&(t.jsonpCallback=n.jsonpCallback,Bt.push(o)),a&&de.isFunction(i)&&i(a[0]),a=i=void 0}),"script"}),pe.createHTMLDocument=function(){var e=te.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),de.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var r,o,i;return t||(pe.createHTMLDocument?(t=te.implementation.createHTMLDocument(""),r=t.createElement("base"),r.href=te.location.href,t.head.appendChild(r)):t=te),o=Te.exec(e),i=!n&&[],o?[t.createElement(o[1])]:(o=b([e],t,i),i&&i.length&&de(i).remove(),de.merge([],o.childNodes))},de.fn.load=function(e,t,n){var r,o,i,a=this,s=e.indexOf(" ");return s>-1&&(r=z(e.slice(s)),e=e.slice(0,s)),de.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(o="POST"),a.length>0&&de.ajax({url:e,type:o||"GET",dataType:"html",data:t}).done(function(e){i=arguments,a.html(r?de("<div>").append(de.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},de.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){de.fn[t]=function(e){return this.on(t,e)}}),de.expr.pseudos.animated=function(e){return de.grep(de.timers,function(t){return e===t.elem}).length},de.offset={setOffset:function(e,t,n){var r,o,i,a,s,u,l,c=de.css(e,"position"),f=de(e),p={};"static"===c&&(e.style.position="relative"),s=f.offset(),i=de.css(e,"top"),u=de.css(e,"left"),l=("absolute"===c||"fixed"===c)&&(i+u).indexOf("auto")>-1,l?(r=f.position(),a=r.top,o=r.left):(a=parseFloat(i)||0,o=parseFloat(u)||0),de.isFunction(t)&&(t=t.call(e,n,de.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+o),"using"in t?t.using.call(e,p):f.css(p)}},de.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){de.offset.setOffset(this,e,t)});var t,n,r,o,i=this[0];if(i)return i.getClientRects().length?(r=i.getBoundingClientRect(),r.width||r.height?(o=i.ownerDocument,n=Z(o),t=o.documentElement,{top:r.top+n.pageYOffset-t.clientTop,left:r.left+n.pageXOffset-t.clientLeft}):r):{top:0,left:0}},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===de.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),de.nodeName(e[0],"html")||(r=e.offset()),r={top:r.top+de.css(e[0],"borderTopWidth",!0),left:r.left+de.css(e[0],"borderLeftWidth",!0)}),{top:t.top-r.top-de.css(n,"marginTop",!0),left:t.left-r.left-de.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===de.css(e,"position");)e=e.offsetParent;return e||Ye})}}),de.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;de.fn[e]=function(r){return Le(this,function(e,r,o){var i=Z(e);return void 0===o?i?i[t]:e[r]:void(i?i.scrollTo(n?i.pageXOffset:o,n?o:i.pageYOffset):e[r]=o)},e,r,arguments.length)}}),de.each(["top","left"],function(e,t){de.cssHooks[t]=O(pe.pixelPosition,function(e,n){if(n)return n=D(e,t),at.test(n)?de(e).position()[t]+"px":n})}),de.each({Height:"height",Width:"width"},function(e,t){de.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){de.fn[r]=function(o,i){var a=arguments.length&&(n||"boolean"!=typeof o),s=n||(o===!0||i===!0?"margin":"border");return Le(this,function(t,n,o){var i;return de.isWindow(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===o?de.css(t,n,s):de.style(t,n,o,s)},t,a?o:void 0,a)}})}),de.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),de.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return de});var zt=e.jQuery,Xt=e.$;return de.noConflict=function(t){return e.$===de&&(e.$=Xt),t&&e.jQuery===de&&(e.jQuery=zt),de},t||(e.jQuery=e.$=de),de})},{}],2:[function(e,t,n){!function(e,n,r){function o(e,t,n){return e.addEventListener?void e.addEventListener(t,n,!1):void e.attachEvent("on"+t,n)}function i(e){if("keypress"==e.type){var t=String.fromCharCode(e.which);return e.shiftKey||(t=t.toLowerCase()),t}return y[e.which]?y[e.which]:b[e.which]?b[e.which]:String.fromCharCode(e.which).toLowerCase()}function a(e,t){return e.sort().join(",")===t.sort().join(",")}function s(e){var t=[];return e.shiftKey&&t.push("shift"),e.altKey&&t.push("alt"),e.ctrlKey&&t.push("ctrl"),e.metaKey&&t.push("meta"),t}function u(e){return e.preventDefault?void e.preventDefault():void(e.returnValue=!1)}function l(e){return e.stopPropagation?void e.stopPropagation():void(e.cancelBubble=!0)}function c(e){return"shift"==e||"ctrl"==e||"alt"==e||"meta"==e}function f(){if(!v){v={};for(var e in y)e>95&&e<112||y.hasOwnProperty(e)&&(v[y[e]]=e)}return v}function p(e,t,n){return n||(n=f()[e]?"keydown":"keypress"),"keypress"==n&&t.length&&(n="keydown"),n}function h(e){return"+"===e?["+"]:(e=e.replace(/\+{2}/g,"+plus"),e.split("+"))}function d(e,t){var n,r,o,i=[];for(n=h(e),o=0;o<n.length;++o)r=n[o],w[r]&&(r=w[r]),t&&"keypress"!=t&&x[r]&&(r=x[r],i.push("shift")),c(r)&&i.push(r);return t=p(r,i,t),{key:r,modifiers:i,action:t}}function g(e,t){return null!==e&&e!==n&&(e===t||g(e.parentNode,t))}function m(e){function t(e){e=e||{};var t,n=!1;for(t in x)e[t]?n=!0:x[t]=0;n||(T=!1)}function r(e,t,n,r,o,i){var s,u,l=[],f=n.type;if(!y._callbacks[e])return[];for("keyup"==f&&c(e)&&(t=[e]),s=0;s<y._callbacks[e].length;++s)if(u=y._callbacks[e][s],(r||!u.seq||x[u.seq]==u.level)&&f==u.action&&("keypress"==f&&!n.metaKey&&!n.ctrlKey||a(t,u.modifiers))){var p=!r&&u.combo==o,h=r&&u.seq==r&&u.level==i;(p||h)&&y._callbacks[e].splice(s,1),l.push(u)}return l}function f(e,t,n,r){y.stopCallback(t,t.target||t.srcElement,n,r)||e(t,n)===!1&&(u(t),l(t))}function p(e){"number"!=typeof e.which&&(e.which=e.keyCode);var t=i(e);if(t)return"keyup"==e.type&&w===t?void(w=!1):void y.handleKey(t,s(e),e)}function h(){clearTimeout(b),b=setTimeout(t,1e3)}function g(e,n,r,o){function a(t){return function(){T=t,++x[e],h()}}function s(n){f(r,n,e),"keyup"!==o&&(w=i(n)),setTimeout(t,10)}x[e]=0;for(var u=0;u<n.length;++u){var l=u+1===n.length,c=l?s:a(o||d(n[u+1]).action);v(n[u],c,o,e,u)}}function v(e,t,n,o,i){y._directMap[e+":"+n]=t,e=e.replace(/\s+/g," ");var a,s=e.split(" ");return s.length>1?void g(e,s,t,n):(a=d(e,n),y._callbacks[a.key]=y._callbacks[a.key]||[],r(a.key,a.modifiers,{type:a.action},o,e,i),void y._callbacks[a.key][o?"unshift":"push"]({callback:t,modifiers:a.modifiers,action:a.action,seq:o,level:i,combo:e}))}var y=this;if(e=e||n,!(y instanceof m))return new m(e);y.target=e,y._callbacks={},y._directMap={};var b,x={},w=!1,C=!1,T=!1;y._handleKey=function(e,n,o){var i,a=r(e,n,o),s={},u=0,l=!1;for(i=0;i<a.length;++i)a[i].seq&&(u=Math.max(u,a[i].level));for(i=0;i<a.length;++i)if(a[i].seq){if(a[i].level!=u)continue;l=!0,s[a[i].seq]=1,f(a[i].callback,o,a[i].combo,a[i].seq)}else l||f(a[i].callback,o,a[i].combo);var p="keypress"==o.type&&C;o.type!=T||c(e)||p||t(s),C=l&&"keydown"==o.type},y._bindMultiple=function(e,t,n){for(var r=0;r<e.length;++r)v(e[r],t,n)},o(e,"keypress",p),o(e,"keydown",p),o(e,"keyup",p)}if(e){for(var v,y={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},b={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},x={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},w={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},C=1;C<20;++C)y[111+C]="f"+C;for(C=0;C<=9;++C)y[C+96]=C;m.prototype.bind=function(e,t,n){var r=this;return e=e instanceof Array?e:[e],r._bindMultiple.call(r,e,t,n),r},m.prototype.unbind=function(e,t){var n=this;return n.bind.call(n,e,function(){},t)},m.prototype.trigger=function(e,t){var n=this;return n._directMap[e+":"+t]&&n._directMap[e+":"+t]({},e),n},m.prototype.reset=function(){var e=this;return e._callbacks={},e._directMap={},e},m.prototype.stopCallback=function(e,t){var n=this;return!((" "+t.className+" ").indexOf(" mousetrap ")>-1)&&(!g(t,n.target)&&("INPUT"==t.tagName||"SELECT"==t.tagName||"TEXTAREA"==t.tagName||t.isContentEditable))},m.prototype.handleKey=function(){var e=this;return e._handleKey.apply(e,arguments)},m.addKeycodes=function(e){for(var t in e)e.hasOwnProperty(t)&&(y[t]=e[t]);v=null},m.init=function(){var e=m(n);for(var t in e)"_"!==t.charAt(0)&&(m[t]=function(t){return function(){return e[t].apply(e,arguments)}}(t))},m.init(),e.Mousetrap=m,"undefined"!=typeof t&&t.exports&&(t.exports=m),"function"==typeof define&&define.amd&&define(function(){return m})}}("undefined"!=typeof window?window:null,"undefined"!=typeof window?document:null)},{}],3:[function(e,t,n){(function(e){!function(r){function o(e){throw new RangeError(L[e])}function i(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function a(e,t){var n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(O,".");var o=e.split("."),a=i(o,t).join(".");return r+a}function s(e){for(var t,n,r=[],o=0,i=e.length;o<i;)t=e.charCodeAt(o++),t>=55296&&t<=56319&&o<i?(n=e.charCodeAt(o++),56320==(64512&n)?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),o--)):r.push(t);return r}function u(e){return i(e,function(e){var t="";return e>65535&&(e-=65536,t+=P(e>>>10&1023|55296),e=56320|1023&e),t+=P(e)}).join("")}function l(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:C}function c(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function f(e,t,n){var r=0;for(e=n?F(e/E):e>>1,e+=F(e/t);e>H*k>>1;r+=C)e=F(e/H);return F(r+(H+1)*e/(e+j))}function p(e){var t,n,r,i,a,s,c,p,h,d,g=[],m=e.length,v=0,y=S,b=N;for(n=e.lastIndexOf(A),n<0&&(n=0),r=0;r<n;++r)e.charCodeAt(r)>=128&&o("not-basic"),g.push(e.charCodeAt(r));for(i=n>0?n+1:0;i<m;){for(a=v,s=1,c=C;i>=m&&o("invalid-input"),p=l(e.charCodeAt(i++)),(p>=C||p>F((w-v)/s))&&o("overflow"),v+=p*s,h=c<=b?T:c>=b+k?k:c-b,!(p<h);c+=C)d=C-h,s>F(w/d)&&o("overflow"),s*=d;t=g.length+1,b=f(v-a,t,0==a),F(v/t)>w-y&&o("overflow"),y+=F(v/t),v%=t,g.splice(v++,0,y)}return u(g)}function h(e){var t,n,r,i,a,u,l,p,h,d,g,m,v,y,b,x=[];for(e=s(e),m=e.length,t=S,n=0,a=N,u=0;u<m;++u)g=e[u],g<128&&x.push(P(g));for(r=i=x.length,i&&x.push(A);r<m;){for(l=w,u=0;u<m;++u)g=e[u],g>=t&&g<l&&(l=g);for(v=r+1,l-t>F((w-n)/v)&&o("overflow"),n+=(l-t)*v,t=l,u=0;u<m;++u)if(g=e[u],g<t&&++n>w&&o("overflow"),g==t){for(p=n,h=C;d=h<=a?T:h>=a+k?k:h-a,!(p<d);h+=C)b=p-d,y=C-d,x.push(P(c(d+b%y,0))),p=F(b/y);x.push(P(c(p,0))),a=f(n,v,r==i),n=0,++r}++n,++t}return x.join("")}function d(e){return a(e,function(e){return q.test(e)?p(e.slice(4).toLowerCase()):e})}function g(e){return a(e,function(e){return D.test(e)?"xn--"+h(e):e})}var m="object"==typeof n&&n&&!n.nodeType&&n,v="object"==typeof t&&t&&!t.nodeType&&t,y="object"==typeof e&&e;y.global!==y&&y.window!==y&&y.self!==y||(r=y);var b,x,w=2147483647,C=36,T=1,k=26,j=38,E=700,N=72,S=128,A="-",q=/^xn--/,D=/[^\x20-\x7E]/,O=/[\x2E\u3002\uFF0E\uFF61]/g,L={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},H=C-T,F=Math.floor,P=String.fromCharCode;if(b={version:"1.4.1",ucs2:{decode:s,encode:u},decode:p,encode:h,toASCII:g,toUnicode:d},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return b});else if(m&&v)if(t.exports==m)v.exports=b;else for(x in b)b.hasOwnProperty(x)&&(m[x]=b[x]);else r.punycode=b}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,n){"use strict";function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.exports=function(e,t,n,i){t=t||"&",n=n||"=";var a={};if("string"!=typeof e||0===e.length)return a;var s=/\+/g;e=e.split(t);var u=1e3;i&&"number"==typeof i.maxKeys&&(u=i.maxKeys);var l=e.length;u>0&&l>u&&(l=u);for(var c=0;c<l;++c){var f,p,h,d,g=e[c].replace(s,"%20"),m=g.indexOf(n);m>=0?(f=g.substr(0,m),p=g.substr(m+1)):(f=g,p=""),h=decodeURIComponent(f),d=decodeURIComponent(p),
-r(a,h)?o(a[h])?a[h].push(d):a[h]=[a[h],d]:a[h]=d}return a};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],5:[function(e,t,n){"use strict";function r(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++)n.push(t(e[r],r));return n}var o=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};t.exports=function(e,t,n,s){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?r(a(e),function(a){var s=encodeURIComponent(o(a))+n;return i(e[a])?r(e[a],function(e){return s+encodeURIComponent(o(e))}).join(t):s+encodeURIComponent(o(e[a]))}).join(t):s?encodeURIComponent(o(s))+n+encodeURIComponent(o(e)):""};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},a=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}},{}],6:[function(e,t,n){"use strict";n.decode=n.parse=e("./decode"),n.encode=n.stringify=e("./encode")},{"./decode":4,"./encode":5}],7:[function(e,t,n){"use strict";function r(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function o(e,t,n){if(e&&l.isObject(e)&&e instanceof r)return e;var o=new r;return o.parse(e,t,n),o}function i(e){return l.isString(e)&&(e=o(e)),e instanceof r?e.format():r.prototype.format.call(e)}function a(e,t){return o(e,!1,!0).resolve(t)}function s(e,t){return e?o(e,!1,!0).resolveObject(t):t}var u=e("punycode"),l=e("./util");n.parse=o,n.resolve=a,n.resolveObject=s,n.format=i,n.Url=r;var c=/^([a-z0-9.+-]+:)/i,f=/:[0-9]*$/,p=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,h=["<",">",'"',"`"," ","\r","\n","\t"],d=["{","}","|","\\","^","`"].concat(h),g=["'"].concat(d),m=["%","/","?",";","#"].concat(g),v=["/","?","#"],y=255,b=/^[+a-z0-9A-Z_-]{0,63}$/,x=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,w={javascript:!0,"javascript:":!0},C={javascript:!0,"javascript:":!0},T={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},k=e("querystring");r.prototype.parse=function(e,t,n){if(!l.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var r=e.indexOf("?"),o=r!==-1&&r<e.indexOf("#")?"?":"#",i=e.split(o),a=/\\/g;i[0]=i[0].replace(a,"/"),e=i.join(o);var s=e;if(s=s.trim(),!n&&1===e.split("#").length){var f=p.exec(s);if(f)return this.path=s,this.href=s,this.pathname=f[1],f[2]?(this.search=f[2],t?this.query=k.parse(this.search.substr(1)):this.query=this.search.substr(1)):t&&(this.search="",this.query={}),this}var h=c.exec(s);if(h){h=h[0];var d=h.toLowerCase();this.protocol=d,s=s.substr(h.length)}if(n||h||s.match(/^\/\/[^@\/]+@[^@\/]+/)){var j="//"===s.substr(0,2);!j||h&&C[h]||(s=s.substr(2),this.slashes=!0)}if(!C[h]&&(j||h&&!T[h])){for(var E=-1,N=0;N<v.length;N++){var S=s.indexOf(v[N]);S!==-1&&(E===-1||S<E)&&(E=S)}var A,q;q=E===-1?s.lastIndexOf("@"):s.lastIndexOf("@",E),q!==-1&&(A=s.slice(0,q),s=s.slice(q+1),this.auth=decodeURIComponent(A)),E=-1;for(var N=0;N<m.length;N++){var S=s.indexOf(m[N]);S!==-1&&(E===-1||S<E)&&(E=S)}E===-1&&(E=s.length),this.host=s.slice(0,E),s=s.slice(E),this.parseHost(),this.hostname=this.hostname||"";var D="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!D)for(var O=this.hostname.split(/\./),N=0,L=O.length;N<L;N++){var H=O[N];if(H&&!H.match(b)){for(var F="",P=0,I=H.length;P<I;P++)F+=H.charCodeAt(P)>127?"x":H[P];if(!F.match(b)){var R=O.slice(0,N),M=O.slice(N+1),$=H.match(x);$&&(R.push($[1]),M.unshift($[2])),M.length&&(s="/"+M.join(".")+s),this.hostname=R.join(".");break}}}this.hostname.length>y?this.hostname="":this.hostname=this.hostname.toLowerCase(),D||(this.hostname=u.toASCII(this.hostname));var _=this.port?":"+this.port:"",W=this.hostname||"";this.host=W+_,this.href+=this.host,D&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==s[0]&&(s="/"+s))}if(!w[d])for(var N=0,L=g.length;N<L;N++){var B=g[N];if(s.indexOf(B)!==-1){var U=encodeURIComponent(B);U===B&&(U=escape(B)),s=s.split(B).join(U)}}var z=s.indexOf("#");z!==-1&&(this.hash=s.substr(z),s=s.slice(0,z));var X=s.indexOf("?");if(X!==-1?(this.search=s.substr(X),this.query=s.substr(X+1),t&&(this.query=k.parse(this.query)),s=s.slice(0,X)):t&&(this.search="",this.query={}),s&&(this.pathname=s),T[d]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var _=this.pathname||"",K=this.search||"";this.path=_+K}return this.href=this.format(),this},r.prototype.format=function(){var e=this.auth||"";e&&(e=encodeURIComponent(e),e=e.replace(/%3A/i,":"),e+="@");var t=this.protocol||"",n=this.pathname||"",r=this.hash||"",o=!1,i="";this.host?o=e+this.host:this.hostname&&(o=e+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&l.isObject(this.query)&&Object.keys(this.query).length&&(i=k.stringify(this.query));var a=this.search||i&&"?"+i||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||T[t])&&o!==!1?(o="//"+(o||""),n&&"/"!==n.charAt(0)&&(n="/"+n)):o||(o=""),r&&"#"!==r.charAt(0)&&(r="#"+r),a&&"?"!==a.charAt(0)&&(a="?"+a),n=n.replace(/[?#]/g,function(e){return encodeURIComponent(e)}),a=a.replace("#","%23"),t+o+n+a+r},r.prototype.resolve=function(e){return this.resolveObject(o(e,!1,!0)).format()},r.prototype.resolveObject=function(e){if(l.isString(e)){var t=new r;t.parse(e,!1,!0),e=t}for(var n=new r,o=Object.keys(this),i=0;i<o.length;i++){var a=o[i];n[a]=this[a]}if(n.hash=e.hash,""===e.href)return n.href=n.format(),n;if(e.slashes&&!e.protocol){for(var s=Object.keys(e),u=0;u<s.length;u++){var c=s[u];"protocol"!==c&&(n[c]=e[c])}return T[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname="/"),n.href=n.format(),n}if(e.protocol&&e.protocol!==n.protocol){if(!T[e.protocol]){for(var f=Object.keys(e),p=0;p<f.length;p++){var h=f[p];n[h]=e[h]}return n.href=n.format(),n}if(n.protocol=e.protocol,e.host||C[e.protocol])n.pathname=e.pathname;else{for(var d=(e.pathname||"").split("/");d.length&&!(e.host=d.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==d[0]&&d.unshift(""),d.length<2&&d.unshift(""),n.pathname=d.join("/")}if(n.search=e.search,n.query=e.query,n.host=e.host||"",n.auth=e.auth,n.hostname=e.hostname||e.host,n.port=e.port,n.pathname||n.search){var g=n.pathname||"",m=n.search||"";n.path=g+m}return n.slashes=n.slashes||e.slashes,n.href=n.format(),n}var v=n.pathname&&"/"===n.pathname.charAt(0),y=e.host||e.pathname&&"/"===e.pathname.charAt(0),b=y||v||n.host&&e.pathname,x=b,w=n.pathname&&n.pathname.split("/")||[],d=e.pathname&&e.pathname.split("/")||[],k=n.protocol&&!T[n.protocol];if(k&&(n.hostname="",n.port=null,n.host&&(""===w[0]?w[0]=n.host:w.unshift(n.host)),n.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===d[0]?d[0]=e.host:d.unshift(e.host)),e.host=null),b=b&&(""===d[0]||""===w[0])),y)n.host=e.host||""===e.host?e.host:n.host,n.hostname=e.hostname||""===e.hostname?e.hostname:n.hostname,n.search=e.search,n.query=e.query,w=d;else if(d.length)w||(w=[]),w.pop(),w=w.concat(d),n.search=e.search,n.query=e.query;else if(!l.isNullOrUndefined(e.search)){if(k){n.hostname=n.host=w.shift();var j=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");j&&(n.auth=j.shift(),n.host=n.hostname=j.shift())}return n.search=e.search,n.query=e.query,l.isNull(n.pathname)&&l.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!w.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var E=w.slice(-1)[0],N=(n.host||e.host||w.length>1)&&("."===E||".."===E)||""===E,S=0,A=w.length;A>=0;A--)E=w[A],"."===E?w.splice(A,1):".."===E?(w.splice(A,1),S++):S&&(w.splice(A,1),S--);if(!b&&!x)for(;S--;S)w.unshift("..");!b||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),N&&"/"!==w.join("/").substr(-1)&&w.push("");var q=""===w[0]||w[0]&&"/"===w[0].charAt(0);if(k){n.hostname=n.host=q?"":w.length?w.shift():"";var j=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");j&&(n.auth=j.shift(),n.host=n.hostname=j.shift())}return b=b||n.host&&w.length,b&&!q&&w.unshift(""),w.length?n.pathname=w.join("/"):(n.pathname=null,n.path=null),l.isNull(n.pathname)&&l.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},r.prototype.parseHost=function(){var e=this.host,t=f.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},{"./util":8,punycode:3,querystring:6}],8:[function(e,t,n){"use strict";t.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},{}],9:[function(e,t,n){function r(e){var t=a(e.currentTarget).parent().find(".dropdown-menu");t.toggleClass("open"),e.stopPropagation(),e.preventDefault()}function o(e){a(".dropdown-menu").removeClass("open")}function i(){a(document).on("click",".toggle-dropdown",r),a(document).on("click",".dropdown-menu",function(e){e.stopPropagation()}),a(document).on("click",o)}var a=e("jquery");t.exports={init:i}},{jquery:1}],10:[function(e,t,n){function r(){s.init(),i.init(),o.init(),a.init(),u.createButton({index:0,icon:"fa fa-align-justify",onClick:function(e){e.preventDefault(),s.toggle()}})}var o=e("./dropdown"),i=e("./keyboard"),a=e("./navigation"),s=e("./sidebar"),u=e("./toolbar"),l=window.gitbook;l.events.on("start",r),l.keyboard=i,l.navigation=a,l.sidebar=s,l.toolbar=u},{"./dropdown":9,"./keyboard":11,"./navigation":13,"./sidebar":15,"./toolbar":16}],11:[function(e,t,n){function r(e,t){i.bind(e,function(e){return t(),!1})}function o(){r(["right"],function(e){a.goNext()}),r(["left"],function(e){a.goPrev()}),r(["s"],function(e){s.toggle()})}var i=e("mousetrap"),a=e("./navigation"),s=e("./sidebar");t.exports={init:o,bind:r}},{"./navigation":13,"./sidebar":15,mousetrap:2}],12:[function(e,t,n){function r(e){return o.state.$book.addClass("is-loading"),e.always(function(){o.state.$book.removeClass("is-loading")}),e}var o=window.gitbook;t.exports={show:r}},{}],13:[function(e,t,n){function r(){return w(k.isSmallScreen()?".book-body":".body-inner")}function o(e){var t=r(),n=0;i(e)&&(e&&(n=a(e)),t.unbind("scroll"),t.animate({scrollTop:n},800,"swing",function(){t.scroll(l)}),s(null,e))}function i(e){var t=r(),n=t.find(e);return!!n.length}function a(e){var t=r(),n=t.find(".page-inner"),o=t.find(e),i=o.offsetParent(),a=0;for(a=o.position().top;!i.is(n);)o=i,a+=o.position().top,i=o.offsetParent();return Math.floor(a)}function s(e,t){if(e||t||(e=b.first()),t&&(e=b.length>1?b.filter(function(){var e=u(w(this));return e==t}).first():b.first()),!e.is(x)){x=e,b.removeClass("active"),e.addClass("active"),t=u(e);var n=window.location.pathname+window.location.hash,r=window.location.pathname+t;r!=n&&history.replaceState({path:r},null,r)}}function u(e){var t=e.children("a"),n=t.attr("href").split("#")[1];return n&&(n="#"+n),n?n:""}function l(){var e=r(),t=e.scrollTop(),n=e.prop("scrollHeight"),o=e.prop("clientHeight"),i=b.length,l=null;w(b.get().reverse()).each(function(e){var n,r=u(w(this));r&&!l&&(n=a(r),t>=n&&(l=w(this))),e!=i-1||l||(l=w(this))}),l||t||(l=b.first()),t&&n-t==o&&(l=b.last()),s(l)}function c(e,t){var n=C.parse(N),r=C.resolve(window.location.pathname,e),i=C.parse(r),a=i.hash,s=i.pathname!==n.pathname,u=Boolean(i.hostname);if(!E||u)return void(location.href=e);if(!s)return t&&history.pushState({path:r},null,r),o(a);N=r;var l=w.Deferred(function(e){w.ajax({type:"GET",url:r,cache:!0,headers:{"Access-Control-Expose-Headers":"X-Current-Location"},success:function(n,i,s){var u=s.getResponseHeader("X-Current-Location")||r;n=n.replace(/<(\/?)(html|head|body)([^>]*)>/gi,function(e,t,n,r){return"<"+t+"div"+(t?"":' data-element="'+n+'"')+r+">"});var l,c=w(n),f=c.find(".book");if(0===f.length){var h=new Error("Invalid gitbook page, redirecting...");return e.reject(h)}t&&history.pushState({path:u},null,u),c=w(n),l=c.find("[data-element=head]"),f=c.find(".book"),document.title=l.find("title").text();var d=w("head");d.find("link[rel=prev]").remove(),d.find("link[rel=next]").remove(),d.append(l.find("link[rel=prev]")),d.append(l.find("link[rel=next]"));var g=w(".book").attr("class"),m=w(".book-summary").scrollTop();f.toggleClass("with-summary",w(".book").hasClass("with-summary")),w(".book").replaceWith(f),w(".book").attr("class",g),w(".book-summary").scrollTop(m),j.state.$book=w(".book"),p(!a),a&&o(a),e.resolve()}})}).promise();return T.show(l.fail(function(e){console.log(e)}))}function f(){var e,t;e=parseInt(w(".body-inner").css("width"),10),t=parseInt(w(".page-wrapper").css("width"),10),w(".navigation-next").css("margin-right",e-t+"px");var n=r();n.unbind("scroll"),n.scroll(l)}function p(e){var t=w(".book-body"),n=t.find(".body-inner"),o=n.find(".page-wrapper");f(),o.focus();var i=r();e!==!1&&i.scrollTop(0),b=w(".book-summary .summary .chapter").filter(function(){var e=w(this).children("a"),t=null;if(!e.length)return!1;t=e.attr("href").split("#")[0];var n=C.resolve(window.location.pathname,t);return window.location.pathname==n}),b.length>1?i.scroll(l):x=b.first()}function h(e){return 0===e.button}function d(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function g(e){var t=w(this),n=t.attr("target");if(!d(e)&&h(e)&&!n){e.stopPropagation(),e.preventDefault();var r=t.attr("href");r&&c(r,!0)}}function m(){var e=w(".navigation-next").attr("href");e&&c(e,!0)}function v(){var e=w(".navigation-prev").attr("href");e&&c(e,!0)}function y(){w.ajaxSetup({cache:!1}),history.replaceState({path:window.location.href},""),window.onpopstate=function(e){if(null!==e.state)return c(e.state.path,!1)},w(document).on("click",".navigation-prev",g),w(document).on("click",".navigation-next",g),w(document).on("click",".summary [data-path] a",g),w(document).on("click",".page-inner a",g),w(window).resize(f),p(!1)}var b,x,w=e("jquery"),C=e("url"),T=e("./loading"),k=e("./platform"),j=window.gitbook,E="undefined"!=typeof history.pushState,N=location.href;t.exports={init:y,goNext:m,goPrev:v}},{"./loading":12,"./platform":14,jquery:1,url:7}],14:[function(e,t,n){var r=e("jquery");t.exports={isMobile:function(){return r(document).width()<=600},isSmallScreen:function(){return r(document).width()<=1240}}},{jquery:1}],15:[function(e,t,n){function r(e,t){null!=l.state&&o()==e||(null==t&&(t=!0),l.state.$book.toggleClass("without-animation",!t),l.state.$book.toggleClass("with-summary",e),l.storage.set("sidebar",o()))}function o(){return l.state.$book.hasClass("with-summary")}function i(){u.isMobile()||r(l.storage.get("sidebar",!0),!1),s(document).on("click",".book-summary li.chapter a",function(e){u.isMobile()&&r(!1,!1)})}function a(e){var t=s(".book-summary");t.find("li").each(function(){var t=s(this).data("path"),n=null==e||e.indexOf(t)!==-1;s(this).toggle(n),n&&s(this).parents("li").show()})}var s=e("jquery"),u=e("./platform"),l=window.gitbook;t.exports={init:i,isOpen:o,toggle:r,filter:a}},{"./platform":14,jquery:1}],16:[function(e,t,n){function r(){return"btn-"+g++}function o(e,t,n,r){var o=e.children(t).length;n<0&&(n=Math.max(0,o+1+n)),e.append(r),n<o&&e.children(t).eq(n).before(e.children(t).last())}function i(e){e.preventDefault()}function a(e){var t=p("<div>",{class:"dropdown-menu",html:'<div class="dropdown-caret"><span class="caret-outer"></span><span class="caret-inner"></span></div>'});if("string"==typeof e)t.append(e);else{var n=e.map(function(e){return p.isArray(e)?e:[e]});n.forEach(function(e){var n=p("<div>",{class:"buttons"}),r="size-"+e.length;e.forEach(function(e){e=p.extend({text:"",className:"",onClick:i},e||{});var t=p("<button>",{class:"button "+r+" "+e.className,text:e.text});t.click(e.onClick),n.append(t)}),t.append(n)})}return t}function s(e){return e=p.extend({label:"",icon:"",text:"",position:"left",className:"",onClick:i,dropdown:null,index:null,id:r()},e||{}),d.push(e),u(e),e.id}function u(e){var t,n=p(".book-header"),r=n.find("h1"),i="pull-"+e.position,s=p("<a>",{class:"btn",text:e.text?" "+e.text:"","aria-label":e.label,href:"#"});if(s.click(e.onClick),e.icon&&p("<i>",{class:e.icon}).prependTo(s),e.dropdown){var u=p("<div>",{class:"dropdown "+i+" "+e.className});s.addClass("toggle-dropdown"),u.append(s);var l=a(e.dropdown);l.addClass("dropdown-"+("right"==e.position?"left":"right")),u.append(l),t=u}else s.addClass(i),s.addClass(e.className),t=s;t.addClass("js-toolbar-action"),p.isNumeric(e.index)&&e.index>=0?o(n,".btn, .dropdown, h1",e.index,t):t.insertBefore(r)}function l(){p(".js-toolbar-action").remove(),d.forEach(u)}function c(e){d=p.grep(d,function(t){return t.id!=e}),l()}function f(e){d=p.grep(d,function(t){return e.indexOf(t.id)==-1}),l()}var p=e("jquery"),h=window.gitbook,d=[],g=0;h.events.on("page.change",function(){l()}),t.exports={createButton:s,removeButton:c,removeButtons:f}},{jquery:1}]},{},[10]);
diff --git a/developer-guide/index.html b/developer-guide/index.html
deleted file mode 100644
index b77d20c..0000000
--- a/developer-guide/index.html
+++ /dev/null
@@ -1,724 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>Introduction · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="contribution.html" />
-    
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter active" data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="contribution.html">
-            
-                <a href="contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="版本管理.html">
-            
-                <a href="版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="源码构建.html">
-            
-                <a href="源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="框架设计.html">
-            
-                <a href="框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="扩展点加载.html">
-            
-                <a href="扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="SPI参考手册/introduction.html">
-            
-                <a href="SPI参考手册/introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="SPI参考手册/协议扩展.html">
-            
-                <a href="SPI参考手册/协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="SPI参考手册/调用拦截扩展.html">
-            
-                <a href="SPI参考手册/调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="SPI参考手册/引用监听扩展.html">
-            
-                <a href="SPI参考手册/引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="SPI参考手册/暴露监听扩展.html">
-            
-                <a href="SPI参考手册/暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="SPI参考手册/集群扩展.html">
-            
-                <a href="SPI参考手册/集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="SPI参考手册/路由扩展.html">
-            
-                <a href="SPI参考手册/路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="SPI参考手册/负载均衡扩展.html">
-            
-                <a href="SPI参考手册/负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="SPI参考手册/合并结果扩展.html">
-            
-                <a href="SPI参考手册/合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="SPI参考手册/注册中心扩展.html">
-            
-                <a href="SPI参考手册/注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="SPI参考手册/监控中心扩展.html">
-            
-                <a href="SPI参考手册/监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="SPI参考手册/扩展点加载扩展.html">
-            
-                <a href="SPI参考手册/扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="SPI参考手册/动态代理扩展.html">
-            
-                <a href="SPI参考手册/动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="SPI参考手册/编译器扩展.html">
-            
-                <a href="SPI参考手册/编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="SPI参考手册/消息派发扩展.html">
-            
-                <a href="SPI参考手册/消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="SPI参考手册/线程池扩展.html">
-            
-                <a href="SPI参考手册/线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="SPI参考手册/序列化扩展.html">
-            
-                <a href="SPI参考手册/序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="SPI参考手册/网络传输扩展.html">
-            
-                <a href="SPI参考手册/网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="SPI参考手册/信息交换扩展.html">
-            
-                <a href="SPI参考手册/信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="SPI参考手册/组网扩展.html">
-            
-                <a href="SPI参考手册/组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="SPI参考手册/Telnet命令扩展.html">
-            
-                <a href="SPI参考手册/Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="SPI参考手册/状态检查扩展.html">
-            
-                <a href="SPI参考手册/状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="SPI参考手册/容器扩展.html">
-            
-                <a href="SPI参考手册/容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="SPI参考手册/页面扩展.html">
-            
-                <a href="SPI参考手册/页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="SPI参考手册/缓存扩展.html">
-            
-                <a href="SPI参考手册/缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="SPI参考手册/验证扩展.html">
-            
-                <a href="SPI参考手册/验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="SPI参考手册/日志适配扩展.html">
-            
-                <a href="SPI参考手册/日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="技术兼容性测试.html">
-            
-                <a href="技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="公共契约.html">
-            
-                <a href="公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="坏味道.html">
-            
-                <a href="坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="编码约定.html">
-            
-                <a href="编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="检查列表.html">
-            
-                <a href="检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="设计原则.html">
-            
-                <a href="设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >Introduction</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x300A;&#x5F00;&#x53D1;&#x8005;&#x6307;&#x5357;&#x300B;</p>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                
-                <a href="contribution.html" class="navigation navigation-next navigation-unique" aria-label="Next page: 1 contribution">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"1 contribution","level":"1.2","depth":1,"path":"contribution.md","ref":"./contribution.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"README.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/developer-guide/search_index.json b/developer-guide/search_index.json
deleted file mode 100644
index 2147ef0..0000000
--- a/developer-guide/search_index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["introduct","《开发者指南》"],"contribution.html":["0%","02","04","1","20%","2012","27","30","90%","ac","avro","cacti","cglib","contribut","ic","jcr/jsr283","jms&activemq","jmx","jndi","jrobin","json","jsr140&slp","jsr181&cxf(webservice)","jsr311&jsr339(restfulwebservice)","jta/xa分布式事务","ldap","logstash","maven","nagio","protobuf","request反馈修改。","rpc","simpledeploy","simpleschedul","snmp","subvers","thrift","uddi","xml","xsocket","《开发指南》翻译","《用户指南》翻译","任务","优先级","传输扩展","低","修改后通过push","分类","功能","功能单元测试","动态代理扩展","协议扩展","如果是扩展功能,直接新增工程,黑盒依赖dubbo进行扩展。","如果是改bug,或修改框架本身,可以从dubb的github上fork工程。","已认领","序列化扩展","开发完成","待定","性能基准测试","扩展点兼容性测试","拦截扩展","文档","服务安装包仓库","未认领","本地部署代理","朱启恒","注册中心扩展","流程","测试","状态","白文志","监控中心扩展","罗立树","计划完成时间","认领者","调研","资源调度器","进度","闾刚","高"],"版本管理.html":["2","2.4.x不再开发,应用碰到bug让直接升级。(这个称为“夕阳条款”)","2.5.x成为ga版本,只bugfix,推广使用此版本。如何可行,可以推进应用在期望的时间点内升级到ga版本。","2.5.x的新功能基本稳定后,进入2.5.x试用阶段。找足够多的应用试用2.5.x版本。","2个版本并行开发","bugfix版本:低版本,比如2.4.x。是ga版本,线上使用的版本,只会bugfix,升级第三位版本号。","ga版本有bug会火速fix","ga版本,所以用户需要积极跟进升级到ga版本,以fix发现的问题。","ga经过一个试用阶段保持稳定。","不会版本过多,导致开发和维护成本剧增","从2.5.x拉成分支2.6.0,作为新功能开发版本。","优势","但是添加新功能会影响稳定性,dubbo使用如下的版本开发模式来保障两者。","保持ga版本是稳定的!因为:","只会作bugfix","和","在2.5.x够稳定后:","定期升级版本用户带来了不安。这是一个假命题,说明如下:","对产品都很重要。","成为ga版本前有试用阶段","新功能可以高版本中快速响应,并让应用能试用新功能。","新功能版本:高版本,比如2.5.x。加新功能的版本,会给对新功能有需求的应用试用。","新功能的开发","版本管理","用户要配合的职责","由于开发只会bugfix","相对出问题才升级到ga版本(可以跨了多个版本)定期升级平摊风险(类似小步快跑)。经历过周期长的大项目的同学会有这样的经历,三方库版本长时间不升级,结果出了问题不得不升级到新版本(跨了多个版本)风险巨大。","稳定性的提高"],"源码构建.html":["${home}/.m2/repository,","1.5","2.2.1","3",">","build","c:\\document","classpath","clean","clone","declipse.workspace=/path/to/the/workspace/","dmaven.test.skip","dubbo","eclips","eclipse:","eclipse:configur","eclipse:eclips","export","git","https://github.com/alibaba/dubbo","https://github.com/alibaba/dubbo/tag","id","idea:","idea:idea","instal","intellij","jar","java","m2_repo","master","maven","maven_opt","maven_opts=","mvn","path","prefer","settings\\.m2\\repositori","source:jar","unix","window","workspac","xmx1024m","xx:maxpermsize=512m","上浏览源代码。","下的路径是","中导入","中配置","也可以通过以下的","仓库","仓库。通过","代码签出","以上的版本","作为主干版本的开发,使用分支作为维护版本。可以通过","作为构建工具。","使用","使用以下命令做一次构建","使用以下命令来生成","分支","包","包,方便用来调试","变量指向本地的","可以直接在","可以通过以下的构建命令来跳过单元测试","命令配置:","在","定义","我们使用","或者以上的版本","支持","来查看所有版本的标签","构建","构建之前需要配置以下的","构建源代码","源代码","源码构建","的","的工程","的源代码","要求","通过以下命令以构建","通过以下的这个命令签出最新的项目源码:","首先,需要在"],"框架设计.html":["+","4","channel,","client,","cluster","cluster,","codec","common","config","consumer,","contain","container,","container为服务容器,用于部署运行服务,没有在层中画出。","directory,","dubbo","exchang","exchangechannel,","exchangeclient,","exchanger,","exchangeserv","export","exporter就可以完成非透明的rpc调用,然后在invoker的主过程上filter拦截点。","invocation,","invocation是会话域,它持有调用过程中的变量,比如方法名,参数等。","invok","invoker,","invoker是实体域,它是dubbo的核心模型,其它模型都向它靠扰,或转换成它,它代表一个可执行体,可向它发起invoke调用,它有可能是一个本地的实现,也可能是一个远程的实现,也可能一个集群实现。","loadbal","monitor","monitor,","monitorfactory,","monitorservic","monitor代表层或模块,蓝色的表示与业务有交互,绿色的表示只对dubbo内部交互。","monitor代表部署逻辑拓普节点。","monitor划分逻辑拓普节点,保持统一概念。","objectinput,","objectoutput,","plugin模式,microkernel只负责组装plugin,dubbo自身的功能也是通过扩展点实现的,也就是dubbo的所有功能点都可被用户自定义扩展所替换。","protocol","protocol,","protocol层和proxy层都放在rpc模块中,这两层是rpc的核心,在不需要集群时(只有一个提供者),可以只使用这两层完成rpc调用。","protocol是服务域,它是invoker暴露和引用的主功能入口,它负责invoker的生命周期管理。","provider,","proxi","proxy,","proxyfactori","proxy层封装了所有接口的透明化代理,而在其它层都以invoker为中心,只有到了暴露给用户使用时,才用proxy将invoker转成接口,或将接口实现转成invoker,也就是去掉proxy层rpc是可以run的,只是不那么透明,不那么看起来像调本地服务一样调远程服务。","referenceconfig","registri","registry,","registryfactory,","registryservic","registry和monitor实际上不算一层,而是一个独立的节点,只是为了全局概览,用层的方式画在一起。","remot","request,","respons","response语义。","result","router,","rpc","serial","serialize层放在common模块中,以便更大程度复用。","server,","service,","serviceconfig,","serviceproxi","threadpool","transport","transporter,","transport层和exchange层都放在remoting模块中,为rpc调用的通讯基础。","为中心,可以直接new配置类,也可以通过spring解析配置生成配置类","为中心,扩展接口为","以","依赖关系","信息交换层,封装请求响应模式,同步转异步,以","公共逻辑模块,包括util类和通用模型。","关系说明","各层说明","图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系,每一层都可以剥离上层被复用,其中,service和config层为api,其它各层均为spi。","图中只包含rpc的层,不包含remoting的层,remoting整体都隐含在protocol中。","图中小方块protocol,","图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口。","图中的consumer和provider是抽象概念,只是想让看图者更直观的了解哪些类分属于客户端与服务器端,不用client和server的原因是dubbo在很多场景下都使用provider,","图中绿色小块的为扩展接口,蓝色小块为实现类,图中只显示用于关联各层的实现类。","图中背景方块consumer,","图中蓝色虚线为初始化时调用,红色虚线为运行时异步调用,红色实线为运行时同步调用。","图中蓝色虚线为初始化过程,即启动时组装链,红色实线为方法调用过程,即运行时调时链,紫色三角箭头为继承,可以把子类看作父类的同一个节点,线上的文字为调用的方法。","图例说明","在dubbo的核心领域模型中:","在rpc中,protocol是核心层,也就是只要有protocol","基本原则","容器模块,是一个standlone的容器,以简单的main加载spring启动,因为服务通常不需要tomcat/jboss等web容器的特性,没必要用web容器去加载服务。","容错,路由等,集群的地址列表可以是静态配置的,也可以是由注册中心下发。","展开总设计图右边服务消费方引用服务的蓝色初始化链,时序图如下:","展开总设计图左边服务提供方暴露服务的蓝色初始化链,时序图如下:","展开总设计图的红色调用链,如下:","引用服务时序","数据序列化层,可复用的一些工具,扩展接口为serialization,","整体上按照分层结构进行分包,与分层的不同点在于:","整体设计","暴露服务时序","更多设计原则参见:框架设计原则","服务代理层,服务接口透明代理,生成服务的客户端stub和服务器端skeleton,","框架设计","模块分包","模块说明","注册中心层,封装服务地址的注册与发现,以服务url为中心,扩展接口为","注册中心模块,基于注册中心下发地址的集群方式,以及对各种注册中心的抽象。","监控层,rpc调用次数和调用时间监控,以statistics为中心,扩展接口为","监控模块,统计服务调用次数,调用时间的,调用链跟踪的服务。","网络传输层,抽象mina和netty为统一接口,以message为中心,扩展接口为","而cluster是外围概念,所以cluster的目的是将多个invoker伪装成一个invoker,这样其它人只要关注protocol层invoker即可,加上cluster或者去掉cluster对其它层都不会造成影响,因为只有一个提供者时,是不需要cluster的。","而remoting实现是dubbo协议的实现,如果你选择rmi协议,整个remoting都不会用上,remoting内部再划为transport传输层和exchange信息交换层,transport层只负责单向消息传输,是对mina,netty,grizzly的抽象,它也可以扩展udp传输,而exchange层是在传输层之上封装了request","调用链","路由层,封装多个提供者的路由及负载均衡,并桥接注册中心,以","远程调用层,封将rpc调用,以","远程调用模块,抽象各种协议,以及动态代理,只包含一对一的调用,不关心集群的管理。","远程通讯模块,相当于dubbo协议的实现,如果rpc用rmi协议则不需要使用此包。","配置层,对外配置接口,以","配置模块,是dubbo对外的api,用户通过config使用dubbo,隐藏dubbo所有细节。","采用microkernel","采用url作为配置信息的统一格式,所有扩展点都通过传递url携带配置信息。","集群模块,将多个服务提供方伪装为一个提供方,包括:负载均衡,","领域模型"],"扩展点加载.html":["\"provider\",","\"transport\"})","\"xxx\")","(造轮者)","...","...);","//","//...","5","=","@activ","@activate(\"xxx\")","@activate(group","@adapt","@adaptive({\"client\",","@adaptive({\"server\",","adapt","adaptive实例","bind(url","car","carmak","carmaker(造车者)、wheelmak","channelhandl","class","client","com.alibaba.dubbo.common.extension.activate;","com.alibaba.dubbo.rpc.filter;","com.alibaba.dubbo.rpc.protocol;","com.alibaba.xxx;","connect(url","dubbo使用url对象(包含了key","dubbo改进了jdk标准的spi的以下问题:","dubbo的扩展点加载从jdk标准的spi(servic","dubbo配置模块中扩展点的配置","dubbo配置模块中,扩展点均有对应配置属性或标签,通过配置指定使用哪个扩展实现。比如:","exportlistener,","extensionload","filter","getname()","handler)","impl","impl.refer();","impl;","implemenet","implement","import","inf/dubbo/com.alibaba.dubbo.rpc.protocol,内容为:","inf/dubbo/接口全限定名,内容为:配置名=扩展实现类全限定名,多个实现类用换行符分隔。","interfac","interface)扩展点发现机制加强而来。","invokerlistener,","jdk标准的spi会一次性实例化扩展点所有实现,如果有扩展实现初始化很耗时,但如果没用上也加载,会很浪费资源。","key即","makecar()","makecar();","makecar(url","makewheel","makewheel();","makewheel(url","new","packag","protocol","protocol)","protocol;","provid","public","racecar","racecar(wheel,","racecarmak","refer()","remotingexception;","return","server","setwheelmaker(wheelmak","statuscheck","telnethandler,","this.wheelmak","throw","transport","url)","url);","url,","url.get(\"wheel.type\")","valu","value)传递配置信息。","void","wheel","wheel.type,","wheelmak","wheelmaker)","wheelmaker.makewheel();","wheelmaker.makewheel(url);","wheelmaker;","wrapper不是扩展点实现,用于从","wrapper类内容:","xxx=com.alibaba.xxx.xxxprotocol","xxxfilter","xxxprotocol","xxxprotocol(protocol","xxxprotocolwrapp","{","}","一些操作","下面是dubbo的transporter扩展点的代码:","中。","中说明。","中返回的实际上是wrapper类的实例,wrapper持有了实际的扩展点实现类。","也是扩展点则会注入","会执行扩展点的拼装操作。","会把加载扩展点时(通过扩展点配置文件中内容),如果该实现有拷贝构造函数,则判定为扩展点wrapper类。wrapper类同样实现了扩展点接口。","加载","加载扩展点时,扩展点实现类的成员如果为其它扩展点类型,extensionload","加载扩展点时,自动注入依赖的扩展点","只对提供方激活,group可选\"provider\"或\"consumer\"","在dubbo的","在会自动注入依赖的扩展点。extensionload","在协议的实现jar包内放置文本文件:meta","在扩展类的jar包内,放置扩展点配置文件:meta","增加了对扩展点ioc和aop的支持,一个扩展点可以直接setter注入其它扩展点。","如果扩展点加载失败,连扩展点的名称都拿不到了。比如:jdk标准的scriptengine,通过","实例可以提取约定key来决定使用哪个","实例的逻辑是固定,指定提取的url的key,即可以代理真正的实现类上,可以动态生成。","实例,直到扩展点方法执行时才决定调用是一个扩展点实现。","实现。adapt","实现是在加载扩展点里动态生成。指定提取的url的key通过","实现来调用对应实现的真正的","实现类内容:","对于bind方法表示,adaptive实现先查找\"server\"key,如果该key没有值则找\"transport\"key值,来决定代理到哪个实际扩展点。","对于集合类扩展点,比如:filter,","当上面执行","当配置了xxx参数,并且参数为有效值时激活,比如配了cache=\"lru\",自动激活cachefilter。","或:","扩展dubbo的协议示例:","扩展点使用单一实例加载(请确保扩展实现的线程安全性),cache在","扩展点加载","扩展点方法调用会有url参数(或是参数有url成员)","扩展点的adaptive实例","扩展点的wrapper类可以有多个,也可以根据需要新增。","扩展点自动包装","扩展点自动激活","扩展点自动装配","扩展点自适应","扩展点配置","接口方法做一个操作后,再调用extension的方法","接口类如下:","方法。如提取","方法的","无条件自动激活","时,setwheelmak","时,注入的","来决定","来源:","注入的依赖扩展点是一个","注意:","注意:这里的配置文件是放在你自己的jar包内,不是dubbo本身的jar包内,dubbo会全classpath扫描所有jar包内同名的这个文件,然后进行合并","注解在接口方法上提供。","的一个实现类:","的实现。","的实现中要注入哪个。","的扩展点实现","的扩展点类开对应的","示例:有两个为扩展点","等,可以同时加载多个实现,此时,可以用自动激活来简化配置,如:","约定:","自动wrap扩展点的wrapper类","获取脚本类型的名称,但如果rubyscriptengine因为所依赖的jruby.jar不存在,导致rubyscriptengine类加载失败,这个失败原因被吃掉了,和ruby对应不起来,当用户执行ruby脚本时,会报不支持ruby,而不是真正失败的原因。","要注入依赖扩展点时,如何决定要注入依赖扩展点的哪个实现。在这个示例中,即是在多个wheelmak","返回扩展点时,wrap在扩展点实现外。即从","这个问题在下面一点","这样依赖的扩展点也可以从url拿到配置信息,所有的扩展点自己定好配置的key后,配置信息从url上从最外层传入。url在配置传递上即是一条总线。","这里带来另一个问题,extensionload","通过wrapper类可以把所有扩展点公共逻辑移至wrapper中。新加的wrapper在所有的扩展点上添加了逻辑,有些类似aop(wraper代理了扩展点)。","通过扫描扩展点实现类的所有set方法来判定其成员。即"],"SPI参考手册/introduction.html":["6","spi使用范围扩展接口仅用于系统集成,或contributor扩展功能插件。","spi参考手册"],"SPI参考手册/协议扩展.html":["(实现exporter接口)","(实现invoker接口)","(实现protocol接口)","(纯文本文件,内容为:xxx=com.xxx.xxxprotocol)","*","*/","...","/**","//","1.","2.","3.","4.","5.","6.1",">","@param","@return","@throw","abstract","abstractexport","abstractinvok","class","com","com.alibaba.dubbo.rpc.dubbo.dubboprotocol","com.alibaba.dubbo.rpc.export","com.alibaba.dubbo.rpc.http.hessian.hessianprotocol","com.alibaba.dubbo.rpc.http.httpprotocol","com.alibaba.dubbo.rpc.injvm.injvmprotocol","com.alibaba.dubbo.rpc.invok","com.alibaba.dubbo.rpc.protocol","com.alibaba.dubbo.rpc.protocol;","com.alibaba.dubbo.rpc.rmi.rmiprotocol","com.alibaba.dubbo.rpc.support.abstractexporter;","com.alibaba.dubbo.rpc.support.abstractinvoker;","com.xxx;","doinvoke(invoc","dubbo","export","export()","export()传入的invoker由框架实现并传入,协议不需要关心。","export()必须是幂等的,也就是暴露同一个url的invoker两次,和暴露一次没有区别。","export(invok","extend","implement","import","inf","inf/dubbo/com.alibaba.dubbo.rpc.protocol","interfac","invocation)","invok","invoke()","invoker)","java","main","maven项目结构","meta","new","object","packag","protect","protocol","public","refer()","refer()返回的invoker由协议实现,协议通常需要在此invoker中发送远程请求。","refer(class","remotingexception{","resourc","return","rpcexcept","rpcexception;","rpc协议扩展,封装远程调用细节。","src","super(invoker);","super(type,","super.unexport();","tcp","throw","throwabl","type","type,","unexport()","url","url)","url);","void","xxx","xxx=com.xxx.xxxprotocol","xxxexport","xxxexporter(invok","xxxexporter(invoker);","xxxexporter.java","xxxinvok","xxxinvoker(class","xxxinvoker(type,","xxxinvoker.java","xxxprotocol","xxxprotocol.java","{","|","}","中发送远程请求,export()","为中心,由外层将","传入的","其中,refer()","协议不一定要是","协议不关心业务接口的透明代理,以","协议在接收请求时,应记录请求来源方地址信息:rpccontext.getcontext().setremoteaddress();","协议扩展","契约:","对象的","已知扩展:","引用远程服务:","当url中有设置check=false时,连接失败不能抛出异常,需内部自动恢复。","当暴露服务出错时抛出,比如端口已占用","当用户调用","当用户调用refer()所返回的invoker对象的invoke()方法时,协议需相应执行同url远端export()传入的invoker对象的invoke()方法。","当连接服务提供方失败时抛出","所返回的","扩展接口:","扩展示例:","扩展说明:","扩展配置:","方法。","方法时,协议需相应执行同","暴露服务的引用,用于取消暴露","暴露远程服务:","服务的执行体","服务的本地代理","服务的类型","没有配置prototol属性时,使用此配置","注意:","由协议实现,协议通常需要在此","由框架实现并传入,协议不需要关心。","网络通讯,比如通过共享文件,ipc","转换为业务接口。","返回的","进程间通讯等。","远程服务的url地址","远端"],"SPI参考手册/调用拦截扩展.html":["(实现filter接口)","(纯文本文件,内容为:xxx=com.xxx.xxxfilter)","...","//","1.","2.","3.","4.","5.","6.2","=","befor","class","com","com.alibaba.dubbo.rpc.filt","com.alibaba.dubbo.rpc.filter.accesslogfilt","com.alibaba.dubbo.rpc.filter.activelimitfilt","com.alibaba.dubbo.rpc.filter.classloaderfilt","com.alibaba.dubbo.rpc.filter.consumercontextfilt","com.alibaba.dubbo.rpc.filter.contextfilt","com.alibaba.dubbo.rpc.filter.countfilt","com.alibaba.dubbo.rpc.filter.deprecatedfilt","com.alibaba.dubbo.rpc.filter.echofilt","com.alibaba.dubbo.rpc.filter.exceptionfilt","com.alibaba.dubbo.rpc.filter.executelimitfilt","com.alibaba.dubbo.rpc.filter.genericfilt","com.alibaba.dubbo.rpc.filter.genericimplfilt","com.alibaba.dubbo.rpc.filter.tokenfilt","com.alibaba.dubbo.rpc.filter;","com.alibaba.dubbo.rpc.invocation;","com.alibaba.dubbo.rpc.invoker;","com.alibaba.dubbo.rpc.result;","com.alibaba.dubbo.rpc.rpcexception;","com.xxx;","default\",剔除添加所有缺省扩展点。","default,表示缺省扩展点插入的位置。比如:filter=\"xxx,default,yyy\",表示","dubbo","filter","filter,而不是覆盖。比如:","foo1\",剔除添加缺省扩展点","foo1。比如:filter=\"","implement","import","inf","inf/dubbo/com.alibaba.dubbo.rpc.filt","invoc","invocation)","invoke(invok","invoker,","invoker.invoke(invocation);","java","main","maven项目结构","meta","packag","provid","public","resourc","result","result;","return","rpcexcept","servic","src","throw","xxx","xxx,yyy,aaa,bbb","xxx=com.xxx.xxxfilt","xxxfilter","xxxfilter.java","{","|","}","之前,yyi","之后。","同时配置的","和","在缺省","均会生效。如果要覆盖,需配置:","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","时,累加所有","服务提供方和服务消费方调用过程拦截,dubbo","本身的大多功能均基于此扩展点实现,每次远程方法执行,该拦截都会被执行,请注意对性能的影响。","特殊值","特殊符号","用户自定义","约定:","调用拦截扩展","默认在内置",",则",",表示剔除。比如:filter=\""],"SPI参考手册/引用监听扩展.html":["(实现invokerlistener接口)","(纯文本文件,内容为:xxx=com.xxx.xxxinvokerlistener)","...","//","1.","2.","3.","4.","5.","6.3","class","com","com.alibaba.dubbo.rpc.invoker;","com.alibaba.dubbo.rpc.invokerlisten","com.alibaba.dubbo.rpc.invokerlistener;","com.alibaba.dubbo.rpc.listener.deprecatedinvokerlisten","com.alibaba.dubbo.rpc.rpcexception;","com.xxx;","destroyed(invok","dubbo","implement","import","inf","inf/dubbo/com.alibaba.dubbo.rpc.invokerlisten","invoker)","invokerlisten","java","main","maven项目结构","meta","packag","public","referred(invok","resourc","rpcexcept","src","throw","void","xxx","xxx=com.xxx.xxxinvokerlisten","xxxinvokerlisten","xxxinvokerlistener.java","{","|","}","已知扩展","引用监听扩展","当有服务引用时,触发该事件。","扩展接口","扩展示例","扩展说明","扩展配置"],"SPI参考手册/暴露监听扩展.html":["(实现exporterlistener接口)","(纯文本文件,内容为:xxx=com.xxx.xxxexporterlistener)","...","//","1.","2.","3.","4.","5.","6.4","class","com","com.alibaba.dubbo.registry.directory.registryexporterlisten","com.alibaba.dubbo.rpc.exporter;","com.alibaba.dubbo.rpc.exporterlisten","com.alibaba.dubbo.rpc.exporterlistener;","com.alibaba.dubbo.rpc.rpcexception;","com.xxx;","dubbo","exported(export","exporter)","exporterlisten","implement","import","inf","inf/dubbo/com.alibaba.dubbo.rpc.exporterlisten","java","main","maven项目结构","meta","packag","public","resourc","rpcexcept","src","throw","unexported(export","void","xxx","xxx=com.xxx.xxxexporterlisten","xxxexporterlisten","xxxexporterlistener.java","{","|","}","已知扩展","当有服务暴露时,触发该事件。","扩展接口","扩展示例","扩展说明","扩展配置","暴露监听扩展"],"SPI参考手册/集群扩展.html":["(实现cluster接口)","(纯文本文件,内容为:xxx=com.xxx.xxxcluster)","...","//","1.","2.","3.","4.","5.","6.5",">","abstractclusterinvoker(directory)","class","cluster","com","com.alibaba.dubbo.rpc.cluster.clust","com.alibaba.dubbo.rpc.cluster.cluster;","com.alibaba.dubbo.rpc.cluster.directory;","com.alibaba.dubbo.rpc.cluster.loadbalance;","com.alibaba.dubbo.rpc.cluster.support.abstractclusterinvoker;","com.alibaba.dubbo.rpc.cluster.support.availableclust","com.alibaba.dubbo.rpc.cluster.support.failbackclust","com.alibaba.dubbo.rpc.cluster.support.failfastclust","com.alibaba.dubbo.rpc.cluster.support.failoverclust","com.alibaba.dubbo.rpc.cluster.support.failsafeclust","com.alibaba.dubbo.rpc.cluster.support.forkingclust","com.alibaba.dubbo.rpc.invocation;","com.alibaba.dubbo.rpc.invoker;","com.alibaba.dubbo.rpc.result;","com.alibaba.dubbo.rpc.rpcexception;","com.xxx;","directory)","doinvoke(invoc","dubbo","implement","import","inf","inf/dubbo/com.alibaba.dubbo.rpc.cluster.clust","invocation,","invok","invokers,","java","list>","loadbal","loadbalance)","main","maven项目结构","merge(directori","meta","new","packag","public","resourc","result","return","rpcexcept","src","throw","xxx","xxx=com.xxx.xxxclust","xxxcluster","xxxcluster.java","{","|","}","};","已知扩展","当有多个服务提供方时,将多个服务提供方组织成一个集群,并伪装成一个提供方。","扩展接口","扩展示例","扩展说明","扩展配置","没有配置cluster时,使用此配置","集群扩展"],"SPI参考手册/路由扩展.html":["(实现loadbalance接口)","(纯文本文件,内容为:xxx=com.xxx.xxxrouterfactory)","...","//","1.","2.","3.","4.","5.","6.6",">","class","com","com.alibaba.dubbo.rpc.cluster.rout","com.alibaba.dubbo.rpc.cluster.router.filerouterfactori","com.alibaba.dubbo.rpc.cluster.router.scriptrouterfactori","com.alibaba.dubbo.rpc.cluster.routerfactori","com.alibaba.dubbo.rpc.cluster.routerfactory;","com.alibaba.dubbo.rpc.invocation;","com.alibaba.dubbo.rpc.invoker;","com.alibaba.dubbo.rpc.rpcexception;","com.xxx;","dubbo","implement","import","inf","inf/dubbo/com.alibaba.dubbo.rpc.cluster.routerfactori","invoc","invocation)","invokers,","java","list>","main","maven项目结构","meta","packag","public","resourc","routerfactori","rpcexcept","select(list>","src","throw","xxx","xxx=com.xxx.xxxrouterfactori","xxxrouterfactori","xxxrouterfactory.java","{","|","}","从多个服务提者方中选择一个进行调用。","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","没有配置loadbalance时,使用此配置","路由扩展"],"SPI参考手册/负载均衡扩展.html":["(实现loadbalance接口)","(纯文本文件,内容为:xxx=com.xxx.xxxloadbalance)","...","//","1.","2.","3.","4.","5.","6.7",">","class","com","com.alibaba.dubbo.rpc.cluster.loadbal","com.alibaba.dubbo.rpc.cluster.loadbalance.leastactiveloadbal","com.alibaba.dubbo.rpc.cluster.loadbalance.randomloadbal","com.alibaba.dubbo.rpc.cluster.loadbalance.roundrobinloadbal","com.alibaba.dubbo.rpc.cluster.loadbalance;","com.alibaba.dubbo.rpc.invocation;","com.alibaba.dubbo.rpc.invoker;","com.alibaba.dubbo.rpc.rpcexception;","com.xxx;","dubbo","implement","import","inf","inf/dubbo/com.alibaba.dubbo.rpc.cluster.loadbal","invoc","invocation)","invok","invokers,","java","loadbal","main","maven项目结构","meta","packag","public","resourc","rpcexcept","select(list>","src","throw","xxx","xxx=com.xxx.xxxloadbal","xxxloadbal","xxxloadbalance.java","{","|","}","从多个服务提者方中选择一个进行调用","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","没有配置loadbalance时,使用此配置","负载均衡扩展"],"SPI参考手册/合并结果扩展.html":["(实现merger接口)","(纯文本文件,内容为:xxx=com.xxx.xxxmerger)","...","//","1.","2.","3.","4.","5.","6.8","class","com","com.alibaba.dubbo.rpc.cluster.merg","com.alibaba.dubbo.rpc.cluster.merger.arraymerg","com.alibaba.dubbo.rpc.cluster.merger.listmerg","com.alibaba.dubbo.rpc.cluster.merger.mapmerg","com.alibaba.dubbo.rpc.cluster.merger.setmerg","com.alibaba.dubbo.rpc.cluster.merger;","com.xxx;","dubbo","implement","import","inf","inf/dubbo/com.alibaba.dubbo.rpc.cluster.merg","java","main","maven项目结构","merge(t...","merger","meta","packag","public","resourc","results)","src","t","xxx","xxx=com.xxx.xxxmerg","xxxmerger","xxxmerger.java","{","|","}","合并结果扩展","合并返回结果,用于分组聚合。","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置"],"SPI参考手册/注册中心扩展.html":["(实现registryfactory接口)","(实现registry接口)","(纯文本文件,内容为:xxx=com.xxx.xxxregistryfactory)","*","*/","...","/**","//","1.","2.","3.","4.","5.","6.","6.9","7.",">","@param","@return","@see","class","com","com.alibaba.dubbo.common.url;","com.alibaba.dubbo.registry.notifylistener#notify(list)","com.alibaba.dubbo.registry.notifylistener#notify(list)}的参数。","com.alibaba.dubbo.registry.notifylistener;","com.alibaba.dubbo.registry.registri","com.alibaba.dubbo.registry.registry;","com.alibaba.dubbo.registry.registryfactori","com.alibaba.dubbo.registry.registryfactory;","com.alibaba.dubbo.registry.registryservice#lookup(url)}的返回值。","com.alibaba.dubbo.registry.support.dubbo.dubboregistryfactori","com.xxx;","consumers,","dubbo","extend","getregistry(url","implement","import","inf","inf/dubbo/com.alibaba.dubbo.registry.registryfactori","interfac","java","list","listen","listener)","listener);","lookup(url","main","maven项目结构","meta","new","notify(list","notifylisten","notifylistener.java","overrides,允许只通知其中一种类型,但该类型的数据必须是全量的,不是增量的。","packag","public","register(url","registri","registryfactori","registryfactory.java","registryservic","registryservice.java","resourc","return","routes,","src","subscribe(url","unregister(url","unsubscribe(url","url","url)","url);","url,","urls);","void","xxx","xxx=com.xxx.xxxregistryfactori","xxxregistri","xxxregistry(url);","xxxregistry.java","xxxregistryfactori","xxxregistryfactory.java","xxxregistryfactoryjava","{","|","}","中途变更时,允许不同类型的数据分开通知,比如:providers,","允许uri相同但参数不同的url并存,不能覆盖。","允许以interface,group,version,classifier作为条件查询,如:interface=com.alibaba.foo.barservice&version=1.0.0","取消注册服务.","取消注册需处理契约:","取消订阅服务.","取消订阅需处理契约:","变更事件监听器,不允许为空","如果一种类型的数据为空,需通知一个empty协议并带category参数的标识性url数据。","如果是dynamic=false的持久存储数据,找不到注册数据,则抛illegalstateexception,否则忽略。","如果没有订阅,直接忽略。","已注册信息列表,可能为空,含义同{@link","已注册信息列表,总不为空,含义同{@link","已知扩展","并且查询条件允许星号通配,订阅所有接口的所有分组的所有版本,或:interface=*&group=*&version=*&classifier=*","当url设置了category=overrides时,表示分类存储,缺省类别为providers,可按分类部分通知数据。","当url设置了category=overrides,只通知指定分类的数据,多个分类用逗号分隔,并允许星号通配,表示订阅所有分类数据。","当url设置了check=false时,注册失败后不报错,在后台定时重试,否则抛出异常。","当url设置了check=false时,订阅失败后不报错,在后台定时重试。","当url设置了dynamic=false参数,则需持久存储,否则,当注册者出现断电等情况异常退出时,需自动删除。","当收到服务变更通知时触发。","当注册中心重启,网络抖动,不能丢失数据,包括断线自动删除数据。","当注册中心重启,网络抖动,需自动恢复订阅请求。","当设置check=false时表示不检查连接,否则在连接不上时抛出异常。","必须阻塞订阅过程,等第一次通知完后再返回。","总是以服务接口和数据类型为维度全量通知,即不会通知一个服务的同类型的部分数据,用户不需要对比上一次通知结果。","扩展契约","扩展接口","扩展示例","扩展说明","扩展配置","按全url匹配取消注册。","按全url匹配取消订阅。","支持backup=10.20.153.10备选注册中心集群地址。","支持file=registry.cache本地磁盘文件缓存。","支持session=60000会话超时或过期设置。","支持timeout=1000请求超时设置。","支持url上的username:password权限认证。","查询条件,不允许为空,如:consumer://10.20.153.10/com.alibaba.foo.barservice?version=1.0.0&application=kylin","查询注册列表,与订阅的推模式相对应,这里为拉模式,只返回一次结果。","没有配置registry属性时,使用此配置","注册中心地址,不允许为空","注册中心引用,总不返回空","注册中心扩展","注册信息,不允许为空,如:dubbo://10.20.153.10/com.alibaba.foo.barservice?version=1.0.0&application=kylin","注册服务.","注册需处理契约:","订阅时的第一次通知,必须是一个服务的所有类型数据的全量通知。","订阅服务.","订阅条件,不允许为空,如:consumer://10.20.153.10/com.alibaba.foo.barservice?version=1.0.0&application=kylin","订阅需处理契约:","负责服务的注册与发现。","连接注册中心.","连接注册中心需处理契约:","通知者(即注册中心实现)需保证通知的顺序,比如:单线程推送,队列串行化,带版本对比。","通知需处理契约:"],"SPI参考手册/监控中心扩展.html":["(实现monitorfactory接口)","(实现monitor接口)","(纯文本文件,内容为:xxx=com.xxx.xxxmonitorfactory)","...","//","1.","2.","3.","4.","5.","6.10","class","com","com.alibaba.dubbo.common.url;","com.alibaba.dubbo.monitor.monitor","com.alibaba.dubbo.monitor.monitor;","com.alibaba.dubbo.monitor.monitorfactori","com.alibaba.dubbo.monitor.monitorfactory;","com.alibaba.dubbo.monitor.support.dubbo.dubbomonitorfactori","com.xxx;","count(url","dubbo","getmonitor(url","implement","import","inf","inf/dubbo/com.alibaba.dubbo.monitor.monitorfactori","java","main","maven项目结构","meta","monitor","monitorfactori","new","packag","public","resourc","return","src","statistics)","url)","void","xxx","xxx=com.xxx.xxxmonitorfactori","xxxmonitor","xxxmonitor(url);","xxxmonitor.java","xxxmonitorfactori","xxxmonitorfactory.java","xxxmonitorfactoryjava","{","|","}","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","监控中心扩展","负责服务调用次和调用时间的监控。"],"SPI参考手册/扩展点加载扩展.html":["(实现extensionfactory接口)","(纯文本文件,内容为:xxx=com.xxx.xxxextensionfactory)","...","//","1.","2.","3.","4.","5.","6.11","class","com","com.alibaba.dubbo.common.extension.extensionfactori","com.alibaba.dubbo.common.extension.extensionfactory;","com.alibaba.dubbo.common.extension.factory.spiextensionfactori","com.alibaba.dubbo.config.spring.extension.springextensionfactori","com.xxx;","dubbo","extensionfactori","getextension(class","implement","import","inf","inf/dubbo/com.alibaba.dubbo.common.extension.extensionfactori","java","main","maven项目结构","meta","name)","object","packag","public","resourc","src","string","type,","xxx","xxx=com.xxx.xxxextensionfactori","xxxextensionfactori","xxxextensionfactory.java","{","|","}","已知扩展","扩展接口","扩展点加载扩展","扩展点本身的加载容器,可从不同容器加载扩展点。","扩展示例","扩展说明","扩展配置"],"SPI参考手册/动态代理扩展.html":["(实现proxyfactory接口)","(纯文本文件,内容为:xxx=com.xxx.xxxproxyfactory)","...","//","1.","2.","3.","4.","5.","6.12",">","class","com","com.alibaba.dubbo.rpc.invoker;","com.alibaba.dubbo.rpc.proxy.javassistproxyfactori","com.alibaba.dubbo.rpc.proxy.jdkproxyfactori","com.alibaba.dubbo.rpc.proxyfactori","com.alibaba.dubbo.rpc.proxyfactory;","com.alibaba.dubbo.rpc.rpcexception;","com.xxx;","dubbo","getinvoker(t","getproxy(invok","implement","import","inf","inf/dubbo/com.alibaba.dubbo.rpc.proxyfactori","invok","invoker)","java","main","maven项目结构","meta","packag","proxy,","proxyfactori","public","resourc","rpcexcept","src","t","throw","type,","url","url)","xxx","xxx=com.xxx.xxxproxyfactori","xxxproxyfactori","xxxproxyfactory.java","{","|","}","动态代理扩展","将","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","接口转换成业务接口。","没有配置proxy属性时,使用此配置"],"SPI参考手册/编译器扩展.html":["(实现compiler接口)","(纯文本文件,内容为:xxx=com.xxx.xxxcompiler)","...","//","1.","2.","3.","4.","5.","6.13","class","com","com.alibaba.dubbo.common.compiler.compil","com.alibaba.dubbo.common.compiler.compiler;","com.alibaba.dubbo.common.compiler.support.javassistcompil","com.alibaba.dubbo.common.compiler.support.jdkcompil","com.xxx;","compil","dubbo","getextension(class","implement","import","inf","inf/dubbo/com.alibaba.dubbo.common.compiler.compil","java","main","maven项目结构","meta","name)","object","packag","public","resourc","src","string","type,","xxx","xxx=com.xxx.xxxcompil","xxxcompil","xxxcompiler.java","{","|","}","代码编译器,用于动态生成字节码,加速调用。","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","编译器扩展","自动加载"],"SPI参考手册/消息派发扩展.html":["(实现dispatcher接口)","(纯文本文件,内容为:xxx=com.xxx.xxxdispatcher)","...","//","1.","2.","3.","4.","5.","6.14",">","class","com","com.alibaba.dubbo.remoting.dispatch","com.alibaba.dubbo.remoting.dispatcher;","com.alibaba.dubbo.remoting.transport.dispatcher.all.alldispatch","com.alibaba.dubbo.remoting.transport.dispatcher.connection.connectionordereddispatch","com.alibaba.dubbo.remoting.transport.dispatcher.direct.directdispatch","com.alibaba.dubbo.remoting.transport.dispatcher.execution.executiondispatch","com.alibaba.dubbo.remoting.transport.dispatcher.message.messageonlydispatch","com.xxx;","dispatch","dubbo","group","implement","import","inf","inf/dubbo/com.alibaba.dubbo.remoting.dispatch","java","lookup(url","main","maven项目结构","meta","packag","public","resourc","src","url)","xxx","xxx=com.xxx.xxxdispatch","xxxdispatch","xxxdispatcher.java","{","|","}","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","没有配置dispatcher属性时,使用此配置","消息派发扩展","通道信息派发器,用于指定线程池模型。"],"SPI参考手册/线程池扩展.html":["(实现threadpool接口)","(纯文本文件,内容为:xxx=com.xxx.xxxthreadpool)","...","//","1.","2.","3.","4.","5.","6.15",">","class","com","com.alibaba.dubbo.common.threadpool.cachedthreadpool","com.alibaba.dubbo.common.threadpool.fixedthreadpool","com.alibaba.dubbo.common.threadpool.threadpool","com.alibaba.dubbo.common.threadpool.threadpool;","com.xxx;","dubbo","executor","getexecutor()","implement","import","inf","inf/dubbo/com.alibaba.dubbo.common.threadpool.threadpool","java","java.util.concurrent.executor;","main","maven项目结构","meta","packag","public","resourc","src","threadpool","xxx","xxx=com.xxx.xxxthreadpool","xxxthreadpool","xxxthreadpool.java","{","|","}","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","服务提供方线程程实现策略,当服务器收到一个请求时,需要在线程池中创建一个线程去执行服务提供方业务逻辑。","没有配置threadpool时,使用此配置","线程池扩展"],"SPI参考手册/序列化扩展.html":["(实现objectinput接口)","(实现objectoutput接口)","(实现serialization接口)","(纯文本文件,内容为:xxx=com.xxx.xxxserialization)","1.","2.","3.","4.","5.","6.16",">","class","com","com.alibaba.dubbo.common.serialize.dubbo.dubboseri","com.alibaba.dubbo.common.serialize.hessian.hessian2seri","com.alibaba.dubbo.common.serialize.java.compactedjavaseri","com.alibaba.dubbo.common.serialize.java.javaseri","com.alibaba.dubbo.common.serialize.objectinput","com.alibaba.dubbo.common.serialize.objectinput;","com.alibaba.dubbo.common.serialize.objectoutput","com.alibaba.dubbo.common.serialize.objectoutput;","com.alibaba.dubbo.common.serialize.seri","com.alibaba.dubbo.common.serialize.serialization;","com.xxx;","deserialize(paramet","dubbo","implement","import","inf","inf/dubbo/com.alibaba.dubbo.common.serialize.seri","input)","inputstream","ioexcept","java","main","maven项目结构","meta","new","objectinput","objectoutput","output)","outputstream","packag","parameters,","public","resourc","return","serial","serialize(paramet","src","throw","xxx","xxx=com.xxx.xxxseri","xxxobjectinput(input);","xxxobjectinput.java","xxxobjectoutput(output);","xxxobjectoutput.java","xxxserial","xxxserialization.java","{","|","}","将对象转成字节流,用于网络传输,以及将字节流转为对象,用于在收到字节流数据后还原成对象。","已知扩展","序列化扩展","扩展接口","扩展示例","扩展说明","扩展配置","没有配置serialization时,使用此配置"],"SPI参考手册/网络传输扩展.html":["(实现client接口)","(实现server接口)","(实现transporter接口)","(纯文本文件,内容为:xxx=com.xxx.xxxtransporter)","...","//","1.","2.","3.","4.","5.","6.17",">","abstractcli","abstractserv","bind(url","channel","channelhandl","class","client","collect","com","com.alibaba.dubbo.remoting.cli","com.alibaba.dubbo.remoting.serv","com.alibaba.dubbo.remoting.transport","com.alibaba.dubbo.remoting.transport.transporter.abstractclient;","com.alibaba.dubbo.remoting.transport.transporter.abstractserver;","com.alibaba.dubbo.remoting.transport.transporter.grizzly.grizzlytransport","com.alibaba.dubbo.remoting.transport.transporter.mina.minatransport","com.alibaba.dubbo.remoting.transport.transporter.netty.nettytransport","com.alibaba.dubbo.remoting.transporter;","com.xxx;","connect(url","doclose()","doconnect()","doopen()","dubbo","extend","getchannel()","getchannel(inetsocketaddress","getchannels()","handler)","handler);","implement","import","inf","inf/dubbo/com.alibaba.dubbo.remoting.transport","java","main","maven项目结构","meta","new","packag","protect","public","remoteaddress)","remotingexcept","remotingexception{","resourc","return","server","src","super(url,","throw","throwabl","transport","url,","void","xxx","xxx=com.xxx.xxxtransport","xxxclient","xxxclient(url,","xxxclient.java","xxxserver","xxxserver(url","xxxserver(url,","xxxserver.java","xxxtransport","xxxtransporter.java","{","|","}","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","没有配置transporter/server/client属性时,使用此配置","网络传输扩展","远程通讯的服务器及客户端传输实现。"],"SPI参考手册/信息交换扩展.html":["(实现exchangeclient接口)","(实现exchanger接口)","(实现exchangeserver接口)","(纯文本文件,内容为:xxx=com.xxx.xxxexchanger)","...","//","1.","2.","3.","4.","5.","6.18",">","bind(url","class","com","com.alibaba.dubbo.remoting.exchange.exchang","com.alibaba.dubbo.remoting.exchange.exchangecli","com.alibaba.dubbo.remoting.exchange.exchangeclient;","com.alibaba.dubbo.remoting.exchange.exchanger.headerexchang","com.alibaba.dubbo.remoting.exchange.exchanger;","com.alibaba.dubbo.remoting.exchange.exchangeserv","com.alibaba.dubbo.remoting.exchange.exchangeserver;","com.xxx;","connect(url","dubbo","exchang","exchangecli","exchangehandl","exchangeserv","handler)","handler);","impel","implement","import","inf","inf/dubbo/com.alibaba.dubbo.remoting.exchange.exchang","java","main","maven项目结构","meta","new","packag","public","remotingexcept","resourc","response信息交换语义。","return","src","throw","url,","xxx","xxx=com.xxx.xxxexchang","xxxexchang","xxxexchangecli","xxxexchangeclient(url,","xxxexchangeclient.java","xxxexchanger.java","xxxexchangeserv","xxxexchangeserver(url,","xxxexchangeserver.java","{","|","}","信息交换扩展","基于传输层之上,实现request","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","没有配置exchanger属性时,使用此配置"],"SPI参考手册/组网扩展.html":["(实现networker接口)","(纯文本文件,内容为:xxx=com.xxx.xxxnetworker)","...","//","1.","2.","3.","4.","5.","6.19",">","class","com","com.alibaba.dubbo.remoting.p2p.network","com.alibaba.dubbo.remoting.p2p.networker;","com.alibaba.dubbo.remoting.p2p.support.filenetwork","com.alibaba.dubbo.remoting.p2p.support.multicastnetwork","com.xxx;","dubbo","group","implement","import","inf","inf/dubbo/com.alibaba.dubbo.remoting.p2p.network","java","lookup(url","main","maven项目结构","meta","network","packag","public","resourc","src","url)","xxx","xxx=com.xxx.xxxnetwork","xxxnetwork","xxxnetworker.java","{","|","}","对等网络节点组网器。","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","没有配置networker属性时,使用此配置","组网扩展"],"SPI参考手册/Telnet命令扩展.html":["(实现telnethandler接口)","(纯文本文件,内容为:xxx=com.xxx.xxxtelnethandler)","...","//","1.","127.0.0.1","2.","20880","3.","4.","5.","6.20",">","@help(parameter=\"...\",","arg","channel,","class","com","com.alibaba.dubbo.remoting.telnet.support.cleartelnethandl","com.alibaba.dubbo.remoting.telnet.support.exittelnethandl","com.alibaba.dubbo.remoting.telnet.support.helptelnethandl","com.alibaba.dubbo.remoting.telnet.support.statustelnethandl","com.alibaba.dubbo.remoting.telnet.telnethandl","com.alibaba.dubbo.remoting.telnet.telnethandler;","com.alibaba.dubbo.rpc.dubbo.telnet.changetelnethandl","com.alibaba.dubbo.rpc.dubbo.telnet.counttelnethandl","com.alibaba.dubbo.rpc.dubbo.telnet.currenttelnethandl","com.alibaba.dubbo.rpc.dubbo.telnet.invoketelnethandl","com.alibaba.dubbo.rpc.dubbo.telnet.listtelnethandl","com.alibaba.dubbo.rpc.dubbo.telnet.porttelnethandl","com.alibaba.dubbo.rpc.dubbo.telnet.tracetelnethandl","com.xxx;","detail=\"...\")","dubbo","dubbo>","implement","import","inf","inf/dubbo/com.alibaba.dubbo.remoting.telnet.telnethandl","java","main","maven项目结构","message)","meta","packag","public","remotingexcept","resourc","src","string","summary=\"...\",","telnet","telnet(channel","telnethandl","telnet命令扩展","throw","xxx","xxx=com.xxx.xxxtelnethandl","xxxtelnethandl","xxxtelnethandler.java","{","|","}","已知扩展","所有服务器均支持","扩展接口","扩展示例","扩展说明","扩展配置","没有配置telnet属性时,使用此配置","用法","访问,用于人工干预。"],"SPI参考手册/状态检查扩展.html":["(实现statuschecker接口)","(纯文本文件,内容为:xxx=com.xxx.xxxstatuschecker)","...","//","1.","2.","3.","4.","5.","6.21",">","check()","class","com","com.alibaba.dubbo.common.status.statuscheck","com.alibaba.dubbo.common.status.statuschecker;","com.alibaba.dubbo.common.status.support.loadstatuscheck","com.alibaba.dubbo.common.status.support.memorystatuscheck","com.alibaba.dubbo.registry.directory.registrystatuscheck","com.alibaba.dubbo.rpc.config.spring.status.datasourcestatuscheck","com.alibaba.dubbo.rpc.config.spring.status.springstatuscheck","com.alibaba.dubbo.rpc.dubbo.status.serverstatuscheck","com.alibaba.dubbo.rpc.dubbo.status.threadpoolstatuscheck","com.xxx;","dubbo","host","implement","import","inf","inf/dubbo/com.alibaba.dubbo.common.status.statuscheck","java","main","maven项目结构","meta","packag","public","resourc","src","statu","statuscheck","telnet","xxx","xxx=com.xxx.xxxstatuscheck","xxxstatuscheck","xxxstatuschecker.java","{","|","}","命令和","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","检查服务依赖各种资源的状态,此状态检查可同时用于","没有配置status属性时,使用此配置","状态检查扩展","的","页面。"],"SPI参考手册/容器扩展.html":["(实现container接口)","(纯文本文件,内容为:xxx=com.xxx.xxxcontainer)","...","//","1.","2.","3.","4.","5.","6.22","class","com","com.alibaba.dubbo.container.contain","com.alibaba.dubbo.container.container;","com.alibaba.dubbo.container.main","com.alibaba.dubbo.container.spring.jettycontain","com.alibaba.dubbo.container.spring.log4jcontain","com.alibaba.dubbo.container.spring.springcontain","com.xxx;","contain","dubbo","implement","inf","inf/dubbo/com.alibaba.dubbo.container.contain","java","jetti","log4j","main","maven项目结构","meta","packag","public","resourc","spring","src","start()","statu","stop()","xxx","xxx=com.xxx.xxxcontain","xxxcontain","xxxcontainer.java","{","|","}","容器扩展","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","服务容器扩展,用于自定义加载内容。"],"SPI参考手册/页面扩展.html":["(实现pagehandler接口)","(纯文本文件,内容为:xxx=com.xxx.xxxpagehandler)","...","//","1.","2.","3.","4.","5.","6.23",">","class","com","com.alibaba.dubbo.container.page.pagehandl","com.alibaba.dubbo.container.page.pagehandler;","com.alibaba.dubbo.container.page.pages.homepagehandl","com.alibaba.dubbo.container.page.pages.logpagehandl","com.alibaba.dubbo.container.page.pages.statuspagehandl","com.alibaba.dubbo.container.page.pages.systempagehandl","com.xxx;","dubbo","group","implement","import","inf","inf/dubbo/com.alibaba.dubbo.container.page.pagehandl","java","lookup(url","main","maven项目结构","meta","packag","pagehandl","public","resourc","src","url)","xxx","xxx=com.xxx.xxxpagehandl","xxxpagehandl","xxxpagehandler.java","{","|","}","对等网络节点组网器。","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","没有配置page属性时,使用此配置","页面扩展"],"SPI参考手册/缓存扩展.html":["(实现statuschecker接口)","(纯文本文件,内容为:xxx=com.xxx.xxxcachefactory)","...","//","1.","2.","3.","4.","5.","6.24",">","cach","cache(url","cachefactori","class","com","com.alibaba.dubbo.cache.cache;","com.alibaba.dubbo.cache.cachefactori","com.alibaba.dubbo.cache.cachefactory;","com.alibaba.dubbo.cache.support.jcache.jcachefactori","com.alibaba.dubbo.cache.support.lru.lrucachefactori","com.alibaba.dubbo.cache.support.threadlocal.threadlocalcachefactori","com.xxx;","dubbo","get(object","getcache(url","implement","import","inf","inf/dubbo/com.alibaba.dubbo.cache.cachefactori","java","key)","key,","main","maven项目结构","meta","name)","name);","new","object","packag","public","put(object","resourc","return","src","string","url,","value)","void","xxx","xxx=com.xxx.xxxcachefactori","xxxcach","xxxcache(url,","xxxcachefactori","xxxcachefactory.java","{","|","}","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","没有配置cache属性时,使用此配置","用请求参数作为key,缓存返回结果。","缓存扩展"],"SPI参考手册/验证扩展.html":["(实现validation接口)","(纯文本文件,内容为:xxx=com.xxx.xxxvalidation)","...","//","1.","2.","3.","4.","5.","6.25",">","class","com","com.alibaba.dubbo.validation.support.jvalidation.jvalid","com.alibaba.dubbo.validation.valid","com.alibaba.dubbo.validation.validation;","com.alibaba.dubbo.validation.validator;","com.xxx;","dubbo","except","getvalidator(url","implement","import","inf","inf/dubbo/com.alibaba.dubbo.validation.valid","invocation)","java","main","maven项目结构","meta","object","packag","public","resourc","src","throw","url)","valid","validate(invoc","void","xxx","xxx=com.xxx.xxxvalid","xxxvalid","xxxvalidation.java","xxxvalidator(url","xxxvalidator.java","{","|","}","参数验证扩展点。","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","没有配置validation属性时,使用此配置","验证扩展"],"SPI参考手册/日志适配扩展.html":["(实现loggeradapter接口)","(纯文本文件,内容为:xxx=com.xxx.xxxloggeradapter)","...","//","1.","2.","3.","4.","5.","6.26","class","com","com.alibaba.dubbo.common.logger.jcl.jclloggeradapt","com.alibaba.dubbo.common.logger.jdk.jdkloggeradapt","com.alibaba.dubbo.common.logger.log4j.log4jloggeradapt","com.alibaba.dubbo.common.logger.logger;","com.alibaba.dubbo.common.logger.loggeradapt","com.alibaba.dubbo.common.logger.loggeradapter;","com.alibaba.dubbo.common.logger.slf4j.slf4jloggeradapt","com.xxx;","ddubbo:application.logger=xxx","dubbo","getlogger(url","implement","import","inf","inf/dubbo/com.alibaba.dubbo.common.logger.loggeradapt","info(str","java","logger","loggeradapt","main","maven项目结构","meta","msg)","packag","public","resourc","src","url)","void","xxx","xxx=com.xxx.xxxloggeradapt","xxxlogger","xxxlogger(url","xxxlogger.java","xxxloggeradapt","xxxloggeradapter.java","{","|","}","已知扩展","扩展接口","扩展示例","扩展说明","扩展配置","日志输出适配扩展点。","日志适配扩展"],"技术兼容性测试.html":["(technolog","7","compat","dubbo的协议,通讯,序列化,注册中心,负载均策等扩展点,都有多种可选策略,以应对不同应用场景,而我们的测试用例很分散,当用户自己需要加一种新的实现时,总是不确定能否满足扩展点的完整契约。","final/html/introduction.html","kit),用户增加一种扩展实现,只需通过tck,即可确保与框架的其它部分兼容运行,可以有效提高整体健状性,也方便第三方扩展者接入,加速开源社区的成熟。","protocol","registri","tck","tck,做一个dubbo的tck基础框架,在此之上实现dubbo的扩展点tck用例。","todo","参见:http://docs.jboss.org/cdi/tck/reference/1.0.1","如果大家有兴趣,也可以一起研究,和行知一块讨论。","开源社区的行知同学已着手研究这一块,他的初步想法是借鉴jboss的cdi","所以,我们需要对核心扩展点写","技术兼容性测试"],"公共契约.html":["8","url","url采用标准格式:protocol://username:password@host:port/path?key=value&key=valu","公共契约","如果不可恢复或需要报警,打印error日志。","如果可恢复异常,或瞬时的状态不一致,打印warn日志。","所有扩展点参数都包含url参数,url作为上下文信息贯穿整个扩展点设计体系。","日志","正常运行时的中间状态提示,打印info日志。","这里记录的是dubbo公共契约,希望所有扩展点遵守。"],"坏味道.html":["\"dubbo\"))","\"http://10.20.160.198/wiki/display/dubbo/transport.type\"})","\"key2\"},表示","\"script\"))","\"script\")).addparameter(\"type\",","#","$adp","()","1.","168","2.","3.","4.","5.","9",";","==",">provider的长连接上,自动在consumer端暴露一个服务(实现方法参数上声明的接口a),provider端便可反向调用到consumer端的接口实例.","@adaptive({\"http://10.20.160.198/wiki/display/dubbo/car.type\",","@adaptive注解使用如下:","@extens","adapt","address/com.alibaba.dubbo.registry.registryserevice)","address/com.alibaba.dubbo.registry.registryserevice?registry=dubbo&export=encode(dubbo://provid","address/com.alibaba.dubbo.registry.registryserevice?registry=dubbo&refer=encode(version=1.0.0))","address/com.xxx.xxxservice?router=script&type=js&rule=encode(function{...}))","address/com.xxx.xxxservice?type=js&rule=encode(function{...}))","address/com.xxx.xxxservice?version=1.0.0\")","address/com.xxx.xxxservice?version=1.0.0)","address/com.xxx.xxxservice?version=1.0.0))","arg1,","arg2);","a暴露了多个服务,jvm","b引用了a中的多个服务,共享连接是说a与b多个服务调用是通过同一个tcp长连接进行数据传输,已达到减少服务端连接数的目的.","callback功能","car","class","connection(称为幽灵连接),用于当出现异常场景时,避免影响业务逻辑的正常调用.","destroy时不能关闭连接。在实现中采用了引用计数的方案,但为了防范,在连接关闭时,重新建立了一个lazi","dubbo","dubboprotocol特有功能,默认关闭","dubboprotocol特有功能,默认开启","export(dubbo://provid","export(registry://registri","extension\");","extensionloader加载扩展点时,会检查扩展点的属性(通过set方法判断),如该属性是扩展点类型,则会注入扩展点对象。因为注入时不能确定使用哪个扩展点(在使用时确定),所以注入的是一个自适应扩展(一个代理)。自适应扩展点调用时,选取一个真正的扩展点,并代理到其上完成调用。dubbo是根据调用方法参数(上面有调用哪个扩展点的信息)来选取一个真正的扩展点。","extensionloader生成的自适应扩展点类如下:","getregistry(dubbo://registri","getroute(file://path/file.js?router=script)","getroute(script://path/file.js?type=js&rule=encode(function{...}))","getroute(script://registri","group","if(是否有url类型方法参数?)","if(是否有方法类型上有url属性)","if(获取的url","illegalargumentexception(\"url","illegalstateexception(\"fail","implement","interfac","jvm","key1没有value,则使用key2的value作为要adapt成的extension名。","key2没有value,使用缺省的扩展。","lazy连接","method!\");","new","notify(dubbo://provid","notify(route://registri","null\");","null)","object,所以将实例方法存储在staticmap中,此处实现需要进行改造,http://code.alibabatech.com/jira/browse/dubbo","packag","path","public","read(file))","refer(dubbo://provid","refer(registry://registri","register(dubbo://provid","run(url","sticki","sticky策略默认开启了连接的lazy选项,用于避免开启无用的连接.","subscribe(dubbo://registri","suffix(file)).addparameter(\"rule\",","throw","timeout","token","type1","type2","unsupportedoperationexception(\"i","url,","url.addparameters(url.getparameteranddecoded(\"refer\"))","url.getparameteranddecoded(\"export\"))","url.setprotocol(url.getparameter(\"registry\",","url.setprotocol(url.getparameter(\"router\",","url转换","version","{","{\"key1\",","{\"yyy.invoker.wrapper\"}","}","为了在传输时能够对回调接口实例进行转换,自动暴露与自动引用目前在dubbocodec中实现.此处需要考虑将此逻辑与codec逻辑分离.","主要原理:在一个consum","主要原理:consumer在invoke方法时,判断如果有配置onreturn/onerror...则将onreturn对应的参数值(实例方法)加入到异步调用的回调列表中.","事件通知","从文件加载路由规则","从文件加载路由规则:","从注册中心订阅服务:","使用的dubbo版本","使用该url参数","使用该url属性","先在url上找key1的value作为要adapt成的extension名;","共享连接","参数回调","向注册中心暴露服务:","在dubbo给定所有的扩展点上调用都有url参数(整个扩展点网的上下文信息)。自适应扩展即是从url确定要调用哪个扩展点实现。url哪个key的value用来确定使用哪个扩展点,这个信息通过的@adaptive注解在方法上说明。","在扩展点实现调用该方法,并返回结果。","在根据invocation信息获取exporter时,需要判断是否是回调,如果是回调,会从attachments中取得回调服务实例的id,在获取exporter,此处用于consumer端可以对同一个callback接口做不同的实现。","坏味道","如url没有value,则使用缺省扩展点实现。如没有扩展点,","如果url这些key都没有value,使用","如果不设置则缺省使用extension接口类名的点分隔小写字串。即对于extension接口com.alibaba.dubbo.xxx.yyyinvokerwrapper的缺省值为string[]","如果所有的服务提供者都不可用,重新遍历整个列表(优先从没有选过的列表中选择),判断是否有可用的服务提供者(选择过程中,不可用的服务提供者可能会恢复到可用状态),如果有,则进行后续调用","如果没有设定缺省扩展,则方法调用会抛出illegalstateexception。","如果第一步选择的服务提供者不可用,则从剩余服务提供者列表中继续选择,如果可用,进行后续调用","如果第三步没有选择出可用的服务提供者,会选第一步选出的invoker中的下一个(如果不是最后一个),避免碰撞.","存在多个服务提供者的情况下,首先根据loadbalance进行选择,如果选择的provider处于可用状态,则进行后续调用","实现细节:","实现细节:参数的传递采用url,但url中没有支持str","实现细节:对于同一个地址由于使用了共享连接,那invoker的destroy就需要特别注意,一方面要满足对同一个地址refer的invoker全部destroy后,连接需要关闭,另一方面还需要注意如何避免部分invok","当客户端与服务端创建代理时,暂不建立tcp长连接,当有数据请求时在做连接初始化","扩展点的加载","有多个服务提供者的情况下,配置了sticky后,在提供者可用的情况下,调用会继续发送到上一次的服务提供者.","服务分组","服务提供者选择逻辑","服务版本","服务路径","根据@adaptive注解上声明的key的顺序,从url获致value,作为实际扩展点名。","此项功能自动关闭连接重试功能,开启发送重试功能(即发送数据时如果连接已断开,尝试重新建立连接)","注册中心推送路由规则","注册中心路由规则推送:","注册服务地址:","点对点暴露和引用服务","点对点直连服务:","用","由于自适应扩展点的上面的约定,extensionloader会为扩展点自动生成自适应扩展点类(通过字节码),并将其实例注入。","直接暴露服务:","策略","缺省的扩展(在接口的default中设定的值)。比如,string[]","自适应扩展点","获取注册中心:","获取路由器:","订阅服务地址:","调用参数","调用超时","这里记录的是dubbo设计或实现不优雅的地方。","通知服务地址:","通过注册中心引用服务","通过注册中心暴露服务","验证令牌"],"编码约定.html":["\"号分隔(spring约定)。","10","aop类都命名为xxxwrapper,基类都命名为abstractxxx。","code","comment","convent","doc","dubbo","java","javadoc","languag","program","rpcexception不能有子类型,所有类型信息用errorcode标识,以便保持兼容。","rpcexception是dubbo对外的唯一异常类型,所有内部异常,如果要抛出给用户,必须转为rpcexception。","tool","url参数全部用小写,多个单词用\".\"号分隔(dubbo约定)。","write","保持单元测试用例的运行速度,不要将性能和大的集成用例放在单元测试中。","保持单元测试的每个用例都用try...finally或teardown释放资源。","减少while循环等待结果的测试用例,对定时器和网络的测试,用以将定时器中的逻辑抽为方法测试。","单元和集成测试:","单元测试统一用junit和easymock,集成测试用testng,数据库测试用dbunit。","基于复用度分包,总是一起使用的放在同一包下,将接口和基类分成独立模块,大的实现也使用独立模块。","基类也是spi的一部分,每个扩展点都应该有方便使用的基类支持。","对于容错行为的测试,比如failsafe的测试,统一用logutil断言日志输出。","对多种相似类型的抽象,用基类实现,比如rmi,hessian等第三方协议都已生成了接口代理,只需将将接口代理转成invoker即可完成桥接,它们可以用公共基类实现此逻辑。","尽可能携带完整的上下文信息,比如出错原因,出错的机器地址,调用对方的地址,连的注册中心地址,使用dubbo的版本等。","尽可能用url传参,不要自定义map或其它上下文格式,配置信息也转成url格式使用。","尽量保持子包依赖父包,而不要反向。","尽量减少url嵌套,保持url的简洁性。","尽量将直接原因写在最前面,所有上下文信息,在原因后用键值对显示。","尽量采用aop实现扩展点的通用行为,而不要用基类,比如负载均衡之前的isavailable检查,它是独立于负载均衡之外的,不需要检查的是url参数关闭。","尽量采用ioc注入扩展点之间的依赖,不要直接依赖extensionloader的工厂方法。","建议应用方在监控中心配置error日志实时报警,warn日志每周汇总发送通知。","异常和日志:","所有接口都放在模块的根包下,基类放在support子包下,不同实现用放在以扩展点名字命名的子包下。","打印error日志表示需要报警,打印warn日志表示可以自动恢复,打印info表示正常信息或完全不影响运行。","扩展点之间的组合将关系由aop完成,extensionloader只负载加载扩展点,包括aop扩展。","扩展点基类与aop:","抛出异常的地方不用打印日志,由最终处理异常者决定打印日志的级别,吃掉异常必需打印日志。","模块与分包:","的源代码和","编码约定","遵循以下的规范:","配置和url:","配置对象属性首字母小写,多个单词用驼峰命名(java约定)。","配置属性全部用小写,多个单词用\""],"检查列表.html":["11","bug","chang","check","code","code(正常流程/异常流程)","find","jira","list","owner向partner讲述一遍实现。","partner","partner以用户的方式运行一下功能","partner发现问题、添加测试(集成测试)复现总是;owner完成实现。(保证两方的时间投入patternercheck","svn","test","ticket","ticket关联cod","代码注释写清楚,用中文无妨","以上内容都写到ticket的评论上","修复代码前先写测试用例","修复代码前先建ticket","修复时checklist","发布前checklist","契约文档化","检查列表","每个版本要有owner,确保scope和check","的给予时间保证)","讲一遍逻辑","过一遍","需要伙伴检查"],"设计原则.html":["12","一些设计上的基本常识","扩展点重构","设计原则","设计实现的健壮性","谈谈扩充式扩展与增量式扩展","配置设计","防痴呆设计","魔鬼在细节中"]},"length":39},"tokenStore":{"root":{"0":{"2":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}},"4":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.007936507936507936}}},"docs":{},"%":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.11904761904761904}}}},"1":{"0":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":5}}},"1":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":5}}},"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{"设计原则.html":{"ref":"设计原则.html","tf":5}}},"6":{"8":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}},"docs":{}},"docs":{"contribution.html":{"ref":"contribution.html","tf":5}},".":{"5":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}},"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.011278195488721804},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.01971830985915493},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304},"坏味道.html":{"ref":"坏味道.html","tf":0.015957446808510637}}}},"2":{"0":{"1":{"2":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.011904761904761904}}},"docs":{}},"8":{"8":{"0":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}},"docs":{}},"docs":{}},"docs":{},"%":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}},"7":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.007936507936507936}}},"docs":{"版本管理.html":{"ref":"版本管理.html","tf":5}},".":{"2":{"docs":{},".":{"1":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}},"docs":{}}},"4":{"docs":{},".":{"docs":{},"x":{"docs":{},"不":{"docs":{},"再":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"碰":{"docs":{},"到":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"让":{"docs":{},"直":{"docs":{},"接":{"docs":{},"升":{"docs":{},"级":{"docs":{},"。":{"docs":{},"(":{"docs":{},"这":{"docs":{},"个":{"docs":{},"称":{"docs":{},"为":{"docs":{},"“":{"docs":{},"夕":{"docs":{},"阳":{"docs":{},"条":{"docs":{},"款":{"docs":{},"”":{"docs":{},")":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"5":{"docs":{},".":{"docs":{},"x":{"docs":{},"成":{"docs":{},"为":{"docs":{},"g":{"docs":{},"a":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"只":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},",":{"docs":{},"推":{"docs":{},"广":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{},"如":{"docs":{},"何":{"docs":{},"可":{"docs":{},"行":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"推":{"docs":{},"进":{"docs":{},"应":{"docs":{},"用":{"docs":{},"在":{"docs":{},"期":{"docs":{},"望":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"点":{"docs":{},"内":{"docs":{},"升":{"docs":{},"级":{"docs":{},"到":{"docs":{},"g":{"docs":{},"a":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"新":{"docs":{},"功":{"docs":{},"能":{"docs":{},"基":{"docs":{},"本":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"后":{"docs":{},",":{"docs":{},"进":{"docs":{},"入":{"2":{"docs":{},".":{"5":{"docs":{},".":{"docs":{},"x":{"docs":{},"试":{"docs":{},"用":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"。":{"docs":{},"找":{"docs":{},"足":{"docs":{},"够":{"docs":{},"多":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"试":{"docs":{},"用":{"2":{"docs":{},".":{"5":{"docs":{},".":{"docs":{},"x":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}},"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.011278195488721804},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.01971830985915493},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304},"坏味道.html":{"ref":"坏味道.html","tf":0.010638297872340425}}},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},"并":{"docs":{},"行":{"docs":{},"开":{"docs":{},"发":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}},"3":{"0":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}},"docs":{"源码构建.html":{"ref":"源码构建.html","tf":5}},".":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.011278195488721804},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.014084507042253521},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304},"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}},"4":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":5}},".":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.014084507042253521},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304},"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}},"5":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":5}},".":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.014084507042253521},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304},"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}},"6":{"docs":{"SPI参考手册/introduction.html":{"ref":"SPI参考手册/introduction.html","tf":5}},".":{"1":{"0":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":5}}},"1":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":5}}},"2":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":5}}},"3":{"docs":{"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":5}}},"4":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":5}}},"5":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":5}}},"6":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":5}}},"7":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":5}}},"8":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":5}}},"9":{"docs":{"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":5}}},"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":5}}},"2":{"0":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":5}}},"1":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":5}}},"2":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":5}}},"3":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":5}}},"4":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":5}}},"5":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":5}}},"6":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":5}}},"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":5}}},"3":{"docs":{"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":5}}},"4":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":5}}},"5":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":5}}},"6":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":5}}},"7":{"docs":{"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":5}}},"8":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":5}}},"9":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":5}}},"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.008450704225352112}}}},"7":{"docs":{"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":5}},".":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}},"8":{"docs":{"公共契约.html":{"ref":"公共契约.html","tf":5}}},"9":{"0":{"docs":{},"%":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.007936507936507936}}}},"docs":{"坏味道.html":{"ref":"坏味道.html","tf":5}}},"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":10}}}}}}}},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"j":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.014326647564469915},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.008450704225352112},"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}},"e":{"docs":{},")":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"发":{"docs":{},"现":{"docs":{},"机":{"docs":{},"制":{"docs":{},"加":{"docs":{},"强":{"docs":{},"而":{"docs":{},"来":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.02857142857142857}}}}}},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}},"是":{"docs":{},"会":{"docs":{},"话":{"docs":{},"域":{"docs":{},",":{"docs":{},"它":{"docs":{},"持":{"docs":{},"有":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},"等":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}}}}}}}}},"k":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.013888888888888888},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.041353383458646614},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.023809523809523808}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}},"是":{"docs":{},"实":{"docs":{},"体":{"docs":{},"域":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"模":{"docs":{},"型":{"docs":{},"都":{"docs":{},"向":{"docs":{},"它":{"docs":{},"靠":{"docs":{},"扰":{"docs":{},",":{"docs":{},"或":{"docs":{},"转":{"docs":{},"换":{"docs":{},"成":{"docs":{},"它":{"docs":{},",":{"docs":{},"它":{"docs":{},"代":{"docs":{},"表":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"体":{"docs":{},",":{"docs":{},"可":{"docs":{},"向":{"docs":{},"它":{"docs":{},"发":{"docs":{},"起":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"它":{"docs":{},"有":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"本":{"docs":{},"地":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"远":{"docs":{},"程":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"能":{"docs":{},"一":{"docs":{},"个":{"docs":{},"集":{"docs":{},"群":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}},")":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.011278195488721804},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.02666666666666667},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},",":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}}}}},"(":{"docs":{},")":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}},"f":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}},",":{"docs":{},"内":{"docs":{},"容":{"docs":{},"为":{"docs":{},":":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}},"x":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}}}}}}}}}}}}}},"p":{"2":{"docs":{},"p":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516}}}}}}}}}}}},"docs":{}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"全":{"docs":{},"限":{"docs":{},"定":{"docs":{},"名":{"docs":{},",":{"docs":{},"内":{"docs":{},"容":{"docs":{},"为":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"名":{"docs":{},"=":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"全":{"docs":{},"限":{"docs":{},"定":{"docs":{},"名":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"用":{"docs":{},"换":{"docs":{},"行":{"docs":{},"符":{"docs":{},"分":{"docs":{},"隔":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}},"c":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}},"d":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.01904761904761905}},"e":{"docs":{},"a":{"docs":{},":":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"a":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}},";":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.011461318051575931}}}},"t":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.008595988538681949},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.022727272727272728},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.018867924528301886},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.022222222222222223},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.021739130434782608},"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.022922636103151862},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.011278195488721804},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.03968253968253968},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.04},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.04},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.08080808080808081},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0547945205479452},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0547945205479452},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.016901408450704224},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.045454545454545456},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.03571428571428571},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.031746031746031744},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.031914893617021274},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.01485148514851485},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.025423728813559324},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.018867924528301886},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.022222222222222223},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.021739130434782608}}}}},"e":{"docs":{},"l":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288}}}}}},"o":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.02127659574468085}}}}}}}}},"f":{"docs":{},"(":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"类":{"docs":{},"型":{"docs":{},"方":{"docs":{},"法":{"docs":{},"参":{"docs":{},"数":{"docs":{},"?":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"类":{"docs":{},"型":{"docs":{},"上":{"docs":{},"有":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"属":{"docs":{},"性":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"《":{"docs":{},"开":{"docs":{},"发":{"docs":{},"者":{"docs":{},"指":{"docs":{},"南":{"docs":{},"》":{"docs":{"./":{"ref":"./","tf":1}}}}}},"指":{"docs":{},"南":{"docs":{},"》":{"docs":{},"翻":{"docs":{},"译":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"指":{"docs":{},"南":{"docs":{},"》":{"docs":{},"翻":{"docs":{},"译":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}}}}},"a":{"docs":{},"c":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}},"v":{"docs":{},"r":{"docs":{},"o":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.008595988538681949},"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"实":{"docs":{},"例":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.010638297872340425}}},"?":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"&":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},")":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"?":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"&":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"=":{"docs":{},"j":{"docs":{},"s":{"docs":{},"&":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"=":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"{":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"=":{"docs":{},"j":{"docs":{},"s":{"docs":{},"&":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"=":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"{":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.02127659574468085}},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}}}}},"r":{"docs":{},"g":{"1":{"docs":{},",":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}},"2":{"docs":{},")":{"docs":{},";":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}},"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}},"暴":{"docs":{},"露":{"docs":{},"了":{"docs":{},"多":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"j":{"docs":{},"v":{"docs":{},"m":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"类":{"docs":{},"都":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"都":{"docs":{},"命":{"docs":{},"名":{"docs":{},"为":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}},"h":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.018867924528301886}},"e":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}}}}}}},"r":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.011461318051575931},"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.02005730659025788}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"造":{"docs":{},"车":{"docs":{},"者":{"docs":{},")":{"docs":{},"、":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"功":{"docs":{},"能":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"contribution.html":{"ref":"contribution.html","tf":5}}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"容":{"docs":{},"器":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"部":{"docs":{},"署":{"docs":{},"运":{"docs":{},"行":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"在":{"docs":{},"层":{"docs":{},"中":{"docs":{},"画":{"docs":{},"出":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.013888888888888888}}}}},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}},"s":{"docs":{},",":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"称":{"docs":{},"为":{"docs":{},"幽":{"docs":{},"灵":{"docs":{},"连":{"docs":{},"接":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"当":{"docs":{},"出":{"docs":{},"现":{"docs":{},"异":{"docs":{},"常":{"docs":{},"场":{"docs":{},"景":{"docs":{},"时":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"影":{"docs":{},"响":{"docs":{},"业":{"docs":{},"务":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"的":{"docs":{},"正":{"docs":{},"常":{"docs":{},"调":{"docs":{},"用":{"docs":{},".":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}},"d":{"docs":{},"e":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608},"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}},"c":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}},"(":{"docs":{},"正":{"docs":{},"常":{"docs":{},"流":{"docs":{},"程":{"docs":{},"/":{"docs":{},"异":{"docs":{},"常":{"docs":{},"流":{"docs":{},"程":{"docs":{},")":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}}}}}}}}}},"m":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},";":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.008595988538681949}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.03225806451612903}}},"y":{"docs":{},";":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},";":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.03125}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625}}}}}}}}}}}}}}}},"d":{"docs":{},"k":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.031746031746031744}},";":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"2":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}},"docs":{}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}},";":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}},";":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.02127659574468085}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.02702702702702703}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"c":{"docs":{},"l":{"docs":{},".":{"docs":{},"j":{"docs":{},"c":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"k":{"docs":{},".":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"4":{"docs":{},"j":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"4":{"docs":{},"j":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}}}}}}}}}},"docs":{}}}}}}},"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.021739130434782608}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}}}}}}}}}}},"s":{"docs":{},"l":{"docs":{},"f":{"4":{"docs":{},"j":{"docs":{},".":{"docs":{},"s":{"docs":{},"l":{"docs":{},"f":{"4":{"docs":{},"j":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}}}}}}}}}},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.028169014084507043}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}}}}}},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"j":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"4":{"docs":{},"j":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}}}}}}}}}}},"docs":{}}}},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.03125}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625}}}}}}}}}}}}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},";":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.018867924528301886}}},"y":{"docs":{},";":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"j":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"r":{"docs":{},"u":{"docs":{},".":{"docs":{},"l":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.015873015873015872}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.008595988538681949},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203}},";":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}},"x":{"docs":{},"y":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"k":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.023809523809523808}}},"y":{"docs":{},";":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}}}}}}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.02666666666666667}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"j":{"docs":{},"v":{"docs":{},"m":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"j":{"docs":{},"v":{"docs":{},"m":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.02666666666666667}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}}}}}}}}}}}}},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},".":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},";":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}},"p":{"docs":{},"c":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.020202020202020204}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},";":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0273972602739726}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0273972602739726}}},"y":{"docs":{},";":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.03225806451612903}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516}}}}}}}}}},";":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"#":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},")":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}},"}":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}},";":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}},"y":{"docs":{},";":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}}},"y":{"docs":{},";":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"#":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{},"}":{"docs":{},"的":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.03076923076923077}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.009900990099009901}},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"y":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"z":{"docs":{},"l":{"docs":{},"y":{"docs":{},".":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"z":{"docs":{},"l":{"docs":{},"y":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},".":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.022988505747126436}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288}},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}}}}},"r":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}}}}}}}}}}}},";":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"2":{"docs":{},"p":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.03225806451612903}},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516}}}}}}}}}}}}},"m":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}},";":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.022727272727272728}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.022727272727272728}}},"y":{"docs":{},";":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"j":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"j":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.022222222222222223}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}}}}}},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},";":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},";":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.011278195488721804},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.022727272727272728},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.01485148514851485},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.025423728813559324},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.018867924528301886},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.022222222222222223},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.021739130434782608}}}}}}},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625}}}},"a":{"docs":{},"t":{"docs":{"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":0.058823529411764705}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}},":":{"docs":{},"\\":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.02005730659025788},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.011278195488721804},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.022727272727272728},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.023809523809523808},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.01485148514851485},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.025423728813559324},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.018867924528301886},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.022222222222222223},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.021739130434782608},"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.01904761904761905}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.01904761904761905}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.013888888888888888},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.013888888888888888}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.009900990099009901}},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.019801980198019802}}}}}}}}}},"g":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}},"(":{"docs":{},")":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}}}}},"j":{"docs":{},"c":{"docs":{},"r":{"docs":{},"/":{"docs":{},"j":{"docs":{},"s":{"docs":{},"r":{"2":{"8":{"3":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"m":{"docs":{},"s":{"docs":{},"&":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"m":{"docs":{},"q":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}}}}}}},"x":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}},"r":{"1":{"4":{"0":{"docs":{},"&":{"docs":{},"s":{"docs":{},"l":{"docs":{},"p":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}},"docs":{}},"8":{"1":{"docs":{},"&":{"docs":{},"c":{"docs":{},"x":{"docs":{},"f":{"docs":{},"(":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"3":{"1":{"1":{"docs":{},"&":{"docs":{},"j":{"docs":{},"s":{"docs":{},"r":{"3":{"3":{"9":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"docs":{}},"docs":{}},"docs":{}}},"t":{"docs":{},"a":{"docs":{},"/":{"docs":{},"x":{"docs":{},"a":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"事":{"docs":{},"务":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.01904761904761905}}},"v":{"docs":{},"a":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.01904761904761905},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.03125},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.028169014084507043},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304},"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}},".":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},";":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.043478260869565216}}}}}}}},"d":{"docs":{},"k":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"会":{"docs":{},"一":{"docs":{},"次":{"docs":{},"性":{"docs":{},"实":{"docs":{},"例":{"docs":{},"化":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"所":{"docs":{},"有":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"实":{"docs":{},"现":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"很":{"docs":{},"耗":{"docs":{},"时":{"docs":{},",":{"docs":{},"但":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"用":{"docs":{},"上":{"docs":{},"也":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"会":{"docs":{},"很":{"docs":{},"浪":{"docs":{},"费":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}}}}}},"v":{"docs":{},"m":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}},"i":{"docs":{},"r":{"docs":{},"a":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}},"l":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}},"o":{"docs":{},"g":{"4":{"docs":{},"j":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}}}},"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.021739130434782608}},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}},">":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863}}},"e":{"docs":{},"n":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}},";":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}}}}}}}}}}},"a":{"docs":{},"z":{"docs":{},"y":{"docs":{},"连":{"docs":{},"接":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"a":{"docs":{},"g":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}},"m":{"2":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}},"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968},"源码构建.html":{"ref":"源码构建.html","tf":0.047619047619047616}},"_":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}},"s":{"docs":{},"=":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}},"项":{"docs":{},"目":{"docs":{},"结":{"docs":{},"构":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}},"k":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}},";":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}},"v":{"docs":{},"n":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.05714285714285714}}}},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.013888888888888888},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.022727272727272728}},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}},"i":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}},"代":{"docs":{},"表":{"docs":{},"层":{"docs":{},"或":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"的":{"docs":{},"表":{"docs":{},"示":{"docs":{},"与":{"docs":{},"业":{"docs":{},"务":{"docs":{},"有":{"docs":{},"交":{"docs":{},"互":{"docs":{},",":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"的":{"docs":{},"表":{"docs":{},"示":{"docs":{},"只":{"docs":{},"对":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"内":{"docs":{},"部":{"docs":{},"交":{"docs":{},"互":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"署":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"拓":{"docs":{},"普":{"docs":{},"节":{"docs":{},"点":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}},"划":{"docs":{},"分":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"拓":{"docs":{},"普":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"保":{"docs":{},"持":{"docs":{},"统":{"docs":{},"一":{"docs":{},"概":{"docs":{},"念":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.015873015873015872},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.02666666666666667},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.02666666666666667},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.020202020202020204},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0273972602739726},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0273972602739726},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.03225806451612903},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.022727272727272728},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.03225806451612903},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.023809523809523808},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.03125},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.03076923076923077},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.031746031746031744},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.02127659574468085},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.009900990099009901},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.03225806451612903},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.022988505747126436},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.02702702702702703},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.028169014084507043},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.03125},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.018867924528301886},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.022222222222222223},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.021739130434782608}}},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"!":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}}},"t":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516}}}}}}},"r":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516}}}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},")":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}},"s":{"docs":{},"g":{"docs":{},")":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"i":{"docs":{},"o":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}},"m":{"docs":{},"e":{"docs":{},")":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.018867924528301886}},";":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}},"e":{"docs":{},"w":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.02127659574468085},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.009900990099009901},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"坏味道.html":{"ref":"坏味道.html","tf":0.015957446808510637}}},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516}}}}}}}},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.014084507042253521}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"b":{"docs":{},"u":{"docs":{},"f":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.008595988538681949},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203},"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":0.058823529411764705}},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}},"层":{"docs":{},"和":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"层":{"docs":{},"都":{"docs":{},"放":{"docs":{},"在":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},",":{"docs":{},"这":{"docs":{},"两":{"docs":{},"层":{"docs":{},"是":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"的":{"docs":{},"核":{"docs":{},"心":{"docs":{},",":{"docs":{},"在":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"集":{"docs":{},"群":{"docs":{},"时":{"docs":{},"(":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"只":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"两":{"docs":{},"层":{"docs":{},"完":{"docs":{},"成":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"服":{"docs":{},"务":{"docs":{},"域":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"和":{"docs":{},"引":{"docs":{},"用":{"docs":{},"的":{"docs":{},"主":{"docs":{},"功":{"docs":{},"能":{"docs":{},"入":{"docs":{},"口":{"docs":{},",":{"docs":{},"它":{"docs":{},"负":{"docs":{},"责":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"生":{"docs":{},"命":{"docs":{},"周":{"docs":{},"期":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}},";":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.024752475247524754}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}},"x":{"docs":{},"i":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}},"y":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}}}}}}}},"层":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"透":{"docs":{},"明":{"docs":{},"化":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"其":{"docs":{},"它":{"docs":{},"层":{"docs":{},"都":{"docs":{},"以":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"为":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"到":{"docs":{},"了":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"给":{"docs":{},"用":{"docs":{},"户":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"才":{"docs":{},"用":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"将":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"转":{"docs":{},"成":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"或":{"docs":{},"将":{"docs":{},"接":{"docs":{},"口":{"docs":{},"实":{"docs":{},"现":{"docs":{},"转":{"docs":{},"成":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"去":{"docs":{},"掉":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"层":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"是":{"docs":{},"可":{"docs":{},"以":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"不":{"docs":{},"那":{"docs":{},"么":{"docs":{},"透":{"docs":{},"明":{"docs":{},",":{"docs":{},"不":{"docs":{},"那":{"docs":{},"么":{"docs":{},"看":{"docs":{},"起":{"docs":{},"来":{"docs":{},"像":{"docs":{},"调":{"docs":{},"本":{"docs":{},"地":{"docs":{},"服":{"docs":{},"务":{"docs":{},"一":{"docs":{},"样":{"docs":{},"调":{"docs":{},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525},"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.011278195488721804},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.022727272727272728},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.01485148514851485},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.025423728813559324},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.018867924528301886},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.022222222222222223},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.021739130434782608},"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},",":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.02127659574468085}}}}}}}}}},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}},"以":{"docs":{},"用":{"docs":{},"户":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"运":{"docs":{},"行":{"docs":{},"一":{"docs":{},"下":{"docs":{},"功":{"docs":{},"能":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}}}}}}}}},"发":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},"、":{"docs":{},"添":{"docs":{},"加":{"docs":{},"测":{"docs":{},"试":{"docs":{},"(":{"docs":{},"集":{"docs":{},"成":{"docs":{},"测":{"docs":{},"试":{"docs":{},")":{"docs":{},"复":{"docs":{},"现":{"docs":{},"总":{"docs":{},"是":{"docs":{},";":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"完":{"docs":{},"成":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"(":{"docs":{},"保":{"docs":{},"证":{"docs":{},"两":{"docs":{},"方":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{},"投":{"docs":{},"入":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625}}}}}}}}}},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"只":{"docs":{},"负":{"docs":{},"责":{"docs":{},"组":{"docs":{},"装":{"docs":{},"p":{"docs":{},"l":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"自":{"docs":{},"身":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"也":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"功":{"docs":{},"能":{"docs":{},"点":{"docs":{},"都":{"docs":{},"可":{"docs":{},"被":{"docs":{},"用":{"docs":{},"户":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"所":{"docs":{},"替":{"docs":{},"换":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.05157593123209169},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.03383458646616541},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.015873015873015872},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.04},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.04},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.030303030303030304},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0273972602739726},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0273972602739726},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.03225806451612903},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.028169014084507043},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.045454545454545456},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.03225806451612903},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.03571428571428571},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.03125},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.03076923076923077},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.031746031746031744},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.031914893617021274},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.04950495049504951},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.0423728813559322},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.03225806451612903},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.022988505747126436},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.02702702702702703},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.04225352112676056},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.03125},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.05660377358490566},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.05555555555555555},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.05434782608695652},"坏味道.html":{"ref":"坏味道.html","tf":0.026595744680851064}}}}}},"t":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"反":{"docs":{},"馈":{"docs":{},"修":{"docs":{},"改":{"docs":{},"。":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"由":{"docs":{},"协":{"docs":{},"议":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"协":{"docs":{},"议":{"docs":{},"通":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"此":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"发":{"docs":{},"送":{"docs":{},"远":{"docs":{},"程":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203}}}}}}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.013888888888888888},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.011267605633802818},"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":0.058823529411764705}}},"y":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.027777777777777776}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}},"i":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}},"和":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"不":{"docs":{},"算":{"docs":{},"一":{"docs":{},"层":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"全":{"docs":{},"局":{"docs":{},"概":{"docs":{},"览":{"docs":{},",":{"docs":{},"用":{"docs":{},"层":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"画":{"docs":{},"在":{"docs":{},"一":{"docs":{},"起":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}}}}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.009900990099009901},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}},"{":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.009900990099009901}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}},"e":{"docs":{},"语":{"docs":{},"义":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}},"信":{"docs":{},"息":{"docs":{},"交":{"docs":{},"换":{"docs":{},"语":{"docs":{},"义":{"docs":{},"。":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.023809523809523808},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}},";":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}},"s":{"docs":{},")":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.02127659574468085},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.009900990099009901},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}},"p":{"docs":{},"c":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.007936507936507936},"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.015037593984962405},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.02666666666666667},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.02666666666666667},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.020202020202020204},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.023809523809523808}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203}}},"不":{"docs":{},"能":{"docs":{},"有":{"docs":{},"子":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"型":{"docs":{},"信":{"docs":{},"息":{"docs":{},"用":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"标":{"docs":{},"识":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"保":{"docs":{},"持":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"对":{"docs":{},"外":{"docs":{},"的":{"docs":{},"唯":{"docs":{},"一":{"docs":{},"异":{"docs":{},"常":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"内":{"docs":{},"部":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"给":{"docs":{},"用":{"docs":{},"户":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"转":{"docs":{},"为":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"封":{"docs":{},"装":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"细":{"docs":{},"节":{"docs":{},"。":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863}}}}}}}}}},"s":{"docs":{},",":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}},"(":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}}}}}}}}},"n":{"docs":{},"m":{"docs":{},"p":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}},"u":{"docs":{},"b":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}}}}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.009900990099009901}}}}}}},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}},"m":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"\"":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},",":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"s":{"docs":{},"\\":{"docs":{},".":{"docs":{},"m":{"2":{"docs":{},"\\":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}}}}}}},"docs":{}}}}}}}}},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"层":{"docs":{},"放":{"docs":{},"在":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"更":{"docs":{},"大":{"docs":{},"程":{"docs":{},"度":{"docs":{},"复":{"docs":{},"用":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}},"i":{"docs":{},"c":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}},"e":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"i":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},">":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.04054054054054054},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.028169014084507043}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},")":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}}}}}},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.022988505747126436},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.018867924528301886}}}}}},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}},"y":{"docs":{},"策":{"docs":{},"略":{"docs":{},"默":{"docs":{},"认":{"docs":{},"开":{"docs":{},"启":{"docs":{},"了":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"l":{"docs":{},"a":{"docs":{},"z":{"docs":{},"y":{"docs":{},"选":{"docs":{},"项":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"避":{"docs":{},"免":{"docs":{},"开":{"docs":{},"启":{"docs":{},"无":{"docs":{},"用":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},".":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"使":{"docs":{},"用":{"docs":{},"范":{"docs":{},"围":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"接":{"docs":{},"口":{"docs":{},"仅":{"docs":{},"用":{"docs":{},"于":{"docs":{},"系":{"docs":{},"统":{"docs":{},"集":{"docs":{},"成":{"docs":{},",":{"docs":{},"或":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"功":{"docs":{},"能":{"docs":{},"插":{"docs":{},"件":{"docs":{},"。":{"docs":{"SPI参考手册/introduction.html":{"ref":"SPI参考手册/introduction.html","tf":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"考":{"docs":{},"手":{"docs":{},"册":{"docs":{"SPI参考手册/introduction.html":{"ref":"SPI参考手册/introduction.html","tf":5}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}}}}}}},"r":{"docs":{},"c":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}},"v":{"docs":{},"n":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}},"t":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}},"h":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872}}}}}}}}},"o":{"docs":{},"w":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.02631578947368421},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.02666666666666667},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.02666666666666667},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.020202020202020204},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.023809523809523808},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.02127659574468085},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.04455445544554455},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"坏味道.html":{"ref":"坏味道.html","tf":0.015957446808510637}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.024752475247524754}}}}}}}},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}},"层":{"docs":{},"和":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"层":{"docs":{},"都":{"docs":{},"放":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},",":{"docs":{},"为":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"基":{"docs":{},"础":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.022988505747126436},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":5}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.06896551724137931}}}}},"c":{"docs":{},"p":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}},"k":{"docs":{"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":0.17647058823529413}},",":{"docs":{},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"t":{"docs":{},"c":{"docs":{},"k":{"docs":{},"基":{"docs":{},"础":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"在":{"docs":{},"此":{"docs":{},"之":{"docs":{},"上":{"docs":{},"实":{"docs":{},"现":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"t":{"docs":{},"c":{"docs":{},"k":{"docs":{},"用":{"docs":{},"例":{"docs":{},"。":{"docs":{"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":0.058823529411764705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"1":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}},"2":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}},"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}},",":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.011278195488721804},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625}}}}}},"o":{"docs":{},"d":{"docs":{},"o":{"docs":{"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":0.11764705882352941}}}},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}},"o":{"docs":{},"l":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}},"关":{"docs":{},"联":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}}}}}}}},"u":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}},"n":{"docs":{},"i":{"docs":{},"x":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"i":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"l":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.018796992481203006},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.01971830985915493},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"公共契约.html":{"ref":"公共契约.html","tf":0.125}},")":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.011278195488721804},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.008450704225352112},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.022222222222222223},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.021739130434782608}},";":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.011267605633802818}}}},",":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.011267605633802818},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.019801980198019802},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.018867924528301886},"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},".":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"\"":{"docs":{},",":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.010638297872340425}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},")":{"docs":{},";":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}},"采":{"docs":{},"用":{"docs":{},"标":{"docs":{},"准":{"docs":{},"格":{"docs":{},"式":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"@":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"?":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"=":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"&":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"=":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"公共契约.html":{"ref":"公共契约.html","tf":0.125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"换":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}},"参":{"docs":{},"数":{"docs":{},"全":{"docs":{},"部":{"docs":{},"用":{"docs":{},"小":{"docs":{},"写":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"单":{"docs":{},"词":{"docs":{},"用":{"docs":{},"\"":{"docs":{},".":{"docs":{},"\"":{"docs":{},"号":{"docs":{},"分":{"docs":{},"隔":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"约":{"docs":{},"定":{"docs":{},")":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}},"x":{"1":{"0":{"2":{"4":{"docs":{},"m":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}}},"x":{"docs":{},":":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"=":{"5":{"1":{"2":{"docs":{},"m":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"x":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.015873015873015872},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.022988505747126436},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}},"=":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}},"x":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625}}}}}},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863}}}}}}}}}}}}}},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}}}}}}},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516}}}}},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.008595988538681949},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.015873015873015872}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203}}}}}}}}}}}},"x":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}},"y":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.023809523809523808}}}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.03125}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.02666666666666667}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516}}},"y":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.03225806451612903}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288}}}}}}}}}}}}},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.02666666666666667}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},",":{"docs":{},"a":{"docs":{},"a":{"docs":{},"a":{"docs":{},",":{"docs":{},"b":{"docs":{},"b":{"docs":{},"b":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.020202020202020204}}}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.009900990099009901}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.03125}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.028169014084507043}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}},"e":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}},"y":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.02830188679245283}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863}}},"y":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0273972602739726}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}},"y":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}},"y":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0273972602739726}}}}}}}}}}}}}}}},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.03225806451612903}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.022727272727272728}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}},"y":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.03076923076923077}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.031746031746031744}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.009900990099009901}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.022988505747126436}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{},";":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.02127659574468085}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.009900990099009901}},",":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.009900990099009901}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.03225806451612903}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.022222222222222223}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.022222222222222223}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}}}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}},"势":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}},"传":{"docs":{},"输":{"docs":{},"扩":{"docs":{},"展":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}},"入":{"docs":{},"的":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203}}}}},"低":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.047619047619047616}}},"修":{"docs":{},"改":{"docs":{},"后":{"docs":{},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}}}}},"复":{"docs":{},"代":{"docs":{},"码":{"docs":{},"前":{"docs":{},"先":{"docs":{},"写":{"docs":{},"测":{"docs":{},"试":{"docs":{},"用":{"docs":{},"例":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}},"建":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}}}}}}}},"时":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}}}}}}}}},"分":{"docs":{},"类":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}},"支":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}},"功":{"docs":{},"能":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}},"单":{"docs":{},"元":{"docs":{},"测":{"docs":{},"试":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}}},"动":{"docs":{},"态":{"docs":{},"代":{"docs":{},"理":{"docs":{},"扩":{"docs":{},"展":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":5}}}}}}}},"协":{"docs":{},"议":{"docs":{},"扩":{"docs":{},"展":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.031746031746031744},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":5}}}},"不":{"docs":{},"一":{"docs":{},"定":{"docs":{},"要":{"docs":{},"是":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}},"关":{"docs":{},"心":{"docs":{},"业":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"透":{"docs":{},"明":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"以":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}},"在":{"docs":{},"接":{"docs":{},"收":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"应":{"docs":{},"记":{"docs":{},"录":{"docs":{},"请":{"docs":{},"求":{"docs":{},"来":{"docs":{},"源":{"docs":{},"方":{"docs":{},"地":{"docs":{},"址":{"docs":{},"信":{"docs":{},"息":{"docs":{},":":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"新":{"docs":{},"增":{"docs":{},"工":{"docs":{},"程":{"docs":{},",":{"docs":{},"黑":{"docs":{},"盒":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"进":{"docs":{},"行":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"。":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},",":{"docs":{},"或":{"docs":{},"修":{"docs":{},"改":{"docs":{},"框":{"docs":{},"架":{"docs":{},"本":{"docs":{},"身":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"的":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"上":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"工":{"docs":{},"程":{"docs":{},"。":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"的":{"docs":{},"持":{"docs":{},"久":{"docs":{},"存":{"docs":{},"储":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"找":{"docs":{},"不":{"docs":{},"到":{"docs":{},"注":{"docs":{},"册":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"则":{"docs":{},"抛":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"加":{"docs":{},"载":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"连":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{},"都":{"docs":{},"拿":{"docs":{},"不":{"docs":{},"到":{"docs":{},"了":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"需":{"docs":{},"通":{"docs":{},"知":{"docs":{},"一":{"docs":{},"个":{"docs":{},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{},"y":{"docs":{},"协":{"docs":{},"议":{"docs":{},"并":{"docs":{},"带":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"标":{"docs":{},"识":{"docs":{},"性":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"订":{"docs":{},"阅":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}},"设":{"docs":{},"定":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"则":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"会":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"家":{"docs":{},"有":{"docs":{},"兴":{"docs":{},"趣":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"一":{"docs":{},"起":{"docs":{},"研":{"docs":{},"究":{"docs":{},",":{"docs":{},"和":{"docs":{},"行":{"docs":{},"知":{"docs":{},"一":{"docs":{},"块":{"docs":{},"讨":{"docs":{},"论":{"docs":{},"。":{"docs":{"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":0.058823529411764705}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"可":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"或":{"docs":{},"需":{"docs":{},"要":{"docs":{},"报":{"docs":{},"警":{"docs":{},",":{"docs":{},"打":{"docs":{},"印":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"日":{"docs":{},"志":{"docs":{},"。":{"docs":{"公共契约.html":{"ref":"公共契约.html","tf":0.125}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"则":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"使":{"docs":{},"用":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"接":{"docs":{},"口":{"docs":{},"类":{"docs":{},"名":{"docs":{},"的":{"docs":{},"点":{"docs":{},"分":{"docs":{},"隔":{"docs":{},"小":{"docs":{},"写":{"docs":{},"字":{"docs":{},"串":{"docs":{},"。":{"docs":{},"即":{"docs":{},"对":{"docs":{},"于":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"接":{"docs":{},"口":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"值":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"[":{"docs":{},"]":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"或":{"docs":{},"瞬":{"docs":{},"时":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"不":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"打":{"docs":{},"印":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"日":{"docs":{},"志":{"docs":{},"。":{"docs":{"公共契约.html":{"ref":"公共契约.html","tf":0.125}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"这":{"docs":{},"些":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"都":{"docs":{},"没":{"docs":{},"有":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"都":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},",":{"docs":{},"重":{"docs":{},"新":{"docs":{},"遍":{"docs":{},"历":{"docs":{},"整":{"docs":{},"个":{"docs":{},"列":{"docs":{},"表":{"docs":{},"(":{"docs":{},"优":{"docs":{},"先":{"docs":{},"从":{"docs":{},"没":{"docs":{},"有":{"docs":{},"选":{"docs":{},"过":{"docs":{},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"选":{"docs":{},"择":{"docs":{},")":{"docs":{},",":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"有":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"(":{"docs":{},"选":{"docs":{},"择":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"到":{"docs":{},"可":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},",":{"docs":{},"则":{"docs":{},"进":{"docs":{},"行":{"docs":{},"后":{"docs":{},"续":{"docs":{},"调":{"docs":{},"用":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"第":{"docs":{},"一":{"docs":{},"步":{"docs":{},"选":{"docs":{},"择":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},",":{"docs":{},"则":{"docs":{},"从":{"docs":{},"剩":{"docs":{},"余":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},"继":{"docs":{},"续":{"docs":{},"选":{"docs":{},"择":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"可":{"docs":{},"用":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"后":{"docs":{},"续":{"docs":{},"调":{"docs":{},"用":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"三":{"docs":{},"步":{"docs":{},"没":{"docs":{},"有":{"docs":{},"选":{"docs":{},"择":{"docs":{},"出":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},",":{"docs":{},"会":{"docs":{},"选":{"docs":{},"第":{"docs":{},"一":{"docs":{},"步":{"docs":{},"选":{"docs":{},"出":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"的":{"docs":{},"下":{"docs":{},"一":{"docs":{},"个":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"是":{"docs":{},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"个":{"docs":{},")":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"碰":{"docs":{},"撞":{"docs":{},".":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"没":{"docs":{},"有":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"如":{"docs":{},"没":{"docs":{},"有":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},",":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"已":{"docs":{},"认":{"docs":{},"领":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}},"知":{"docs":{},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}},":":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}},"注":{"docs":{},"册":{"docs":{},"信":{"docs":{},"息":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"含":{"docs":{},"义":{"docs":{},"同":{"docs":{},"{":{"docs":{},"@":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}},"总":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"含":{"docs":{},"义":{"docs":{},"同":{"docs":{},"{":{"docs":{},"@":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"k":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"扩":{"docs":{},"展":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.007936507936507936},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":5}}}}}}},"开":{"docs":{},"发":{"docs":{},"完":{"docs":{},"成":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.007936507936507936}}}}},"源":{"docs":{},"社":{"docs":{},"区":{"docs":{},"的":{"docs":{},"行":{"docs":{},"知":{"docs":{},"同":{"docs":{},"学":{"docs":{},"已":{"docs":{},"着":{"docs":{},"手":{"docs":{},"研":{"docs":{},"究":{"docs":{},"这":{"docs":{},"一":{"docs":{},"块":{"docs":{},",":{"docs":{},"他":{"docs":{},"的":{"docs":{},"初":{"docs":{},"步":{"docs":{},"想":{"docs":{},"法":{"docs":{},"是":{"docs":{},"借":{"docs":{},"鉴":{"docs":{},"j":{"docs":{},"b":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"的":{"docs":{},"c":{"docs":{},"d":{"docs":{},"i":{"docs":{"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":0.058823529411764705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"待":{"docs":{},"定":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.23412698412698413}}}},"性":{"docs":{},"能":{"docs":{},"基":{"docs":{},"准":{"docs":{},"测":{"docs":{},"试":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"性":{"docs":{},"测":{"docs":{},"试":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}},"使":{"docs":{},"用":{"docs":{},"单":{"docs":{},"一":{"docs":{},"实":{"docs":{},"例":{"docs":{},"加":{"docs":{},"载":{"docs":{},"(":{"docs":{},"请":{"docs":{},"确":{"docs":{},"保":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"安":{"docs":{},"全":{"docs":{},"性":{"docs":{},")":{"docs":{},",":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"在":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":5}},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":5}}}}}},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"会":{"docs":{},"有":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"(":{"docs":{},"或":{"docs":{},"是":{"docs":{},"参":{"docs":{},"数":{"docs":{},"有":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"成":{"docs":{},"员":{"docs":{},")":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"实":{"docs":{},"例":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"需":{"docs":{},"要":{"docs":{},"新":{"docs":{},"增":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}},"自":{"docs":{},"动":{"docs":{},"包":{"docs":{},"装":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}},"激":{"docs":{},"活":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}},"装":{"docs":{},"配":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}},"适":{"docs":{},"应":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}},"配":{"docs":{},"置":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"容":{"docs":{},"器":{"docs":{},",":{"docs":{},"可":{"docs":{},"从":{"docs":{},"不":{"docs":{},"同":{"docs":{},"容":{"docs":{},"器":{"docs":{},"加":{"docs":{},"载":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"。":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}}}},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"组":{"docs":{},"合":{"docs":{},"将":{"docs":{},"关":{"docs":{},"系":{"docs":{},"由":{"docs":{},"a":{"docs":{},"o":{"docs":{},"p":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"只":{"docs":{},"负":{"docs":{},"载":{"docs":{},"加":{"docs":{},"载":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"a":{"docs":{},"o":{"docs":{},"p":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"类":{"docs":{},"与":{"docs":{},"a":{"docs":{},"o":{"docs":{},"p":{"docs":{},":":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}},"重":{"docs":{},"构":{"docs":{"设计原则.html":{"ref":"设计原则.html","tf":0.14285714285714285}}}}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"示":{"docs":{},"例":{"docs":{},":":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}},":":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}},"示":{"docs":{},"例":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}},":":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}},"说":{"docs":{},"明":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}},":":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}},"配":{"docs":{},"置":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}},":":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}},"契":{"docs":{},"约":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}},"拦":{"docs":{},"截":{"docs":{},"扩":{"docs":{},"展":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}},"文":{"docs":{},"档":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.007936507936507936}}}},"服":{"docs":{},"务":{"docs":{},"安":{"docs":{},"装":{"docs":{},"包":{"docs":{},"仓":{"docs":{},"库":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.011904761904761904}}}}}}},"代":{"docs":{},"理":{"docs":{},"层":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{},"透":{"docs":{},"明":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"生":{"docs":{},"成":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"s":{"docs":{},"k":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"执":{"docs":{},"行":{"docs":{},"体":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}},"本":{"docs":{},"地":{"docs":{},"代":{"docs":{},"理":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}},"类":{"docs":{},"型":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.011278195488721804}}}}},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"程":{"docs":{},"拦":{"docs":{},"截":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"程":{"docs":{},"实":{"docs":{},"现":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"收":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"中":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"线":{"docs":{},"程":{"docs":{},"去":{"docs":{},"执":{"docs":{},"行":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"业":{"docs":{},"务":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"者":{"docs":{},"选":{"docs":{},"择":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}},"容":{"docs":{},"器":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"加":{"docs":{},"载":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}}}}}}}}}}}}}}}}},"分":{"docs":{},"组":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}},"版":{"docs":{},"本":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}},"路":{"docs":{},"径":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}},"未":{"docs":{},"认":{"docs":{},"领":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.11507936507936507}}}}},"本":{"docs":{},"地":{"docs":{},"部":{"docs":{},"署":{"docs":{},"代":{"docs":{},"理":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}},"身":{"docs":{},"的":{"docs":{},"大":{"docs":{},"多":{"docs":{},"功":{"docs":{},"能":{"docs":{},"均":{"docs":{},"基":{"docs":{},"于":{"docs":{},"此":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"远":{"docs":{},"程":{"docs":{},"方":{"docs":{},"法":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"该":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"都":{"docs":{},"会":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"请":{"docs":{},"注":{"docs":{},"意":{"docs":{},"对":{"docs":{},"性":{"docs":{},"能":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"朱":{"docs":{},"启":{"docs":{},"恒":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"扩":{"docs":{},"展":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.015873015873015872},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":5}}}},"层":{"docs":{},",":{"docs":{},"封":{"docs":{},"装":{"docs":{},"服":{"docs":{},"务":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"与":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"以":{"docs":{},"服":{"docs":{},"务":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"为":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"接":{"docs":{},"口":{"docs":{},"为":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"基":{"docs":{},"于":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"下":{"docs":{},"发":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"集":{"docs":{},"群":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"对":{"docs":{},"各":{"docs":{},"种":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"的":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"不":{"docs":{},"允":{"docs":{},"许":{"docs":{},"为":{"docs":{},"空":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"总":{"docs":{},"不":{"docs":{},"返":{"docs":{},"回":{"docs":{},"空":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}},"推":{"docs":{},"送":{"docs":{},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{},"推":{"docs":{},"送":{"docs":{},":":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"不":{"docs":{},"允":{"docs":{},"许":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"0":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"?":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"&":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"docs":{},"k":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},".":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}},"地":{"docs":{},"址":{"docs":{},":":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}},"需":{"docs":{},"处":{"docs":{},"理":{"docs":{},"契":{"docs":{},"约":{"docs":{},":":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}},"入":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}},"意":{"docs":{},":":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}},"这":{"docs":{},"里":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"是":{"docs":{},"放":{"docs":{},"在":{"docs":{},"你":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},"内":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},"内":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"会":{"docs":{},"全":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"所":{"docs":{},"有":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},"内":{"docs":{},"同":{"docs":{},"名":{"docs":{},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"合":{"docs":{},"并":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"在":{"docs":{},"接":{"docs":{},"口":{"docs":{},"方":{"docs":{},"法":{"docs":{},"上":{"docs":{},"提":{"docs":{},"供":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}},"流":{"docs":{},"程":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}},"测":{"docs":{},"试":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.011904761904761904}}}},"状":{"docs":{},"态":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}},"检":{"docs":{},"查":{"docs":{},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":5}}}}}}}},"白":{"docs":{},"文":{"docs":{},"志":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"扩":{"docs":{},"展":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.023809523809523808},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":5}}}}}},"层":{"docs":{},",":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"调":{"docs":{},"用":{"docs":{},"次":{"docs":{},"数":{"docs":{},"和":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"间":{"docs":{},"监":{"docs":{},"控":{"docs":{},",":{"docs":{},"以":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"为":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"接":{"docs":{},"口":{"docs":{},"为":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"统":{"docs":{},"计":{"docs":{},"服":{"docs":{},"务":{"docs":{},"调":{"docs":{},"用":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"链":{"docs":{},"跟":{"docs":{},"踪":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"罗":{"docs":{},"立":{"docs":{},"树":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}},"计":{"docs":{},"划":{"docs":{},"完":{"docs":{},"成":{"docs":{},"时":{"docs":{},"间":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}}},"认":{"docs":{},"领":{"docs":{},"者":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}},"调":{"docs":{},"研":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}},"用":{"docs":{},"链":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}},"拦":{"docs":{},"截":{"docs":{},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":5}}}}}},"参":{"docs":{},"数":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}},"超":{"docs":{},"时":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}},"资":{"docs":{},"源":{"docs":{},"调":{"docs":{},"度":{"docs":{},"器":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}}}}},"进":{"docs":{},"度":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}},"程":{"docs":{},"间":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"等":{"docs":{},"。":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}},"闾":{"docs":{},"刚":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.003968253968253968}}}},"高":{"docs":{"contribution.html":{"ref":"contribution.html","tf":0.08333333333333333}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"版":{"docs":{},"本":{"docs":{},":":{"docs":{},"低":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"2":{"docs":{},".":{"4":{"docs":{},".":{"docs":{},"x":{"docs":{},"。":{"docs":{},"是":{"docs":{},"g":{"docs":{},"a":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"线":{"docs":{},"上":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"只":{"docs":{},"会":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},",":{"docs":{},"升":{"docs":{},"级":{"docs":{},"第":{"docs":{},"三":{"docs":{},"位":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"。":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}}}}},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}},"引":{"docs":{},"用":{"docs":{},"了":{"docs":{},"a":{"docs":{},"中":{"docs":{},"的":{"docs":{},"多":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"共":{"docs":{},"享":{"docs":{},"连":{"docs":{},"接":{"docs":{},"是":{"docs":{},"说":{"docs":{},"a":{"docs":{},"与":{"docs":{},"b":{"docs":{},"多":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"调":{"docs":{},"用":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"进":{"docs":{},"行":{"docs":{},"数":{"docs":{},"据":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"已":{"docs":{},"达":{"docs":{},"到":{"docs":{},"减":{"docs":{},"少":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"连":{"docs":{},"接":{"docs":{},"数":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},".":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"a":{"docs":{},"版":{"docs":{},"本":{"docs":{},"有":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"会":{"docs":{},"火":{"docs":{},"速":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"用":{"docs":{},"户":{"docs":{},"需":{"docs":{},"要":{"docs":{},"积":{"docs":{},"极":{"docs":{},"跟":{"docs":{},"进":{"docs":{},"升":{"docs":{},"级":{"docs":{},"到":{"docs":{},"g":{"docs":{},"a":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"以":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"发":{"docs":{},"现":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"经":{"docs":{},"过":{"docs":{},"一":{"docs":{},"个":{"docs":{},"试":{"docs":{},"用":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"保":{"docs":{},"持":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"。":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}}}}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"?":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"?":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"=":{"docs":{},"j":{"docs":{},"s":{"docs":{},"&":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"=":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"{":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"}":{"docs":{},")":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"t":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}}}}}},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}},"不":{"docs":{},"会":{"docs":{},"版":{"docs":{},"本":{"docs":{},"过":{"docs":{},"多":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"开":{"docs":{},"发":{"docs":{},"和":{"docs":{},"维":{"docs":{},"护":{"docs":{},"成":{"docs":{},"本":{"docs":{},"剧":{"docs":{},"增":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}}}}}}}}}},"从":{"2":{"docs":{},".":{"5":{"docs":{},".":{"docs":{},"x":{"docs":{},"拉":{"docs":{},"成":{"docs":{},"分":{"docs":{},"支":{"2":{"docs":{},".":{"6":{"docs":{},".":{"0":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"新":{"docs":{},"功":{"docs":{},"能":{"docs":{},"开":{"docs":{},"发":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}},"docs":{}}},"docs":{},"多":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"者":{"docs":{},"方":{"docs":{},"中":{"docs":{},"选":{"docs":{},"择":{"docs":{},"一":{"docs":{},"个":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}},"。":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"加":{"docs":{},"载":{"docs":{},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}},":":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"服":{"docs":{},"务":{"docs":{},":":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}},"但":{"docs":{},"是":{"docs":{},"添":{"docs":{},"加":{"docs":{},"新":{"docs":{},"功":{"docs":{},"能":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"使":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"开":{"docs":{},"发":{"docs":{},"模":{"docs":{},"式":{"docs":{},"来":{"docs":{},"保":{"docs":{},"障":{"docs":{},"两":{"docs":{},"者":{"docs":{},"。":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"保":{"docs":{},"持":{"docs":{},"g":{"docs":{},"a":{"docs":{},"版":{"docs":{},"本":{"docs":{},"是":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"的":{"docs":{},"!":{"docs":{},"因":{"docs":{},"为":{"docs":{},":":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}}}},"单":{"docs":{},"元":{"docs":{},"测":{"docs":{},"试":{"docs":{},"用":{"docs":{},"例":{"docs":{},"的":{"docs":{},"运":{"docs":{},"行":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"不":{"docs":{},"要":{"docs":{},"将":{"docs":{},"性":{"docs":{},"能":{"docs":{},"和":{"docs":{},"大":{"docs":{},"的":{"docs":{},"集":{"docs":{},"成":{"docs":{},"用":{"docs":{},"例":{"docs":{},"放":{"docs":{},"在":{"docs":{},"单":{"docs":{},"元":{"docs":{},"测":{"docs":{},"试":{"docs":{},"中":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"每":{"docs":{},"个":{"docs":{},"用":{"docs":{},"例":{"docs":{},"都":{"docs":{},"用":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"y":{"docs":{},"或":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"释":{"docs":{},"放":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"会":{"docs":{},"作":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}},"对":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"激":{"docs":{},"活":{"docs":{},",":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"可":{"docs":{},"选":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"或":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.015873015873015872}}},"在":{"2":{"docs":{},".":{"5":{"docs":{},".":{"docs":{},"x":{"docs":{},"够":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"后":{"docs":{},":":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}},"docs":{}}},"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}},"核":{"docs":{},"心":{"docs":{},"领":{"docs":{},"域":{"docs":{},"模":{"docs":{},"型":{"docs":{},"中":{"docs":{},":":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}},"给":{"docs":{},"定":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"上":{"docs":{},"调":{"docs":{},"用":{"docs":{},"都":{"docs":{},"有":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"(":{"docs":{},"整":{"docs":{},"个":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"网":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"信":{"docs":{},"息":{"docs":{},")":{"docs":{},"。":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"即":{"docs":{},"是":{"docs":{},"从":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"确":{"docs":{},"定":{"docs":{},"要":{"docs":{},"调":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"用":{"docs":{},"来":{"docs":{},"确":{"docs":{},"定":{"docs":{},"使":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"信":{"docs":{},"息":{"docs":{},"通":{"docs":{},"过":{"docs":{},"的":{"docs":{},"@":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"注":{"docs":{},"解":{"docs":{},"在":{"docs":{},"方":{"docs":{},"法":{"docs":{},"上":{"docs":{},"说":{"docs":{},"明":{"docs":{},"。":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"中":{"docs":{},",":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"是":{"docs":{},"核":{"docs":{},"心":{"docs":{},"层":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"只":{"docs":{},"要":{"docs":{},"有":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"注":{"docs":{},"入":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"。":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},"内":{"docs":{},"放":{"docs":{},"置":{"docs":{},"文":{"docs":{},"本":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"类":{"docs":{},"的":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},"内":{"docs":{},",":{"docs":{},"放":{"docs":{},"置":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"实":{"docs":{},"现":{"docs":{},"调":{"docs":{},"用":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}},"缺":{"docs":{},"省":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.015873015873015872}}}},"根":{"docs":{},"据":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"信":{"docs":{},"息":{"docs":{},"获":{"docs":{},"取":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"判":{"docs":{},"断":{"docs":{},"是":{"docs":{},"否":{"docs":{},"是":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"回":{"docs":{},"调":{"docs":{},",":{"docs":{},"会":{"docs":{},"从":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"中":{"docs":{},"取":{"docs":{},"得":{"docs":{},"回":{"docs":{},"调":{"docs":{},"服":{"docs":{},"务":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{},"在":{"docs":{},"获":{"docs":{},"取":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"此":{"docs":{},"处":{"docs":{},"用":{"docs":{},"于":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"端":{"docs":{},"可":{"docs":{},"以":{"docs":{},"对":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"接":{"docs":{},"口":{"docs":{},"做":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"期":{"docs":{},"升":{"docs":{},"级":{"docs":{},"版":{"docs":{},"本":{"docs":{},"用":{"docs":{},"户":{"docs":{},"带":{"docs":{},"来":{"docs":{},"了":{"docs":{},"不":{"docs":{},"安":{"docs":{},"。":{"docs":{},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"假":{"docs":{},"命":{"docs":{},"题":{"docs":{},",":{"docs":{},"说":{"docs":{},"明":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}},"义":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}},"对":{"docs":{},"产":{"docs":{},"品":{"docs":{},"都":{"docs":{},"很":{"docs":{},"重":{"docs":{},"要":{"docs":{},"。":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}},"于":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"方":{"docs":{},"法":{"docs":{},"表":{"docs":{},"示":{"docs":{},",":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"实":{"docs":{},"现":{"docs":{},"先":{"docs":{},"查":{"docs":{},"找":{"docs":{},"\"":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"该":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"没":{"docs":{},"有":{"docs":{},"值":{"docs":{},"则":{"docs":{},"找":{"docs":{},"\"":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"值":{"docs":{},",":{"docs":{},"来":{"docs":{},"决":{"docs":{},"定":{"docs":{},"代":{"docs":{},"理":{"docs":{},"到":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"实":{"docs":{},"际":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"集":{"docs":{},"合":{"docs":{},"类":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}},"容":{"docs":{},"错":{"docs":{},"行":{"docs":{},"为":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"统":{"docs":{},"一":{"docs":{},"用":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"断":{"docs":{},"言":{"docs":{},"日":{"docs":{},"志":{"docs":{},"输":{"docs":{},"出":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"象":{"docs":{},"的":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203}}}},"等":{"docs":{},"网":{"docs":{},"络":{"docs":{},"节":{"docs":{},"点":{"docs":{},"组":{"docs":{},"网":{"docs":{},"器":{"docs":{},"。":{"docs":{"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625}}}}}}}}}}},"多":{"docs":{},"种":{"docs":{},"相":{"docs":{},"似":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"抽":{"docs":{},"象":{"docs":{},",":{"docs":{},"用":{"docs":{},"基":{"docs":{},"类":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},",":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"等":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"协":{"docs":{},"议":{"docs":{},"都":{"docs":{},"已":{"docs":{},"生":{"docs":{},"成":{"docs":{},"了":{"docs":{},"接":{"docs":{},"口":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"将":{"docs":{},"将":{"docs":{},"接":{"docs":{},"口":{"docs":{},"代":{"docs":{},"理":{"docs":{},"转":{"docs":{},"成":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"即":{"docs":{},"可":{"docs":{},"完":{"docs":{},"成":{"docs":{},"桥":{"docs":{},"接":{"docs":{},",":{"docs":{},"它":{"docs":{},"们":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"公":{"docs":{},"共":{"docs":{},"基":{"docs":{},"类":{"docs":{},"实":{"docs":{},"现":{"docs":{},"此":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"为":{"docs":{},"g":{"docs":{},"a":{"docs":{},"版":{"docs":{},"本":{"docs":{},"前":{"docs":{},"有":{"docs":{},"试":{"docs":{},"用":{"docs":{},"阶":{"docs":{},"段":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}}}},"新":{"docs":{},"功":{"docs":{},"能":{"docs":{},"可":{"docs":{},"以":{"docs":{},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{},"中":{"docs":{},"快":{"docs":{},"速":{"docs":{},"响":{"docs":{},"应":{"docs":{},",":{"docs":{},"并":{"docs":{},"让":{"docs":{},"应":{"docs":{},"用":{"docs":{},"能":{"docs":{},"试":{"docs":{},"用":{"docs":{},"新":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},":":{"docs":{},"高":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"2":{"docs":{},".":{"5":{"docs":{},".":{"docs":{},"x":{"docs":{},"。":{"docs":{},"加":{"docs":{},"新":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"会":{"docs":{},"给":{"docs":{},"对":{"docs":{},"新":{"docs":{},"功":{"docs":{},"能":{"docs":{},"有":{"docs":{},"需":{"docs":{},"求":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"试":{"docs":{},"用":{"docs":{},"。":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}},"版":{"docs":{},"本":{"docs":{},"管":{"docs":{},"理":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":5}}}}}},"用":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}},"户":{"docs":{},"要":{"docs":{},"配":{"docs":{},"合":{"docs":{},"的":{"docs":{},"职":{"docs":{},"责":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}},"法":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}},"请":{"docs":{},"求":{"docs":{},"参":{"docs":{},"数":{"docs":{},"作":{"docs":{},"为":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"于":{"docs":{},"开":{"docs":{},"发":{"docs":{},"只":{"docs":{},"会":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"的":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"约":{"docs":{},"定":{"docs":{},",":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"为":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"类":{"docs":{},"(":{"docs":{},"通":{"docs":{},"过":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},")":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{},"其":{"docs":{},"实":{"docs":{},"例":{"docs":{},"注":{"docs":{},"入":{"docs":{},"。":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"协":{"docs":{},"议":{"docs":{},"通":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"此":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"实":{"docs":{},"现":{"docs":{},"并":{"docs":{},"传":{"docs":{},"入":{"docs":{},",":{"docs":{},"协":{"docs":{},"议":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"关":{"docs":{},"心":{"docs":{},"。":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"对":{"docs":{},"出":{"docs":{},"问":{"docs":{},"题":{"docs":{},"才":{"docs":{},"升":{"docs":{},"级":{"docs":{},"到":{"docs":{},"g":{"docs":{},"a":{"docs":{},"版":{"docs":{},"本":{"docs":{},"(":{"docs":{},"可":{"docs":{},"以":{"docs":{},"跨":{"docs":{},"了":{"docs":{},"多":{"docs":{},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},")":{"docs":{},"定":{"docs":{},"期":{"docs":{},"升":{"docs":{},"级":{"docs":{},"平":{"docs":{},"摊":{"docs":{},"风":{"docs":{},"险":{"docs":{},"(":{"docs":{},"类":{"docs":{},"似":{"docs":{},"小":{"docs":{},"步":{"docs":{},"快":{"docs":{},"跑":{"docs":{},")":{"docs":{},"。":{"docs":{},"经":{"docs":{},"历":{"docs":{},"过":{"docs":{},"周":{"docs":{},"期":{"docs":{},"长":{"docs":{},"的":{"docs":{},"大":{"docs":{},"项":{"docs":{},"目":{"docs":{},"的":{"docs":{},"同":{"docs":{},"学":{"docs":{},"会":{"docs":{},"有":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"经":{"docs":{},"历":{"docs":{},",":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"版":{"docs":{},"本":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},"不":{"docs":{},"升":{"docs":{},"级":{"docs":{},",":{"docs":{},"结":{"docs":{},"果":{"docs":{},"出":{"docs":{},"了":{"docs":{},"问":{"docs":{},"题":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"升":{"docs":{},"级":{"docs":{},"到":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},"(":{"docs":{},"跨":{"docs":{},"了":{"docs":{},"多":{"docs":{},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},")":{"docs":{},"风":{"docs":{},"险":{"docs":{},"巨":{"docs":{},"大":{"docs":{},"。":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{},"的":{"docs":{},"提":{"docs":{},"高":{"docs":{"版本管理.html":{"ref":"版本管理.html","tf":0.038461538461538464}}}}}}}},"$":{"docs":{},"{":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{},"/":{"docs":{},".":{"docs":{},"m":{"2":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}},">":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.02857142857142857},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"上":{"docs":{},",":{"docs":{},"自":{"docs":{},"动":{"docs":{},"在":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"端":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"(":{"docs":{},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"法":{"docs":{},"参":{"docs":{},"数":{"docs":{},"上":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"a":{"docs":{},")":{"docs":{},",":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"端":{"docs":{},"便":{"docs":{},"可":{"docs":{},"反":{"docs":{},"向":{"docs":{},"调":{"docs":{},"用":{"docs":{},"到":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"端":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"实":{"docs":{},"例":{"docs":{},".":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"=":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"t":{"docs":{},"o":{"docs":{},"/":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"/":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{},"剔":{"docs":{},"除":{"docs":{},"添":{"docs":{},"加":{"docs":{},"所":{"docs":{},"有":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"。":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}}},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"插":{"docs":{},"入":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},",":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},",":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"\"":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334}}}}}}}}}},"时":{"docs":{},"不":{"docs":{},"能":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{},"在":{"docs":{},"实":{"docs":{},"现":{"docs":{},"中":{"docs":{},"采":{"docs":{},"用":{"docs":{},"了":{"docs":{},"引":{"docs":{},"用":{"docs":{},"计":{"docs":{},"数":{"docs":{},"的":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"但":{"docs":{},"为":{"docs":{},"了":{"docs":{},"防":{"docs":{},"范":{"docs":{},",":{"docs":{},"在":{"docs":{},"连":{"docs":{},"接":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"时":{"docs":{},",":{"docs":{},"重":{"docs":{},"新":{"docs":{},"建":{"docs":{},"立":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"l":{"docs":{},"a":{"docs":{},"z":{"docs":{},"i":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"=":{"docs":{},"\"":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},")":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"k":{"docs":{},"i":{"docs":{},"p":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.01904761904761905}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.0380952380952381},"框架设计.html":{"ref":"框架设计.html","tf":0.05555555555555555},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304},"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213},"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}},"使":{"docs":{},"用":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"对":{"docs":{},"象":{"docs":{},"(":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}},"改":{"docs":{},"进":{"docs":{},"了":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"以":{"docs":{},"下":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"加":{"docs":{},"载":{"docs":{},"从":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"通":{"docs":{},"讯":{"docs":{},",":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},",":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"策":{"docs":{},"等":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},",":{"docs":{},"都":{"docs":{},"有":{"docs":{},"多":{"docs":{},"种":{"docs":{},"可":{"docs":{},"选":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"以":{"docs":{},"应":{"docs":{},"对":{"docs":{},"不":{"docs":{},"同":{"docs":{},"应":{"docs":{},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"而":{"docs":{},"我":{"docs":{},"们":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},"用":{"docs":{},"例":{"docs":{},"很":{"docs":{},"分":{"docs":{},"散":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"自":{"docs":{},"己":{"docs":{},"需":{"docs":{},"要":{"docs":{},"加":{"docs":{},"一":{"docs":{},"种":{"docs":{},"新":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"时":{"docs":{},",":{"docs":{},"总":{"docs":{},"是":{"docs":{},"不":{"docs":{},"确":{"docs":{},"定":{"docs":{},"能":{"docs":{},"否":{"docs":{},"满":{"docs":{},"足":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"的":{"docs":{},"完":{"docs":{},"整":{"docs":{},"契":{"docs":{},"约":{"docs":{},"。":{"docs":{"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":0.058823529411764705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}},",":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"均":{"docs":{},"有":{"docs":{},"对":{"docs":{},"应":{"docs":{},"配":{"docs":{},"置":{"docs":{},"属":{"docs":{},"性":{"docs":{},"或":{"docs":{},"标":{"docs":{},"签":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"配":{"docs":{},"置":{"docs":{},"指":{"docs":{},"定":{"docs":{},"使":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},">":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"特":{"docs":{},"有":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"关":{"docs":{},"闭":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}},"开":{"docs":{},"启":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}},")":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}}}}}},"c":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}},"l":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.009900990099009901}}}}}}}},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.009900990099009901}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"s":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.01904761904761905}},"e":{"docs":{},":":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"p":{"docs":{},"s":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}}}}}}}},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525},"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.011278195488721804}},"e":{"docs":{},"r":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"完":{"docs":{},"成":{"docs":{},"非":{"docs":{},"透":{"docs":{},"明":{"docs":{},"的":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"主":{"docs":{},"过":{"docs":{},"程":{"docs":{},"上":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"点":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.02666666666666667}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334}}}}}}}}},"d":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"由":{"docs":{},"框":{"docs":{},"架":{"docs":{},"实":{"docs":{},"现":{"docs":{},"并":{"docs":{},"传":{"docs":{},"入":{"docs":{},",":{"docs":{},"协":{"docs":{},"议":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"关":{"docs":{},"心":{"docs":{},"。":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"幂":{"docs":{},"等":{"docs":{},"的":{"docs":{},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"两":{"docs":{},"次":{"docs":{},",":{"docs":{},"和":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"一":{"docs":{},"次":{"docs":{},"没":{"docs":{},"有":{"docs":{},"区":{"docs":{},"别":{"docs":{},"。":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203}}}}}}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}},"l":{"docs":{},"i":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}},"r":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288}}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.022922636103151862}},"e":{"docs":{},"r":{"docs":{},"加":{"docs":{},"载":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"检":{"docs":{},"查":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"(":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"判":{"docs":{},"断":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"该":{"docs":{},"属":{"docs":{},"性":{"docs":{},"是":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"注":{"docs":{},"入":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{},"因":{"docs":{},"为":{"docs":{},"注":{"docs":{},"入":{"docs":{},"时":{"docs":{},"不":{"docs":{},"能":{"docs":{},"确":{"docs":{},"定":{"docs":{},"使":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"(":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},"确":{"docs":{},"定":{"docs":{},")":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"注":{"docs":{},"入":{"docs":{},"的":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"(":{"docs":{},"一":{"docs":{},"个":{"docs":{},"代":{"docs":{},"理":{"docs":{},")":{"docs":{},"。":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"选":{"docs":{},"取":{"docs":{},"一":{"docs":{},"个":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},",":{"docs":{},"并":{"docs":{},"代":{"docs":{},"理":{"docs":{},"到":{"docs":{},"其":{"docs":{},"上":{"docs":{},"完":{"docs":{},"成":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"是":{"docs":{},"根":{"docs":{},"据":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"法":{"docs":{},"参":{"docs":{},"数":{"docs":{},"(":{"docs":{},"上":{"docs":{},"面":{"docs":{},"有":{"docs":{},"调":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},")":{"docs":{},"来":{"docs":{},"选":{"docs":{},"取":{"docs":{},"一":{"docs":{},"个":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"。":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"生":{"docs":{},"成":{"docs":{},"的":{"docs":{},"自":{"docs":{},"适":{"docs":{},"应":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"类":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516}}}}}}}}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}},"d":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.009900990099009901}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.01904761904761905}},"/":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.019801980198019802},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288}},";":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.019801980198019802},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.022922636103151862}},".":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},",":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.022922636103151862}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{},"e":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}}}}}}}}}}}}}}}},";":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.011461318051575931}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"是":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"从":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}},"类":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}},"上":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{},"。":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}},"下":{"docs":{},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{},"是":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.01904761904761905}}}}}},"面":{"docs":{},"是":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"的":{"docs":{},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"导":{"docs":{},"入":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}},"配":{"docs":{},"置":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}},"说":{"docs":{},"明":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"实":{"docs":{},"际":{"docs":{},"上":{"docs":{},"是":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},"的":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"持":{"docs":{},"有":{"docs":{},"了":{"docs":{},"实":{"docs":{},"际":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"送":{"docs":{},"远":{"docs":{},"程":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}},"途":{"docs":{},"变":{"docs":{},"更":{"docs":{},"时":{"docs":{},",":{"docs":{},"允":{"docs":{},"许":{"docs":{},"不":{"docs":{},"同":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"分":{"docs":{},"开":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},",":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"以":{"docs":{},"下":{"docs":{},"的":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}},"是":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"则":{"docs":{},"会":{"docs":{},"注":{"docs":{},"入":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}},"仓":{"docs":{},"库":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}},"代":{"docs":{},"码":{"docs":{},"签":{"docs":{},"出":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"动":{"docs":{},"态":{"docs":{},"生":{"docs":{},"成":{"docs":{},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},",":{"docs":{},"加":{"docs":{},"速":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"释":{"docs":{},"写":{"docs":{},"清":{"docs":{},"楚":{"docs":{},",":{"docs":{},"用":{"docs":{},"中":{"docs":{},"文":{"docs":{},"无":{"docs":{},"妨":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}}}}}}}}}},"以":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}},"上":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}},"内":{"docs":{},"容":{"docs":{},"都":{"docs":{},"写":{"docs":{},"到":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"t":{"docs":{},"的":{"docs":{},"评":{"docs":{},"论":{"docs":{},"上":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"为":{"docs":{},"主":{"docs":{},"干":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"开":{"docs":{},"发":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"分":{"docs":{},"支":{"docs":{},"作":{"docs":{},"为":{"docs":{},"维":{"docs":{},"护":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}}}}}}}}}}}}}}}}}},"构":{"docs":{},"建":{"docs":{},"工":{"docs":{},"具":{"docs":{},"。":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}},"使":{"docs":{},"用":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}},"以":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},"做":{"docs":{},"一":{"docs":{},"次":{"docs":{},"构":{"docs":{},"建":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}},"来":{"docs":{},"生":{"docs":{},"成":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}},"的":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"版":{"docs":{},"本":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}},"该":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}},"属":{"docs":{},"性":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}},"包":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"用":{"docs":{},"来":{"docs":{},"调":{"docs":{},"试":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}}},"变":{"docs":{},"量":{"docs":{},"指":{"docs":{},"向":{"docs":{},"本":{"docs":{},"地":{"docs":{},"的":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}},"更":{"docs":{},"事":{"docs":{},"件":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},",":{"docs":{},"不":{"docs":{},"允":{"docs":{},"许":{"docs":{},"为":{"docs":{},"空":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}},"通":{"docs":{},"过":{"docs":{},"以":{"docs":{},"下":{"docs":{},"的":{"docs":{},"构":{"docs":{},"建":{"docs":{},"命":{"docs":{},"令":{"docs":{},"来":{"docs":{},"跳":{"docs":{},"过":{"docs":{},"单":{"docs":{},"元":{"docs":{},"测":{"docs":{},"试":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}}}}}}}}}}}}},"命":{"docs":{},"令":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}},"和":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}},"我":{"docs":{},"们":{"docs":{},"使":{"docs":{},"用":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}},"或":{"docs":{},"者":{"docs":{},"以":{"docs":{},"上":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}},":":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}},"支":{"docs":{},"持":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"u":{"docs":{},"p":{"docs":{},"=":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"0":{"docs":{},"备":{"docs":{},"选":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"集":{"docs":{},"群":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"=":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"本":{"docs":{},"地":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"文":{"docs":{},"件":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"6":{"0":{"0":{"0":{"0":{"docs":{},"会":{"docs":{},"话":{"docs":{},"超":{"docs":{},"时":{"docs":{},"或":{"docs":{},"过":{"docs":{},"期":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"=":{"1":{"0":{"0":{"0":{"docs":{},"请":{"docs":{},"求":{"docs":{},"超":{"docs":{},"时":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"上":{"docs":{},"的":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"权":{"docs":{},"限":{"docs":{},"认":{"docs":{},"证":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"查":{"docs":{},"看":{"docs":{},"所":{"docs":{},"有":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"标":{"docs":{},"签":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}}}},"决":{"docs":{},"定":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}},"源":{"docs":{},":":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}},"构":{"docs":{},"建":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}},"之":{"docs":{},"前":{"docs":{},"需":{"docs":{},"要":{"docs":{},"配":{"docs":{},"置":{"docs":{},"以":{"docs":{},"下":{"docs":{},"的":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}}}},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}},"码":{"docs":{},"构":{"docs":{},"建":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":5}}}}}},"的":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.02702702702702703}},"工":{"docs":{},"程":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}},"源":{"docs":{},"代":{"docs":{},"码":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}},"和":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}},"一":{"docs":{},"个":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},":":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}}}}}},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}},"中":{"docs":{},"要":{"docs":{},"注":{"docs":{},"入":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"实":{"docs":{},"现":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}},"类":{"docs":{},"开":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}},"给":{"docs":{},"予":{"docs":{},"时":{"docs":{},"间":{"docs":{},"保":{"docs":{},"证":{"docs":{},")":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}}}}},"要":{"docs":{},"求":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}},"注":{"docs":{},"入":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"何":{"docs":{},"决":{"docs":{},"定":{"docs":{},"要":{"docs":{},"注":{"docs":{},"入":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"的":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"在":{"docs":{},"这":{"docs":{},"个":{"docs":{},"示":{"docs":{},"例":{"docs":{},"中":{"docs":{},",":{"docs":{},"即":{"docs":{},"是":{"docs":{},"在":{"docs":{},"多":{"docs":{},"个":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"以":{"docs":{},"下":{"docs":{},"命":{"docs":{},"令":{"docs":{},"以":{"docs":{},"构":{"docs":{},"建":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}},"的":{"docs":{},"这":{"docs":{},"个":{"docs":{},"命":{"docs":{},"令":{"docs":{},"签":{"docs":{},"出":{"docs":{},"最":{"docs":{},"新":{"docs":{},"的":{"docs":{},"项":{"docs":{},"目":{"docs":{},"源":{"docs":{},"码":{"docs":{},":":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"所":{"docs":{},"有":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"公":{"docs":{},"共":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"移":{"docs":{},"至":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"。":{"docs":{},"新":{"docs":{},"加":{"docs":{},"的":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"上":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"有":{"docs":{},"些":{"docs":{},"类":{"docs":{},"似":{"docs":{},"a":{"docs":{},"o":{"docs":{},"p":{"docs":{},"(":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"代":{"docs":{},"理":{"docs":{},"了":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},")":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"扫":{"docs":{},"描":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"来":{"docs":{},"判":{"docs":{},"定":{"docs":{},"其":{"docs":{},"成":{"docs":{},"员":{"docs":{},"。":{"docs":{},"即":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"引":{"docs":{},"用":{"docs":{},"服":{"docs":{},"务":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}},"知":{"docs":{},"者":{"docs":{},"(":{"docs":{},"即":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"实":{"docs":{},"现":{"docs":{},")":{"docs":{},"需":{"docs":{},"保":{"docs":{},"证":{"docs":{},"通":{"docs":{},"知":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"单":{"docs":{},"线":{"docs":{},"程":{"docs":{},"推":{"docs":{},"送":{"docs":{},",":{"docs":{},"队":{"docs":{},"列":{"docs":{},"串":{"docs":{},"行":{"docs":{},"化":{"docs":{},",":{"docs":{},"带":{"docs":{},"版":{"docs":{},"本":{"docs":{},"对":{"docs":{},"比":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"处":{"docs":{},"理":{"docs":{},"契":{"docs":{},"约":{"docs":{},":":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}},"服":{"docs":{},"务":{"docs":{},"地":{"docs":{},"址":{"docs":{},":":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}},"道":{"docs":{},"信":{"docs":{},"息":{"docs":{},"派":{"docs":{},"发":{"docs":{},"器":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"模":{"docs":{},"型":{"docs":{},"。":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"先":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{"源码构建.html":{"ref":"源码构建.html","tf":0.009523809523809525}}}}}}}},"+":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.020833333333333332}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.018867924528301886},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"将":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},"存":{"docs":{},"储":{"docs":{},"在":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"中":{"docs":{},",":{"docs":{},"此":{"docs":{},"处":{"docs":{},"实":{"docs":{},"现":{"docs":{},"需":{"docs":{},"要":{"docs":{},"进":{"docs":{},"行":{"docs":{},"改":{"docs":{},"造":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"j":{"docs":{},"i":{"docs":{},"r":{"docs":{},"a":{"docs":{},"/":{"docs":{},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},"e":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"允":{"docs":{},"许":{"docs":{},"只":{"docs":{},"通":{"docs":{},"知":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"种":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"但":{"docs":{},"该":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"全":{"docs":{},"量":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"是":{"docs":{},"增":{"docs":{},"量":{"docs":{},"的":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},")":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"向":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"讲":{"docs":{},"述":{"docs":{},"一":{"docs":{},"遍":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"配":{"docs":{},"置":{"docs":{},"类":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"解":{"docs":{},"析":{"docs":{},"配":{"docs":{},"置":{"docs":{},"生":{"docs":{},"成":{"docs":{},"配":{"docs":{},"置":{"docs":{},"类":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"接":{"docs":{},"口":{"docs":{},"为":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.027777777777777776}}}}}}},"由":{"docs":{},"外":{"docs":{},"层":{"docs":{},"将":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}},"了":{"docs":{},"在":{"docs":{},"传":{"docs":{},"输":{"docs":{},"时":{"docs":{},"能":{"docs":{},"够":{"docs":{},"对":{"docs":{},"回":{"docs":{},"调":{"docs":{},"接":{"docs":{},"口":{"docs":{},"实":{"docs":{},"例":{"docs":{},"进":{"docs":{},"行":{"docs":{},"转":{"docs":{},"换":{"docs":{},",":{"docs":{},"自":{"docs":{},"动":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"与":{"docs":{},"自":{"docs":{},"动":{"docs":{},"引":{"docs":{},"用":{"docs":{},"目":{"docs":{},"前":{"docs":{},"在":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"中":{"docs":{},"实":{"docs":{},"现":{"docs":{},".":{"docs":{},"此":{"docs":{},"处":{"docs":{},"需":{"docs":{},"要":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"将":{"docs":{},"此":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"与":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"分":{"docs":{},"离":{"docs":{},".":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}},"信":{"docs":{},"息":{"docs":{},"交":{"docs":{},"换":{"docs":{},"层":{"docs":{},",":{"docs":{},"封":{"docs":{},"装":{"docs":{},"请":{"docs":{},"求":{"docs":{},"响":{"docs":{},"应":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"同":{"docs":{},"步":{"docs":{},"转":{"docs":{},"异":{"docs":{},"步":{"docs":{},",":{"docs":{},"以":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":5}}}}}}}},"公":{"docs":{},"共":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"类":{"docs":{},"和":{"docs":{},"通":{"docs":{},"用":{"docs":{},"模":{"docs":{},"型":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}},"契":{"docs":{},"约":{"docs":{"公共契约.html":{"ref":"公共契约.html","tf":5}}}}}},"关":{"docs":{},"系":{"docs":{},"说":{"docs":{},"明":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}},"各":{"docs":{},"层":{"docs":{},"说":{"docs":{},"明":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}},"图":{"docs":{},"中":{"docs":{},"从":{"docs":{},"下":{"docs":{},"至":{"docs":{},"上":{"docs":{},"分":{"docs":{},"为":{"docs":{},"十":{"docs":{},"层":{"docs":{},",":{"docs":{},"各":{"docs":{},"层":{"docs":{},"均":{"docs":{},"为":{"docs":{},"单":{"docs":{},"向":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"右":{"docs":{},"边":{"docs":{},"的":{"docs":{},"黑":{"docs":{},"色":{"docs":{},"箭":{"docs":{},"头":{"docs":{},"代":{"docs":{},"表":{"docs":{},"层":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"每":{"docs":{},"一":{"docs":{},"层":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"剥":{"docs":{},"离":{"docs":{},"上":{"docs":{},"层":{"docs":{},"被":{"docs":{},"复":{"docs":{},"用":{"docs":{},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"层":{"docs":{},"为":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"各":{"docs":{},"层":{"docs":{},"均":{"docs":{},"为":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"包":{"docs":{},"含":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"的":{"docs":{},"层":{"docs":{},",":{"docs":{},"不":{"docs":{},"包":{"docs":{},"含":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"层":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"整":{"docs":{},"体":{"docs":{},"都":{"docs":{},"隐":{"docs":{},"含":{"docs":{},"在":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"中":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"小":{"docs":{},"方":{"docs":{},"块":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}},"左":{"docs":{},"边":{"docs":{},"淡":{"docs":{},"蓝":{"docs":{},"背":{"docs":{},"景":{"docs":{},"的":{"docs":{},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"右":{"docs":{},"边":{"docs":{},"淡":{"docs":{},"绿":{"docs":{},"色":{"docs":{},"背":{"docs":{},"景":{"docs":{},"的":{"docs":{},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"位":{"docs":{},"于":{"docs":{},"中":{"docs":{},"轴":{"docs":{},"线":{"docs":{},"上":{"docs":{},"的":{"docs":{},"为":{"docs":{},"双":{"docs":{},"方":{"docs":{},"都":{"docs":{},"用":{"docs":{},"到":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"想":{"docs":{},"让":{"docs":{},"看":{"docs":{},"图":{"docs":{},"者":{"docs":{},"更":{"docs":{},"直":{"docs":{},"观":{"docs":{},"的":{"docs":{},"了":{"docs":{},"解":{"docs":{},"哪":{"docs":{},"些":{"docs":{},"类":{"docs":{},"分":{"docs":{},"属":{"docs":{},"于":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"与":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},",":{"docs":{},"不":{"docs":{},"用":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"是":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"在":{"docs":{},"很":{"docs":{},"多":{"docs":{},"场":{"docs":{},"景":{"docs":{},"下":{"docs":{},"都":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"绿":{"docs":{},"色":{"docs":{},"小":{"docs":{},"块":{"docs":{},"的":{"docs":{},"为":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"小":{"docs":{},"块":{"docs":{},"为":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},",":{"docs":{},"图":{"docs":{},"中":{"docs":{},"只":{"docs":{},"显":{"docs":{},"示":{"docs":{},"用":{"docs":{},"于":{"docs":{},"关":{"docs":{},"联":{"docs":{},"各":{"docs":{},"层":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"背":{"docs":{},"景":{"docs":{},"方":{"docs":{},"块":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}},"蓝":{"docs":{},"色":{"docs":{},"虚":{"docs":{},"线":{"docs":{},"为":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"红":{"docs":{},"色":{"docs":{},"虚":{"docs":{},"线":{"docs":{},"为":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"异":{"docs":{},"步":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"红":{"docs":{},"色":{"docs":{},"实":{"docs":{},"线":{"docs":{},"为":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"同":{"docs":{},"步":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"即":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"组":{"docs":{},"装":{"docs":{},"链":{"docs":{},",":{"docs":{},"红":{"docs":{},"色":{"docs":{},"实":{"docs":{},"线":{"docs":{},"为":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"即":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"调":{"docs":{},"时":{"docs":{},"链":{"docs":{},",":{"docs":{},"紫":{"docs":{},"色":{"docs":{},"三":{"docs":{},"角":{"docs":{},"箭":{"docs":{},"头":{"docs":{},"为":{"docs":{},"继":{"docs":{},"承":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"子":{"docs":{},"类":{"docs":{},"看":{"docs":{},"作":{"docs":{},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"线":{"docs":{},"上":{"docs":{},"的":{"docs":{},"文":{"docs":{},"字":{"docs":{},"为":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"例":{"docs":{},"说":{"docs":{},"明":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.013888888888888888}}}}}},"基":{"docs":{},"本":{"docs":{},"原":{"docs":{},"则":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}},"于":{"docs":{},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},"之":{"docs":{},"上":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}}}}}}}}}}}}},"复":{"docs":{},"用":{"docs":{},"度":{"docs":{},"分":{"docs":{},"包":{"docs":{},",":{"docs":{},"总":{"docs":{},"是":{"docs":{},"一":{"docs":{},"起":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"放":{"docs":{},"在":{"docs":{},"同":{"docs":{},"一":{"docs":{},"包":{"docs":{},"下":{"docs":{},",":{"docs":{},"将":{"docs":{},"接":{"docs":{},"口":{"docs":{},"和":{"docs":{},"基":{"docs":{},"类":{"docs":{},"分":{"docs":{},"成":{"docs":{},"独":{"docs":{},"立":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"大":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"也":{"docs":{},"使":{"docs":{},"用":{"docs":{},"独":{"docs":{},"立":{"docs":{},"模":{"docs":{},"块":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"也":{"docs":{},"是":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"都":{"docs":{},"应":{"docs":{},"该":{"docs":{},"有":{"docs":{},"方":{"docs":{},"便":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"基":{"docs":{},"类":{"docs":{},"支":{"docs":{},"持":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"容":{"docs":{},"器":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{},",":{"docs":{},"以":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"加":{"docs":{},"载":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"通":{"docs":{},"常":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"/":{"docs":{},"j":{"docs":{},"b":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"等":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"容":{"docs":{},"器":{"docs":{},"的":{"docs":{},"特":{"docs":{},"性":{"docs":{},",":{"docs":{},"没":{"docs":{},"必":{"docs":{},"要":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"容":{"docs":{},"器":{"docs":{},"去":{"docs":{},"加":{"docs":{},"载":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":5}}}}},"错":{"docs":{},",":{"docs":{},"路":{"docs":{},"由":{"docs":{},"等":{"docs":{},",":{"docs":{},"集":{"docs":{},"群":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"列":{"docs":{},"表":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"静":{"docs":{},"态":{"docs":{},"配":{"docs":{},"置":{"docs":{},"的":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"是":{"docs":{},"由":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"下":{"docs":{},"发":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"展":{"docs":{},"开":{"docs":{},"总":{"docs":{},"设":{"docs":{},"计":{"docs":{},"图":{"docs":{},"右":{"docs":{},"边":{"docs":{},"服":{"docs":{},"务":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"引":{"docs":{},"用":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"链":{"docs":{},",":{"docs":{},"时":{"docs":{},"序":{"docs":{},"图":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}},"左":{"docs":{},"边":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"蓝":{"docs":{},"色":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"链":{"docs":{},",":{"docs":{},"时":{"docs":{},"序":{"docs":{},"图":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"红":{"docs":{},"色":{"docs":{},"调":{"docs":{},"用":{"docs":{},"链":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"服":{"docs":{},"务":{"docs":{},"时":{"docs":{},"序":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{},":":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}},"监":{"docs":{},"听":{"docs":{},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":5}}}}}}}},"数":{"docs":{},"据":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"层":{"docs":{},",":{"docs":{},"可":{"docs":{},"复":{"docs":{},"用":{"docs":{},"的":{"docs":{},"一":{"docs":{},"些":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"接":{"docs":{},"口":{"docs":{},"为":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"整":{"docs":{},"体":{"docs":{},"上":{"docs":{},"按":{"docs":{},"照":{"docs":{},"分":{"docs":{},"层":{"docs":{},"结":{"docs":{},"构":{"docs":{},"进":{"docs":{},"行":{"docs":{},"分":{"docs":{},"包":{"docs":{},",":{"docs":{},"与":{"docs":{},"分":{"docs":{},"层":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"点":{"docs":{},"在":{"docs":{},"于":{"docs":{},":":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},"时":{"docs":{},"序":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"取":{"docs":{},"消":{"docs":{},"暴":{"docs":{},"露":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{},":":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}},"监":{"docs":{},"听":{"docs":{},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":5}}}}}}}},"更":{"docs":{},"多":{"docs":{},"设":{"docs":{},"计":{"docs":{},"原":{"docs":{},"则":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"框":{"docs":{},"架":{"docs":{},"设":{"docs":{},"计":{"docs":{},"原":{"docs":{},"则":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},"设":{"docs":{},"计":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":5}}}}}},"模":{"docs":{},"块":{"docs":{},"分":{"docs":{},"包":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}},"说":{"docs":{},"明":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}},"与":{"docs":{},"分":{"docs":{},"包":{"docs":{},":":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}},"网":{"docs":{},"络":{"docs":{},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},",":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"和":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"为":{"docs":{},"统":{"docs":{},"一":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"以":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"为":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"接":{"docs":{},"口":{"docs":{},"为":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":5}}}}}},"通":{"docs":{},"讯":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"通":{"docs":{},"过":{"docs":{},"共":{"docs":{},"享":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"i":{"docs":{},"p":{"docs":{},"c":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}}}},"而":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"外":{"docs":{},"围":{"docs":{},"概":{"docs":{},"念":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"目":{"docs":{},"的":{"docs":{},"是":{"docs":{},"将":{"docs":{},"多":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"伪":{"docs":{},"装":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"其":{"docs":{},"它":{"docs":{},"人":{"docs":{},"只":{"docs":{},"要":{"docs":{},"关":{"docs":{},"注":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"层":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"加":{"docs":{},"上":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"或":{"docs":{},"者":{"docs":{},"去":{"docs":{},"掉":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"其":{"docs":{},"它":{"docs":{},"层":{"docs":{},"都":{"docs":{},"不":{"docs":{},"会":{"docs":{},"造":{"docs":{},"成":{"docs":{},"影":{"docs":{},"响":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"只":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"时":{"docs":{},",":{"docs":{},"是":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"实":{"docs":{},"现":{"docs":{},"是":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"你":{"docs":{},"选":{"docs":{},"择":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"整":{"docs":{},"个":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"都":{"docs":{},"不":{"docs":{},"会":{"docs":{},"用":{"docs":{},"上":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"内":{"docs":{},"部":{"docs":{},"再":{"docs":{},"划":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},"和":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"信":{"docs":{},"息":{"docs":{},"交":{"docs":{},"换":{"docs":{},"层":{"docs":{},",":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"层":{"docs":{},"只":{"docs":{},"负":{"docs":{},"责":{"docs":{},"单":{"docs":{},"向":{"docs":{},"消":{"docs":{},"息":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"是":{"docs":{},"对":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},",":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"z":{"docs":{},"l":{"docs":{},"y":{"docs":{},"的":{"docs":{},"抽":{"docs":{},"象":{"docs":{},",":{"docs":{},"它":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"u":{"docs":{},"d":{"docs":{},"p":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"而":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"层":{"docs":{},"是":{"docs":{},"在":{"docs":{},"传":{"docs":{},"输":{"docs":{},"层":{"docs":{},"之":{"docs":{},"上":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"层":{"docs":{},",":{"docs":{},"封":{"docs":{},"装":{"docs":{},"多":{"docs":{},"个":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"及":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},",":{"docs":{},"并":{"docs":{},"桥":{"docs":{},"接":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"以":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":5}}}}}},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"层":{"docs":{},",":{"docs":{},"封":{"docs":{},"将":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"以":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"各":{"docs":{},"种":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"动":{"docs":{},"态":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"只":{"docs":{},"包":{"docs":{},"含":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"不":{"docs":{},"关":{"docs":{},"心":{"docs":{},"集":{"docs":{},"群":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"讯":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"用":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"协":{"docs":{},"议":{"docs":{},"则":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"包":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"及":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"传":{"docs":{},"输":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"地":{"docs":{},"址":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}},"端":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}},"配":{"docs":{},"置":{"docs":{},"层":{"docs":{},",":{"docs":{},"对":{"docs":{},"外":{"docs":{},"配":{"docs":{},"置":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"以":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"是":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"对":{"docs":{},"外":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},",":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"所":{"docs":{},"有":{"docs":{},"细":{"docs":{},"节":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},":":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}},"对":{"docs":{},"象":{"docs":{},"属":{"docs":{},"性":{"docs":{},"首":{"docs":{},"字":{"docs":{},"母":{"docs":{},"小":{"docs":{},"写":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"单":{"docs":{},"词":{"docs":{},"用":{"docs":{},"驼":{"docs":{},"峰":{"docs":{},"命":{"docs":{},"名":{"docs":{},"(":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"约":{"docs":{},"定":{"docs":{},")":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"全":{"docs":{},"部":{"docs":{},"用":{"docs":{},"小":{"docs":{},"写":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"单":{"docs":{},"词":{"docs":{},"用":{"docs":{},"\"":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{"设计原则.html":{"ref":"设计原则.html","tf":0.14285714285714285}}}}}},"采":{"docs":{},"用":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"作":{"docs":{},"为":{"docs":{},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"统":{"docs":{},"一":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"都":{"docs":{},"通":{"docs":{},"过":{"docs":{},"传":{"docs":{},"递":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"携":{"docs":{},"带":{"docs":{},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"集":{"docs":{},"群":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"将":{"docs":{},"多":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"伪":{"docs":{},"装":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},":":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},",":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":5}}}}}},"领":{"docs":{},"域":{"docs":{},"模":{"docs":{},"型":{"docs":{"框架设计.html":{"ref":"框架设计.html","tf":0.006944444444444444}}}}}},"\"":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.010638297872340425}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"6":{"0":{"docs":{},".":{"1":{"9":{"8":{"docs":{},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"2":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}},"docs":{}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"号":{"docs":{},"分":{"docs":{},"隔":{"docs":{},"(":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"约":{"docs":{},"定":{"docs":{},")":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}},"(":{"docs":{},"造":{"docs":{},"轮":{"docs":{},"者":{"docs":{},")":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}}}},"实":{"docs":{},"现":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}}}}}}},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}},"x":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}}}}}}}}}}}}}},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"接":{"docs":{},"口":{"docs":{},")":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}}}}}}}}}}}}}}}}},"纯":{"docs":{},"文":{"docs":{},"本":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"内":{"docs":{},"容":{"docs":{},"为":{"docs":{},":":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"=":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}},"x":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.014084507042253521}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863}}}}}}}}}}}}}}},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}}}}}}}}}}}},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516}}}}}}}},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"n":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":0.058823529411764705}}}}}}}}}}},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.010638297872340425}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.034383954154727794},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.011278195488721804},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.015873015873015872},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.02666666666666667},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.02666666666666667},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.011267605633802818},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.023809523809523808},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.039603960396039604},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.028169014084507043},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.02830188679245283},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.03333333333333333},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.043478260869565216}},")":{"docs":{},";":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}}}}},"/":{"docs":{},"/":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.045845272206303724},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.011278195488721804},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.015873015873015872},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.02666666666666667},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.02666666666666667},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.014084507042253521},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.016129032258064516},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.023809523809523808},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.039603960396039604},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.01694915254237288},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.028169014084507043},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.02830188679245283},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.03333333333333333},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.043478260869565216}},".":{"docs":{},".":{"docs":{},".":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}},"*":{"docs":{},"*":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.01971830985915493}}}}},"=":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.022922636103151862},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}},"=":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.010638297872340425}}}},"@":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"\"":{"docs":{},",":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"6":{"0":{"docs":{},".":{"1":{"9":{"8":{"docs":{},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}},"注":{"docs":{},"解":{"docs":{},"使":{"docs":{},"用":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.018796992481203006},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.02535211267605634}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203}}}}}}},"s":{"docs":{},"e":{"docs":{},"e":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"\"":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"\"":{"docs":{},",":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.008595988538681949},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.06349206349206349}},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":0.058823529411764705}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}},"o":{"docs":{},"o":{"1":{"docs":{},"\"":{"docs":{},",":{"docs":{},"剔":{"docs":{},"除":{"docs":{},"添":{"docs":{},"加":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"\"":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}},"docs":{}}}},"k":{"docs":{},"e":{"docs":{},"y":{"1":{"docs":{},"没":{"docs":{},"有":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"使":{"docs":{},"用":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"2":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"作":{"docs":{},"为":{"docs":{},"要":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"成":{"docs":{},"的":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"名":{"docs":{},"。":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"2":{"docs":{},"没":{"docs":{},"有":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"。":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}},"docs":{},"即":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}},")":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}},",":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}},"i":{"docs":{},"t":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"增":{"docs":{},"加":{"docs":{},"一":{"docs":{},"种":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"通":{"docs":{},"过":{"docs":{},"t":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"即":{"docs":{},"可":{"docs":{},"确":{"docs":{},"保":{"docs":{},"与":{"docs":{},"框":{"docs":{},"架":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"部":{"docs":{},"分":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"效":{"docs":{},"提":{"docs":{},"高":{"docs":{},"整":{"docs":{},"体":{"docs":{},"健":{"docs":{},"状":{"docs":{},"性":{"docs":{},",":{"docs":{},"也":{"docs":{},"方":{"docs":{},"便":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"者":{"docs":{},"接":{"docs":{},"入":{"docs":{},",":{"docs":{},"加":{"docs":{},"速":{"docs":{},"开":{"docs":{},"源":{"docs":{},"社":{"docs":{},"区":{"docs":{},"的":{"docs":{},"成":{"docs":{},"熟":{"docs":{},"。":{"docs":{"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":0.058823529411764705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}},"e":{"docs":{},")":{"docs":{},"传":{"docs":{},"递":{"docs":{},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}},")":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}},"i":{"docs":{},"d":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.022222222222222223}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}}}}}}}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.02666666666666667},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.02666666666666667},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.02535211267605634},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.024752475247524754},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}},"{":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.05157593123209169},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.03007518796992481},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.015873015873015872},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.04},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.04},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.04040404040404041},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0273972602739726},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0273972602739726},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.03225806451612903},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.028169014084507043},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.045454545454545456},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.03225806451612903},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.03571428571428571},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.03125},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.03076923076923077},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.031746031746031744},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.031914893617021274},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.06435643564356436},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.0423728813559322},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.03225806451612903},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.022988505747126436},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.02702702702702703},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.04225352112676056},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.03125},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.05660377358490566},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.05555555555555555},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.05434782608695652},"坏味道.html":{"ref":"坏味道.html","tf":0.026595744680851064}},"\"":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"1":{"docs":{},"\"":{"docs":{},",":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}},"docs":{}}}},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"\"":{"docs":{},"}":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}},"}":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.05157593123209169},"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.03759398496240601},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.015873015873015872},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.04},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.04},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.030303030303030304},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0273972602739726},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0273972602739726},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.03225806451612903},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.028169014084507043},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.045454545454545456},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.03225806451612903},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.03571428571428571},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.03125},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.03076923076923077},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.031746031746031744},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.031914893617021274},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.07425742574257425},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.0423728813559322},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.03225806451612903},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.022988505747126436},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.02702702702702703},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.04225352112676056},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.03125},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.05660377358490566},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.05555555555555555},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.05434782608695652},"坏味道.html":{"ref":"坏味道.html","tf":0.026595744680851064}},";":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}},"一":{"docs":{},"些":{"docs":{},"操":{"docs":{},"作":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}},"设":{"docs":{},"计":{"docs":{},"上":{"docs":{},"的":{"docs":{},"基":{"docs":{},"本":{"docs":{},"常":{"docs":{},"识":{"docs":{"设计原则.html":{"ref":"设计原则.html","tf":0.14285714285714285}}}}}}}}}}}},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"的":{"docs":{},"拼":{"docs":{},"装":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}},"把":{"docs":{},"加":{"docs":{},"载":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"时":{"docs":{},"(":{"docs":{},"通":{"docs":{},"过":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"内":{"docs":{},"容":{"docs":{},")":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"该":{"docs":{},"实":{"docs":{},"现":{"docs":{},"有":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"则":{"docs":{},"判":{"docs":{},"定":{"docs":{},"为":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},"。":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{},"同":{"docs":{},"样":{"docs":{},"实":{"docs":{},"现":{"docs":{},"了":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"时":{"docs":{},",":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"的":{"docs":{},"成":{"docs":{},"员":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"其":{"docs":{},"它":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"注":{"docs":{},"入":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"对":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"i":{"docs":{},"o":{"docs":{},"c":{"docs":{},"和":{"docs":{},"a":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"注":{"docs":{},"入":{"docs":{},"其":{"docs":{},"它":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{},"可":{"docs":{},"以":{"docs":{},"提":{"docs":{},"取":{"docs":{},"约":{"docs":{},"定":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"来":{"docs":{},"决":{"docs":{},"定":{"docs":{},"使":{"docs":{},"用":{"docs":{},"哪":{"docs":{},"个":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"是":{"docs":{},"固":{"docs":{},"定":{"docs":{},",":{"docs":{},"指":{"docs":{},"定":{"docs":{},"提":{"docs":{},"取":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"即":{"docs":{},"可":{"docs":{},"以":{"docs":{},"代":{"docs":{},"理":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"上":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"动":{"docs":{},"态":{"docs":{},"生":{"docs":{},"成":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"方":{"docs":{},"法":{"docs":{},"执":{"docs":{},"行":{"docs":{},"时":{"docs":{},"才":{"docs":{},"决":{"docs":{},"定":{"docs":{},"调":{"docs":{},"用":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}},"现":{"docs":{},"。":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}},"是":{"docs":{},"在":{"docs":{},"加":{"docs":{},"载":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"里":{"docs":{},"动":{"docs":{},"态":{"docs":{},"生":{"docs":{},"成":{"docs":{},"。":{"docs":{},"指":{"docs":{},"定":{"docs":{},"提":{"docs":{},"取":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"通":{"docs":{},"过":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"来":{"docs":{},"调":{"docs":{},"用":{"docs":{},"对":{"docs":{},"应":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}},"类":{"docs":{},"内":{"docs":{},"容":{"docs":{},":":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}},"细":{"docs":{},"节":{"docs":{},":":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"传":{"docs":{},"递":{"docs":{},"采":{"docs":{},"用":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{},"但":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"中":{"docs":{},"没":{"docs":{},"有":{"docs":{},"支":{"docs":{},"持":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"于":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"地":{"docs":{},"址":{"docs":{},"由":{"docs":{},"于":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"共":{"docs":{},"享":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"那":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"特":{"docs":{},"别":{"docs":{},"注":{"docs":{},"意":{"docs":{},",":{"docs":{},"一":{"docs":{},"方":{"docs":{},"面":{"docs":{},"要":{"docs":{},"满":{"docs":{},"足":{"docs":{},"对":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"地":{"docs":{},"址":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"全":{"docs":{},"部":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{},"后":{"docs":{},",":{"docs":{},"连":{"docs":{},"接":{"docs":{},"需":{"docs":{},"要":{"docs":{},"关":{"docs":{},"闭":{"docs":{},",":{"docs":{},"另":{"docs":{},"一":{"docs":{},"方":{"docs":{},"面":{"docs":{},"还":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"如":{"docs":{},"何":{"docs":{},"避":{"docs":{},"免":{"docs":{},"部":{"docs":{},"分":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"当":{"docs":{},"上":{"docs":{},"面":{"docs":{},"执":{"docs":{},"行":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}},"配":{"docs":{},"置":{"docs":{},"了":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"参":{"docs":{},"数":{"docs":{},"为":{"docs":{},"有":{"docs":{},"效":{"docs":{},"值":{"docs":{},"时":{"docs":{},"激":{"docs":{},"活":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"配":{"docs":{},"了":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"r":{"docs":{},"u":{"docs":{},"\"":{"docs":{},",":{"docs":{},"自":{"docs":{},"动":{"docs":{},"激":{"docs":{},"活":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"中":{"docs":{},"有":{"docs":{},"设":{"docs":{},"置":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"连":{"docs":{},"接":{"docs":{},"失":{"docs":{},"败":{"docs":{},"不":{"docs":{},"能":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"需":{"docs":{},"内":{"docs":{},"部":{"docs":{},"自":{"docs":{},"动":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"。":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"时":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"分":{"docs":{},"类":{"docs":{},"存":{"docs":{},"储":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"类":{"docs":{},"别":{"docs":{},"为":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},",":{"docs":{},"可":{"docs":{},"按":{"docs":{},"分":{"docs":{},"类":{"docs":{},"部":{"docs":{},"分":{"docs":{},"通":{"docs":{},"知":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"只":{"docs":{},"通":{"docs":{},"知":{"docs":{},"指":{"docs":{},"定":{"docs":{},"分":{"docs":{},"类":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"分":{"docs":{},"类":{"docs":{},"用":{"docs":{},"逗":{"docs":{},"号":{"docs":{},"分":{"docs":{},"隔":{"docs":{},",":{"docs":{},"并":{"docs":{},"允":{"docs":{},"许":{"docs":{},"星":{"docs":{},"号":{"docs":{},"通":{"docs":{},"配":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"所":{"docs":{},"有":{"docs":{},"分":{"docs":{},"类":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"注":{"docs":{},"册":{"docs":{},"失":{"docs":{},"败":{"docs":{},"后":{"docs":{},"不":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"在":{"docs":{},"后":{"docs":{},"台":{"docs":{},"定":{"docs":{},"时":{"docs":{},"重":{"docs":{},"试":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}},"订":{"docs":{},"阅":{"docs":{},"失":{"docs":{},"败":{"docs":{},"后":{"docs":{},"不":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"在":{"docs":{},"后":{"docs":{},"台":{"docs":{},"定":{"docs":{},"时":{"docs":{},"重":{"docs":{},"试":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"持":{"docs":{},"久":{"docs":{},"存":{"docs":{},"储":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},",":{"docs":{},"当":{"docs":{},"注":{"docs":{},"册":{"docs":{},"者":{"docs":{},"出":{"docs":{},"现":{"docs":{},"断":{"docs":{},"电":{"docs":{},"等":{"docs":{},"情":{"docs":{},"况":{"docs":{},"异":{"docs":{},"常":{"docs":{},"退":{"docs":{},"出":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"自":{"docs":{},"动":{"docs":{},"删":{"docs":{},"除":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},"出":{"docs":{},"错":{"docs":{},"时":{"docs":{},"抛":{"docs":{},"出":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"端":{"docs":{},"口":{"docs":{},"已":{"docs":{},"占":{"docs":{},"用":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"调":{"docs":{},"用":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"所":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"协":{"docs":{},"议":{"docs":{},"需":{"docs":{},"相":{"docs":{},"应":{"docs":{},"执":{"docs":{},"行":{"docs":{},"同":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"远":{"docs":{},"端":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"失":{"docs":{},"败":{"docs":{},"时":{"docs":{},"抛":{"docs":{},"出":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{},"引":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"触":{"docs":{},"发":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}},"暴":{"docs":{},"露":{"docs":{},"时":{"docs":{},",":{"docs":{},"触":{"docs":{},"发":{"docs":{},"该":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.013333333333333334}}}}}}}}}}}}}},"多":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"多":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"组":{"docs":{},"织":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"集":{"docs":{},"群":{"docs":{},",":{"docs":{},"并":{"docs":{},"伪":{"docs":{},"装":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"。":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"变":{"docs":{},"更":{"docs":{},"通":{"docs":{},"知":{"docs":{},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"重":{"docs":{},"启":{"docs":{},",":{"docs":{},"网":{"docs":{},"络":{"docs":{},"抖":{"docs":{},"动":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"断":{"docs":{},"线":{"docs":{},"自":{"docs":{},"动":{"docs":{},"删":{"docs":{},"除":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"自":{"docs":{},"动":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"时":{"docs":{},"表":{"docs":{},"示":{"docs":{},"不":{"docs":{},"检":{"docs":{},"查":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"在":{"docs":{},"连":{"docs":{},"接":{"docs":{},"不":{"docs":{},"上":{"docs":{},"时":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"与":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"创":{"docs":{},"建":{"docs":{},"代":{"docs":{},"理":{"docs":{},"时":{"docs":{},",":{"docs":{},"暂":{"docs":{},"不":{"docs":{},"建":{"docs":{},"立":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"当":{"docs":{},"有":{"docs":{},"数":{"docs":{},"据":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},"在":{"docs":{},"做":{"docs":{},"连":{"docs":{},"接":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"方":{"docs":{},"法":{"docs":{},"做":{"docs":{},"一":{"docs":{},"个":{"docs":{},"操":{"docs":{},"作":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}}}},"转":{"docs":{},"换":{"docs":{},"成":{"docs":{},"业":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}},"如":{"docs":{},"提":{"docs":{},"取":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}},"的":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}},"时":{"docs":{},",":{"docs":{},"协":{"docs":{},"议":{"docs":{},"需":{"docs":{},"相":{"docs":{},"应":{"docs":{},"执":{"docs":{},"行":{"docs":{},"同":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}},"无":{"docs":{},"条":{"docs":{},"件":{"docs":{},"自":{"docs":{},"动":{"docs":{},"激":{"docs":{},"活":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}},"时":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"m":{"docs":{},"a":{"docs":{},"k":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}},"注":{"docs":{},"入":{"docs":{},"的":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}},"累":{"docs":{},"加":{"docs":{},"所":{"docs":{},"有":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}},"示":{"docs":{},"例":{"docs":{},":":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"为":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0057306590257879654}}}}}}}}}}}},"等":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"同":{"docs":{},"时":{"docs":{},"加":{"docs":{},"载":{"docs":{},"多":{"docs":{},"个":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"自":{"docs":{},"动":{"docs":{},"激":{"docs":{},"活":{"docs":{},"来":{"docs":{},"简":{"docs":{},"化":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"约":{"docs":{},"定":{"docs":{},":":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}},"自":{"docs":{},"动":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"的":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"类":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.015625}}}}},"适":{"docs":{},"应":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}},"获":{"docs":{},"取":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{},",":{"docs":{},"但":{"docs":{},"如":{"docs":{},"果":{"docs":{},"r":{"docs":{},"u":{"docs":{},"b":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"因":{"docs":{},"为":{"docs":{},"所":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"j":{"docs":{},"r":{"docs":{},"u":{"docs":{},"b":{"docs":{},"y":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"r":{"docs":{},"u":{"docs":{},"b":{"docs":{},"y":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"类":{"docs":{},"加":{"docs":{},"载":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"失":{"docs":{},"败":{"docs":{},"原":{"docs":{},"因":{"docs":{},"被":{"docs":{},"吃":{"docs":{},"掉":{"docs":{},"了":{"docs":{},",":{"docs":{},"和":{"docs":{},"r":{"docs":{},"u":{"docs":{},"b":{"docs":{},"y":{"docs":{},"对":{"docs":{},"应":{"docs":{},"不":{"docs":{},"起":{"docs":{},"来":{"docs":{},",":{"docs":{},"当":{"docs":{},"用":{"docs":{},"户":{"docs":{},"执":{"docs":{},"行":{"docs":{},"r":{"docs":{},"u":{"docs":{},"b":{"docs":{},"y":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"报":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"r":{"docs":{},"u":{"docs":{},"b":{"docs":{},"y":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"真":{"docs":{},"正":{"docs":{},"失":{"docs":{},"败":{"docs":{},"的":{"docs":{},"原":{"docs":{},"因":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},":":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.010638297872340425}}}}}}},"路":{"docs":{},"由":{"docs":{},"器":{"docs":{},":":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.010638297872340425}}}}}}}},"返":{"docs":{},"回":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"时":{"docs":{},",":{"docs":{},"w":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"在":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"实":{"docs":{},"现":{"docs":{},"外":{"docs":{},"。":{"docs":{},"即":{"docs":{},"从":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}},"这":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},"在":{"docs":{},"下":{"docs":{},"面":{"docs":{},"一":{"docs":{},"点":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}},"样":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"自":{"docs":{},"己":{"docs":{},"定":{"docs":{},"好":{"docs":{},"配":{"docs":{},"置":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"后":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"从":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"上":{"docs":{},"从":{"docs":{},"最":{"docs":{},"外":{"docs":{},"层":{"docs":{},"传":{"docs":{},"入":{"docs":{},"。":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"在":{"docs":{},"配":{"docs":{},"置":{"docs":{},"传":{"docs":{},"递":{"docs":{},"上":{"docs":{},"即":{"docs":{},"是":{"docs":{},"一":{"docs":{},"条":{"docs":{},"总":{"docs":{},"线":{"docs":{},"。":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"里":{"docs":{},"带":{"docs":{},"来":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"扩展点加载.html":{"ref":"扩展点加载.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}},"记":{"docs":{},"录":{"docs":{},"的":{"docs":{},"是":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"公":{"docs":{},"共":{"docs":{},"契":{"docs":{},"约":{"docs":{},",":{"docs":{},"希":{"docs":{},"望":{"docs":{},"所":{"docs":{},"有":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"遵":{"docs":{},"守":{"docs":{},"。":{"docs":{"公共契约.html":{"ref":"公共契约.html","tf":0.125}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{},"或":{"docs":{},"实":{"docs":{},"现":{"docs":{},"不":{"docs":{},"优":{"docs":{},"雅":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"。":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}},"*":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.07142857142857142},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.18309859154929578}},"/":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.007518796992481203},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.01971830985915493}}}},"|":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.041353383458646614},"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.07142857142857142},"SPI参考手册/引用监听扩展.html":{"ref":"SPI参考手册/引用监听扩展.html","tf":0.12},"SPI参考手册/暴露监听扩展.html":{"ref":"SPI参考手册/暴露监听扩展.html","tf":0.12},"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.09090909090909091},"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.1232876712328767},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.1232876712328767},"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.14516129032258066},"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.028169014084507043},"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.11363636363636363},"SPI参考手册/扩展点加载扩展.html":{"ref":"SPI参考手册/扩展点加载扩展.html","tf":0.14516129032258066},"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.10714285714285714},"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":0.140625},"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.13846153846153847},"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.14285714285714285},"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.11702127659574468},"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.054455445544554455},"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.09322033898305085},"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.14516129032258066},"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.10344827586206896},"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.12162162162162163},"SPI参考手册/容器扩展.html":{"ref":"SPI参考手册/容器扩展.html","tf":0.1267605633802817},"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.140625},"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.08490566037735849},"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.1},"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.09782608695652174}}},"其":{"docs":{},"中":{"docs":{},",":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}},"契":{"docs":{},"约":{"docs":{},":":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}},"文":{"docs":{},"档":{"docs":{},"化":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}},"所":{"docs":{},"返":{"docs":{},"回":{"docs":{},"的":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"均":{"docs":{},"支":{"docs":{},"持":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"参":{"docs":{},"数":{"docs":{},"都":{"docs":{},"包":{"docs":{},"含":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"作":{"docs":{},"为":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"信":{"docs":{},"息":{"docs":{},"贯":{"docs":{},"穿":{"docs":{},"整":{"docs":{},"个":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"设":{"docs":{},"计":{"docs":{},"体":{"docs":{},"系":{"docs":{},"。":{"docs":{"公共契约.html":{"ref":"公共契约.html","tf":0.125}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"都":{"docs":{},"放":{"docs":{},"在":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"根":{"docs":{},"包":{"docs":{},"下":{"docs":{},",":{"docs":{},"基":{"docs":{},"类":{"docs":{},"放":{"docs":{},"在":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"子":{"docs":{},"包":{"docs":{},"下":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"实":{"docs":{},"现":{"docs":{},"用":{"docs":{},"放":{"docs":{},"在":{"docs":{},"以":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"名":{"docs":{},"字":{"docs":{},"命":{"docs":{},"名":{"docs":{},"的":{"docs":{},"子":{"docs":{},"包":{"docs":{},"下":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},",":{"docs":{},"我":{"docs":{},"们":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"核":{"docs":{},"心":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"写":{"docs":{"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":0.058823529411764705}}}}}}}}}}}}}}}},"没":{"docs":{},"有":{"docs":{},"配":{"docs":{},"置":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}}}}}}}},"x":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}}}}}}}}}}}}}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":0.015625}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/集群扩展.html":{"ref":"SPI参考手册/集群扩展.html","tf":0.010101010101010102}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":0.009433962264150943}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/路由扩展.html":{"ref":"SPI参考手册/路由扩展.html","tf":0.0136986301369863},"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":0.015384615384615385}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":0.015873015873015872}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/网络传输扩展.html":{"ref":"SPI参考手册/网络传输扩展.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/信息交换扩展.html":{"ref":"SPI参考手册/信息交换扩展.html","tf":0.00847457627118644}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":0.016129032258064516}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"属":{"docs":{},"性":{"docs":{},"时":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}}}}}}}}}}}}}}}}}}}}}}}}},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"业":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{},"。":{"docs":{"SPI参考手册/协议扩展.html":{"ref":"SPI参考手册/协议扩展.html","tf":0.0037593984962406013}}}}}}}}}},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"y":{"docs":{},"y":{"docs":{},"i":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}},"后":{"docs":{},"。":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.015873015873015872}}}}},"同":{"docs":{},"时":{"docs":{},"配":{"docs":{},"置":{"docs":{},"的":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}},"均":{"docs":{},"会":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},",":{"docs":{},"需":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}},"特":{"docs":{},"殊":{"docs":{},"值":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}},"符":{"docs":{},"号":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}},"默":{"docs":{},"认":{"docs":{},"在":{"docs":{},"内":{"docs":{},"置":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}},",":{"docs":{},"则":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}},"表":{"docs":{},"示":{"docs":{},"剔":{"docs":{},"除":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"\"":{"docs":{"SPI参考手册/调用拦截扩展.html":{"ref":"SPI参考手册/调用拦截扩展.html","tf":0.007936507936507936}}}}}}}}}}}}}}}}}}},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/负载均衡扩展.html":{"ref":"SPI参考手册/负载均衡扩展.html","tf":5}}}}}}},"责":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"与":{"docs":{},"发":{"docs":{},"现":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"次":{"docs":{},"和":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},"监":{"docs":{},"控":{"docs":{},"。":{"docs":{"SPI参考手册/监控中心扩展.html":{"ref":"SPI参考手册/监控中心扩展.html","tf":0.011363636363636364}}}}}}}}}}}}}}}}}},"合":{"docs":{},"并":{"docs":{},"结":{"docs":{},"果":{"docs":{},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":5}}}}}},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"分":{"docs":{},"组":{"docs":{},"聚":{"docs":{},"合":{"docs":{},"。":{"docs":{"SPI参考手册/合并结果扩展.html":{"ref":"SPI参考手册/合并结果扩展.html","tf":0.016129032258064516}}}}}}}}}}}}}}}},"允":{"docs":{},"许":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"相":{"docs":{},"同":{"docs":{},"但":{"docs":{},"参":{"docs":{},"数":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"并":{"docs":{},"存":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},",":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"作":{"docs":{},"为":{"docs":{},"条":{"docs":{},"件":{"docs":{},"查":{"docs":{},"询":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"=":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"&":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"取":{"docs":{},"消":{"docs":{},"注":{"docs":{},"册":{"docs":{},"服":{"docs":{},"务":{"docs":{},".":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}},"需":{"docs":{},"处":{"docs":{},"理":{"docs":{},"契":{"docs":{},"约":{"docs":{},":":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}},"订":{"docs":{},"阅":{"docs":{},"服":{"docs":{},"务":{"docs":{},".":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}},"需":{"docs":{},"处":{"docs":{},"理":{"docs":{},"契":{"docs":{},"约":{"docs":{},":":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}},"并":{"docs":{},"且":{"docs":{},"查":{"docs":{},"询":{"docs":{},"条":{"docs":{},"件":{"docs":{},"允":{"docs":{},"许":{"docs":{},"星":{"docs":{},"号":{"docs":{},"通":{"docs":{},"配":{"docs":{},",":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"所":{"docs":{},"有":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"分":{"docs":{},"组":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"或":{"docs":{},":":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"=":{"docs":{},"*":{"docs":{},"&":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"=":{"docs":{},"*":{"docs":{},"&":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"docs":{},"*":{"docs":{},"&":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"*":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"须":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"过":{"docs":{},"程":{"docs":{},",":{"docs":{},"等":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"通":{"docs":{},"知":{"docs":{},"完":{"docs":{},"后":{"docs":{},"再":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}},"总":{"docs":{},"是":{"docs":{},"以":{"docs":{},"服":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"为":{"docs":{},"维":{"docs":{},"度":{"docs":{},"全":{"docs":{},"量":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"即":{"docs":{},"不":{"docs":{},"会":{"docs":{},"通":{"docs":{},"知":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"同":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"部":{"docs":{},"分":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"比":{"docs":{},"上":{"docs":{},"一":{"docs":{},"次":{"docs":{},"通":{"docs":{},"知":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"按":{"docs":{},"全":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"取":{"docs":{},"消":{"docs":{},"注":{"docs":{},"册":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}},"订":{"docs":{},"阅":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}},"查":{"docs":{},"询":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"允":{"docs":{},"许":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"0":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"?":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"&":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"docs":{},"k":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"与":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"的":{"docs":{},"推":{"docs":{},"模":{"docs":{},"式":{"docs":{},"相":{"docs":{},"对":{"docs":{},"应":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"为":{"docs":{},"拉":{"docs":{},"模":{"docs":{},"式":{"docs":{},",":{"docs":{},"只":{"docs":{},"返":{"docs":{},"回":{"docs":{},"一":{"docs":{},"次":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"订":{"docs":{},"阅":{"docs":{},"时":{"docs":{},"的":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"通":{"docs":{},"知":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"类":{"docs":{},"型":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"全":{"docs":{},"量":{"docs":{},"通":{"docs":{},"知":{"docs":{},"。":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},".":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}},"地":{"docs":{},"址":{"docs":{},":":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"允":{"docs":{},"许":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"0":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"?":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"&":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"docs":{},"k":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.005633802816901409}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"处":{"docs":{},"理":{"docs":{},"契":{"docs":{},"约":{"docs":{},":":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}},"连":{"docs":{},"接":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},".":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}},"需":{"docs":{},"处":{"docs":{},"理":{"docs":{},"契":{"docs":{},"约":{"docs":{},":":{"docs":{"SPI参考手册/注册中心扩展.html":{"ref":"SPI参考手册/注册中心扩展.html","tf":0.0028169014084507044}}}}}}}}}}}}}},"将":{"docs":{"SPI参考手册/动态代理扩展.html":{"ref":"SPI参考手册/动态代理扩展.html","tf":0.011904761904761904}},"对":{"docs":{},"象":{"docs":{},"转":{"docs":{},"成":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"网":{"docs":{},"络":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"将":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},"转":{"docs":{},"为":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"收":{"docs":{},"到":{"docs":{},"字":{"docs":{},"节":{"docs":{},"流":{"docs":{},"数":{"docs":{},"据":{"docs":{},"后":{"docs":{},"还":{"docs":{},"原":{"docs":{},"成":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"SPI参考手册/序列化扩展.html":{"ref":"SPI参考手册/序列化扩展.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/编译器扩展.html":{"ref":"SPI参考手册/编译器扩展.html","tf":5}}}}}},"码":{"docs":{},"约":{"docs":{},"定":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":5}}}}}},"消":{"docs":{},"息":{"docs":{},"派":{"docs":{},"发":{"docs":{},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/消息派发扩展.html":{"ref":"SPI参考手册/消息派发扩展.html","tf":5}}}}}}}},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/线程池扩展.html":{"ref":"SPI参考手册/线程池扩展.html","tf":5}}}}}}},"组":{"docs":{},"网":{"docs":{},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/组网扩展.html":{"ref":"SPI参考手册/组网扩展.html","tf":5}}}}}},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"人":{"docs":{},"工":{"docs":{},"干":{"docs":{},"预":{"docs":{},"。":{"docs":{"SPI参考手册/Telnet命令扩展.html":{"ref":"SPI参考手册/Telnet命令扩展.html","tf":0.011494252873563218}}}}}}}}}}}},"检":{"docs":{},"查":{"docs":{},"服":{"docs":{},"务":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"各":{"docs":{},"种":{"docs":{},"资":{"docs":{},"源":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"此":{"docs":{},"状":{"docs":{},"态":{"docs":{},"检":{"docs":{},"查":{"docs":{},"可":{"docs":{},"同":{"docs":{},"时":{"docs":{},"用":{"docs":{},"于":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}}}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":5}}}}}},"页":{"docs":{},"面":{"docs":{},"。":{"docs":{"SPI参考手册/状态检查扩展.html":{"ref":"SPI参考手册/状态检查扩展.html","tf":0.013513513513513514}}},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/页面扩展.html":{"ref":"SPI参考手册/页面扩展.html","tf":5}}}}}},"缓":{"docs":{},"存":{"docs":{},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/缓存扩展.html":{"ref":"SPI参考手册/缓存扩展.html","tf":5}}}}}},"参":{"docs":{},"数":{"docs":{},"验":{"docs":{},"证":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"。":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":0.011111111111111112}}}}}}}},"回":{"docs":{},"调":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}},"见":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{},"b":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"c":{"docs":{},"d":{"docs":{},"i":{"docs":{},"/":{"docs":{},"t":{"docs":{},"c":{"docs":{},"k":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"1":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":0.058823529411764705}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"验":{"docs":{},"证":{"docs":{},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/验证扩展.html":{"ref":"SPI参考手册/验证扩展.html","tf":5}}}},"令":{"docs":{},"牌":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}},"日":{"docs":{},"志":{"docs":{"公共契约.html":{"ref":"公共契约.html","tf":0.125}},"输":{"docs":{},"出":{"docs":{},"适":{"docs":{},"配":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"。":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":0.010869565217391304}}}}}}}}}},"适":{"docs":{},"配":{"docs":{},"扩":{"docs":{},"展":{"docs":{"SPI参考手册/日志适配扩展.html":{"ref":"SPI参考手册/日志适配扩展.html","tf":5}}}}}}}},"技":{"docs":{},"术":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"性":{"docs":{},"测":{"docs":{},"试":{"docs":{"技术兼容性测试.html":{"ref":"技术兼容性测试.html","tf":5}}}}}}}}},"正":{"docs":{},"常":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"的":{"docs":{},"中":{"docs":{},"间":{"docs":{},"状":{"docs":{},"态":{"docs":{},"提":{"docs":{},"示":{"docs":{},",":{"docs":{},"打":{"docs":{},"印":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"日":{"docs":{},"志":{"docs":{},"。":{"docs":{"公共契约.html":{"ref":"公共契约.html","tf":0.125}}}}}}}}}}}}}}}}}}}}}}}},"#":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}},";":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}},"主":{"docs":{},"要":{"docs":{},"原":{"docs":{},"理":{"docs":{},":":{"docs":{},"在":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},"时":{"docs":{},",":{"docs":{},"判":{"docs":{},"断":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"配":{"docs":{},"置":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"/":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"则":{"docs":{},"将":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"值":{"docs":{},"(":{"docs":{},"实":{"docs":{},"例":{"docs":{},"方":{"docs":{},"法":{"docs":{},")":{"docs":{},"加":{"docs":{},"入":{"docs":{},"到":{"docs":{},"异":{"docs":{},"步":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"回":{"docs":{},"调":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},".":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}},"先":{"docs":{},"在":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"上":{"docs":{},"找":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"1":{"docs":{},"的":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"作":{"docs":{},"为":{"docs":{},"要":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"成":{"docs":{},"的":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"名":{"docs":{},";":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"共":{"docs":{},"享":{"docs":{},"连":{"docs":{},"接":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}},"向":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},":":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}},"坏":{"docs":{},"味":{"docs":{},"道":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":5}}}}},"存":{"docs":{},"在":{"docs":{},"多":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"首":{"docs":{},"先":{"docs":{},"根":{"docs":{},"据":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"进":{"docs":{},"行":{"docs":{},"选":{"docs":{},"择":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"选":{"docs":{},"择":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"处":{"docs":{},"于":{"docs":{},"可":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"则":{"docs":{},"进":{"docs":{},"行":{"docs":{},"后":{"docs":{},"续":{"docs":{},"调":{"docs":{},"用":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"了":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"y":{"docs":{},"后":{"docs":{},",":{"docs":{},"在":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"会":{"docs":{},"继":{"docs":{},"续":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"上":{"docs":{},"一":{"docs":{},"次":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},".":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"根":{"docs":{},"据":{"docs":{},"@":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"注":{"docs":{},"解":{"docs":{},"上":{"docs":{},"声":{"docs":{},"明":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"的":{"docs":{},"顺":{"docs":{},"序":{"docs":{},",":{"docs":{},"从":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"获":{"docs":{},"致":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"实":{"docs":{},"际":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"名":{"docs":{},"。":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"项":{"docs":{},"功":{"docs":{},"能":{"docs":{},"自":{"docs":{},"动":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"连":{"docs":{},"接":{"docs":{},"重":{"docs":{},"试":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"开":{"docs":{},"启":{"docs":{},"发":{"docs":{},"送":{"docs":{},"重":{"docs":{},"试":{"docs":{},"功":{"docs":{},"能":{"docs":{},"(":{"docs":{},"即":{"docs":{},"发":{"docs":{},"送":{"docs":{},"数":{"docs":{},"据":{"docs":{},"时":{"docs":{},"如":{"docs":{},"果":{"docs":{},"连":{"docs":{},"接":{"docs":{},"已":{"docs":{},"断":{"docs":{},"开":{"docs":{},",":{"docs":{},"尝":{"docs":{},"试":{"docs":{},"重":{"docs":{},"新":{"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},")":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"对":{"docs":{},"点":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"和":{"docs":{},"引":{"docs":{},"用":{"docs":{},"服":{"docs":{},"务":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}},"直":{"docs":{},"连":{"docs":{},"服":{"docs":{},"务":{"docs":{},":":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},":":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}},"策":{"docs":{},"略":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}},"缺":{"docs":{},"省":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"(":{"docs":{},"在":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"中":{"docs":{},"设":{"docs":{},"定":{"docs":{},"的":{"docs":{},"值":{"docs":{},")":{"docs":{},"。":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"[":{"docs":{},"]":{"docs":{"坏味道.html":{"ref":"坏味道.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"减":{"docs":{},"少":{"docs":{},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"循":{"docs":{},"环":{"docs":{},"等":{"docs":{},"待":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},"用":{"docs":{},"例":{"docs":{},",":{"docs":{},"对":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"和":{"docs":{},"网":{"docs":{},"络":{"docs":{},"的":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"用":{"docs":{},"以":{"docs":{},"将":{"docs":{},"定":{"docs":{},"时":{"docs":{},"器":{"docs":{},"中":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"抽":{"docs":{},"为":{"docs":{},"方":{"docs":{},"法":{"docs":{},"测":{"docs":{},"试":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"单":{"docs":{},"元":{"docs":{},"和":{"docs":{},"集":{"docs":{},"成":{"docs":{},"测":{"docs":{},"试":{"docs":{},":":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}},"测":{"docs":{},"试":{"docs":{},"统":{"docs":{},"一":{"docs":{},"用":{"docs":{},"j":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"和":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"集":{"docs":{},"成":{"docs":{},"测":{"docs":{},"试":{"docs":{},"用":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"测":{"docs":{},"试":{"docs":{},"用":{"docs":{},"d":{"docs":{},"b":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"携":{"docs":{},"带":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"出":{"docs":{},"错":{"docs":{},"原":{"docs":{},"因":{"docs":{},",":{"docs":{},"出":{"docs":{},"错":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"对":{"docs":{},"方":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"连":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"等":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"传":{"docs":{},"参":{"docs":{},",":{"docs":{},"不":{"docs":{},"要":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"或":{"docs":{},"其":{"docs":{},"它":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"格":{"docs":{},"式":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"也":{"docs":{},"转":{"docs":{},"成":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"格":{"docs":{},"式":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"量":{"docs":{},"保":{"docs":{},"持":{"docs":{},"子":{"docs":{},"包":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"父":{"docs":{},"包":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"要":{"docs":{},"反":{"docs":{},"向":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}},"减":{"docs":{},"少":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},",":{"docs":{},"保":{"docs":{},"持":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"的":{"docs":{},"简":{"docs":{},"洁":{"docs":{},"性":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"直":{"docs":{},"接":{"docs":{},"原":{"docs":{},"因":{"docs":{},"写":{"docs":{},"在":{"docs":{},"最":{"docs":{},"前":{"docs":{},"面":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"在":{"docs":{},"原":{"docs":{},"因":{"docs":{},"后":{"docs":{},"用":{"docs":{},"键":{"docs":{},"值":{"docs":{},"对":{"docs":{},"显":{"docs":{},"示":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{},"a":{"docs":{},"o":{"docs":{},"p":{"docs":{},"实":{"docs":{},"现":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"的":{"docs":{},"通":{"docs":{},"用":{"docs":{},"行":{"docs":{},"为":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"要":{"docs":{},"用":{"docs":{},"基":{"docs":{},"类":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"它":{"docs":{},"是":{"docs":{},"独":{"docs":{},"立":{"docs":{},"于":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"之":{"docs":{},"外":{"docs":{},"的":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"检":{"docs":{},"查":{"docs":{},"的":{"docs":{},"是":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"c":{"docs":{},"注":{"docs":{},"入":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"之":{"docs":{},"间":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"不":{"docs":{},"要":{"docs":{},"直":{"docs":{},"接":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"工":{"docs":{},"厂":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"议":{"docs":{},"应":{"docs":{},"用":{"docs":{},"方":{"docs":{},"在":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"配":{"docs":{},"置":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"日":{"docs":{},"志":{"docs":{},"实":{"docs":{},"时":{"docs":{},"报":{"docs":{},"警":{"docs":{},",":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"日":{"docs":{},"志":{"docs":{},"每":{"docs":{},"周":{"docs":{},"汇":{"docs":{},"总":{"docs":{},"发":{"docs":{},"送":{"docs":{},"通":{"docs":{},"知":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"常":{"docs":{},"和":{"docs":{},"日":{"docs":{},"志":{"docs":{},":":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}},"打":{"docs":{},"印":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"日":{"docs":{},"志":{"docs":{},"表":{"docs":{},"示":{"docs":{},"需":{"docs":{},"要":{"docs":{},"报":{"docs":{},"警":{"docs":{},",":{"docs":{},"打":{"docs":{},"印":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"日":{"docs":{},"志":{"docs":{},"表":{"docs":{},"示":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"动":{"docs":{},"恢":{"docs":{},"复":{"docs":{},",":{"docs":{},"打":{"docs":{},"印":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"表":{"docs":{},"示":{"docs":{},"正":{"docs":{},"常":{"docs":{},"信":{"docs":{},"息":{"docs":{},"或":{"docs":{},"完":{"docs":{},"全":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"运":{"docs":{},"行":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"抛":{"docs":{},"出":{"docs":{},"异":{"docs":{},"常":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},"不":{"docs":{},"用":{"docs":{},"打":{"docs":{},"印":{"docs":{},"日":{"docs":{},"志":{"docs":{},",":{"docs":{},"由":{"docs":{},"最":{"docs":{},"终":{"docs":{},"处":{"docs":{},"理":{"docs":{},"异":{"docs":{},"常":{"docs":{},"者":{"docs":{},"决":{"docs":{},"定":{"docs":{},"打":{"docs":{},"印":{"docs":{},"日":{"docs":{},"志":{"docs":{},"的":{"docs":{},"级":{"docs":{},"别":{"docs":{},",":{"docs":{},"吃":{"docs":{},"掉":{"docs":{},"异":{"docs":{},"常":{"docs":{},"必":{"docs":{},"需":{"docs":{},"打":{"docs":{},"印":{"docs":{},"日":{"docs":{},"志":{"docs":{},"。":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"遵":{"docs":{},"循":{"docs":{},"以":{"docs":{},"下":{"docs":{},"的":{"docs":{},"规":{"docs":{},"范":{"docs":{},":":{"docs":{"编码约定.html":{"ref":"编码约定.html","tf":0.021739130434782608}}}}}}}}}},"发":{"docs":{},"布":{"docs":{},"前":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"版":{"docs":{},"本":{"docs":{},"要":{"docs":{},"有":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"确":{"docs":{},"保":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"和":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}}}}}}}}}}}}}}}}}}}}}},"讲":{"docs":{},"一":{"docs":{},"遍":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}},"过":{"docs":{},"一":{"docs":{},"遍":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}},"需":{"docs":{},"要":{"docs":{},"伙":{"docs":{},"伴":{"docs":{},"检":{"docs":{},"查":{"docs":{"检查列表.html":{"ref":"检查列表.html","tf":0.034482758620689655}}}}}}}},"设":{"docs":{},"计":{"docs":{},"原":{"docs":{},"则":{"docs":{"设计原则.html":{"ref":"设计原则.html","tf":5}}}},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"健":{"docs":{},"壮":{"docs":{},"性":{"docs":{"设计原则.html":{"ref":"设计原则.html","tf":0.14285714285714285}}}}}}}}}},"谈":{"docs":{},"谈":{"docs":{},"扩":{"docs":{},"充":{"docs":{},"式":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"与":{"docs":{},"增":{"docs":{},"量":{"docs":{},"式":{"docs":{},"扩":{"docs":{},"展":{"docs":{"设计原则.html":{"ref":"设计原则.html","tf":0.14285714285714285}}}}}}}}}}}}}}},"防":{"docs":{},"痴":{"docs":{},"呆":{"docs":{},"设":{"docs":{},"计":{"docs":{"设计原则.html":{"ref":"设计原则.html","tf":0.14285714285714285}}}}}}},"魔":{"docs":{},"鬼":{"docs":{},"在":{"docs":{},"细":{"docs":{},"节":{"docs":{},"中":{"docs":{"设计原则.html":{"ref":"设计原则.html","tf":0.14285714285714285}}}}}}}}},"length":2509},"corpusTokens":["\"dubbo\"))","\"http://10.20.160.198/wiki/display/dubbo/transport.type\"})","\"key2\"},表示","\"provider\",","\"script\"))","\"script\")).addparameter(\"type\",","\"transport\"})","\"xxx\")","\"号分隔(spring约定)。","#","$adp","${home}/.m2/repository,","()","(technolog","(实现client接口)","(实现cluster接口)","(实现compiler接口)","(实现container接口)","(实现dispatcher接口)","(实现exchangeclient接口)","(实现exchanger接口)","(实现exchangeserver接口)","(实现exporterlistener接口)","(实现exporter接口)","(实现extensionfactory接口)","(实现filter接口)","(实现invokerlistener接口)","(实现invoker接口)","(实现loadbalance接口)","(实现loggeradapter接口)","(实现merger接口)","(实现monitorfactory接口)","(实现monitor接口)","(实现networker接口)","(实现objectinput接口)","(实现objectoutput接口)","(实现pagehandler接口)","(实现protocol接口)","(实现proxyfactory接口)","(实现registryfactory接口)","(实现registry接口)","(实现serialization接口)","(实现server接口)","(实现statuschecker接口)","(实现telnethandler接口)","(实现threadpool接口)","(实现transporter接口)","(实现validation接口)","(纯文本文件,内容为:xxx=com.xxx.xxxcachefactory)","(纯文本文件,内容为:xxx=com.xxx.xxxcluster)","(纯文本文件,内容为:xxx=com.xxx.xxxcompiler)","(纯文本文件,内容为:xxx=com.xxx.xxxcontainer)","(纯文本文件,内容为:xxx=com.xxx.xxxdispatcher)","(纯文本文件,内容为:xxx=com.xxx.xxxexchanger)","(纯文本文件,内容为:xxx=com.xxx.xxxexporterlistener)","(纯文本文件,内容为:xxx=com.xxx.xxxextensionfactory)","(纯文本文件,内容为:xxx=com.xxx.xxxfilter)","(纯文本文件,内容为:xxx=com.xxx.xxxinvokerlistener)","(纯文本文件,内容为:xxx=com.xxx.xxxloadbalance)","(纯文本文件,内容为:xxx=com.xxx.xxxloggeradapter)","(纯文本文件,内容为:xxx=com.xxx.xxxmerger)","(纯文本文件,内容为:xxx=com.xxx.xxxmonitorfactory)","(纯文本文件,内容为:xxx=com.xxx.xxxnetworker)","(纯文本文件,内容为:xxx=com.xxx.xxxpagehandler)","(纯文本文件,内容为:xxx=com.xxx.xxxprotocol)","(纯文本文件,内容为:xxx=com.xxx.xxxproxyfactory)","(纯文本文件,内容为:xxx=com.xxx.xxxregistryfactory)","(纯文本文件,内容为:xxx=com.xxx.xxxrouterfactory)","(纯文本文件,内容为:xxx=com.xxx.xxxserialization)","(纯文本文件,内容为:xxx=com.xxx.xxxstatuschecker)","(纯文本文件,内容为:xxx=com.xxx.xxxtelnethandler)","(纯文本文件,内容为:xxx=com.xxx.xxxthreadpool)","(纯文本文件,内容为:xxx=com.xxx.xxxtransporter)","(纯文本文件,内容为:xxx=com.xxx.xxxvalidation)","(造轮者)","*","*/","+","...","...);","/**","//","//...","0%","02","04","1","1.","1.5","10","11","12","127.0.0.1","168","2","2.","2.2.1","2.4.x不再开发,应用碰到bug让直接升级。(这个称为“夕阳条款”)","2.5.x成为ga版本,只bugfix,推广使用此版本。如何可行,可以推进应用在期望的时间点内升级到ga版本。","2.5.x的新功能基本稳定后,进入2.5.x试用阶段。找足够多的应用试用2.5.x版本。","20%","2012","20880","27","2个版本并行开发","3","3.","30","4","4.","5","5.","6","6.","6.1","6.10","6.11","6.12","6.13","6.14","6.15","6.16","6.17","6.18","6.19","6.2","6.20","6.21","6.22","6.23","6.24","6.25","6.26","6.3","6.4","6.5","6.6","6.7","6.8","6.9","7","7.","8","9","90%",";","=","==",">",">provider的长连接上,自动在consumer端暴露一个服务(实现方法参数上声明的接口a),provider端便可反向调用到consumer端的接口实例.","@activ","@activate(\"xxx\")","@activate(group","@adapt","@adaptive({\"client\",","@adaptive({\"http://10.20.160.198/wiki/display/dubbo/car.type\",","@adaptive({\"server\",","@adaptive注解使用如下:","@extens","@help(parameter=\"...\",","@param","@return","@see","@throw","abstract","abstractcli","abstractclusterinvoker(directory)","abstractexport","abstractinvok","abstractserv","ac","adapt","adaptive实例","address/com.alibaba.dubbo.registry.registryserevice)","address/com.alibaba.dubbo.registry.registryserevice?registry=dubbo&export=encode(dubbo://provid","address/com.alibaba.dubbo.registry.registryserevice?registry=dubbo&refer=encode(version=1.0.0))","address/com.xxx.xxxservice?router=script&type=js&rule=encode(function{...}))","address/com.xxx.xxxservice?type=js&rule=encode(function{...}))","address/com.xxx.xxxservice?version=1.0.0\")","address/com.xxx.xxxservice?version=1.0.0)","address/com.xxx.xxxservice?version=1.0.0))","aop类都命名为xxxwrapper,基类都命名为abstractxxx。","arg","arg1,","arg2);","avro","a暴露了多个服务,jvm","befor","bind(url","bug","bugfix版本:低版本,比如2.4.x。是ga版本,线上使用的版本,只会bugfix,升级第三位版本号。","build","b引用了a中的多个服务,共享连接是说a与b多个服务调用是通过同一个tcp长连接进行数据传输,已达到减少服务端连接数的目的.","c:\\document","cach","cache(url","cachefactori","cacti","callback功能","car","carmak","carmaker(造车者)、wheelmak","cglib","chang","channel","channel,","channelhandl","check","check()","class","classpath","clean","client","client,","clone","cluster","cluster,","code","code(正常流程/异常流程)","codec","collect","com","com.alibaba.dubbo.cache.cache;","com.alibaba.dubbo.cache.cachefactori","com.alibaba.dubbo.cache.cachefactory;","com.alibaba.dubbo.cache.support.jcache.jcachefactori","com.alibaba.dubbo.cache.support.lru.lrucachefactori","com.alibaba.dubbo.cache.support.threadlocal.threadlocalcachefactori","com.alibaba.dubbo.common.compiler.compil","com.alibaba.dubbo.common.compiler.compiler;","com.alibaba.dubbo.common.compiler.support.javassistcompil","com.alibaba.dubbo.common.compiler.support.jdkcompil","com.alibaba.dubbo.common.extension.activate;","com.alibaba.dubbo.common.extension.extensionfactori","com.alibaba.dubbo.common.extension.extensionfactory;","com.alibaba.dubbo.common.extension.factory.spiextensionfactori","com.alibaba.dubbo.common.logger.jcl.jclloggeradapt","com.alibaba.dubbo.common.logger.jdk.jdkloggeradapt","com.alibaba.dubbo.common.logger.log4j.log4jloggeradapt","com.alibaba.dubbo.common.logger.logger;","com.alibaba.dubbo.common.logger.loggeradapt","com.alibaba.dubbo.common.logger.loggeradapter;","com.alibaba.dubbo.common.logger.slf4j.slf4jloggeradapt","com.alibaba.dubbo.common.serialize.dubbo.dubboseri","com.alibaba.dubbo.common.serialize.hessian.hessian2seri","com.alibaba.dubbo.common.serialize.java.compactedjavaseri","com.alibaba.dubbo.common.serialize.java.javaseri","com.alibaba.dubbo.common.serialize.objectinput","com.alibaba.dubbo.common.serialize.objectinput;","com.alibaba.dubbo.common.serialize.objectoutput","com.alibaba.dubbo.common.serialize.objectoutput;","com.alibaba.dubbo.common.serialize.seri","com.alibaba.dubbo.common.serialize.serialization;","com.alibaba.dubbo.common.status.statuscheck","com.alibaba.dubbo.common.status.statuschecker;","com.alibaba.dubbo.common.status.support.loadstatuscheck","com.alibaba.dubbo.common.status.support.memorystatuscheck","com.alibaba.dubbo.common.threadpool.cachedthreadpool","com.alibaba.dubbo.common.threadpool.fixedthreadpool","com.alibaba.dubbo.common.threadpool.threadpool","com.alibaba.dubbo.common.threadpool.threadpool;","com.alibaba.dubbo.common.url;","com.alibaba.dubbo.config.spring.extension.springextensionfactori","com.alibaba.dubbo.container.contain","com.alibaba.dubbo.container.container;","com.alibaba.dubbo.container.main","com.alibaba.dubbo.container.page.pagehandl","com.alibaba.dubbo.container.page.pagehandler;","com.alibaba.dubbo.container.page.pages.homepagehandl","com.alibaba.dubbo.container.page.pages.logpagehandl","com.alibaba.dubbo.container.page.pages.statuspagehandl","com.alibaba.dubbo.container.page.pages.systempagehandl","com.alibaba.dubbo.container.spring.jettycontain","com.alibaba.dubbo.container.spring.log4jcontain","com.alibaba.dubbo.container.spring.springcontain","com.alibaba.dubbo.monitor.monitor","com.alibaba.dubbo.monitor.monitor;","com.alibaba.dubbo.monitor.monitorfactori","com.alibaba.dubbo.monitor.monitorfactory;","com.alibaba.dubbo.monitor.support.dubbo.dubbomonitorfactori","com.alibaba.dubbo.registry.directory.registryexporterlisten","com.alibaba.dubbo.registry.directory.registrystatuscheck","com.alibaba.dubbo.registry.notifylistener#notify(list)","com.alibaba.dubbo.registry.notifylistener#notify(list)}的参数。","com.alibaba.dubbo.registry.notifylistener;","com.alibaba.dubbo.registry.registri","com.alibaba.dubbo.registry.registry;","com.alibaba.dubbo.registry.registryfactori","com.alibaba.dubbo.registry.registryfactory;","com.alibaba.dubbo.registry.registryservice#lookup(url)}的返回值。","com.alibaba.dubbo.registry.support.dubbo.dubboregistryfactori","com.alibaba.dubbo.remoting.cli","com.alibaba.dubbo.remoting.dispatch","com.alibaba.dubbo.remoting.dispatcher;","com.alibaba.dubbo.remoting.exchange.exchang","com.alibaba.dubbo.remoting.exchange.exchangecli","com.alibaba.dubbo.remoting.exchange.exchangeclient;","com.alibaba.dubbo.remoting.exchange.exchanger.headerexchang","com.alibaba.dubbo.remoting.exchange.exchanger;","com.alibaba.dubbo.remoting.exchange.exchangeserv","com.alibaba.dubbo.remoting.exchange.exchangeserver;","com.alibaba.dubbo.remoting.p2p.network","com.alibaba.dubbo.remoting.p2p.networker;","com.alibaba.dubbo.remoting.p2p.support.filenetwork","com.alibaba.dubbo.remoting.p2p.support.multicastnetwork","com.alibaba.dubbo.remoting.serv","com.alibaba.dubbo.remoting.telnet.support.cleartelnethandl","com.alibaba.dubbo.remoting.telnet.support.exittelnethandl","com.alibaba.dubbo.remoting.telnet.support.helptelnethandl","com.alibaba.dubbo.remoting.telnet.support.statustelnethandl","com.alibaba.dubbo.remoting.telnet.telnethandl","com.alibaba.dubbo.remoting.telnet.telnethandler;","com.alibaba.dubbo.remoting.transport","com.alibaba.dubbo.remoting.transport.dispatcher.all.alldispatch","com.alibaba.dubbo.remoting.transport.dispatcher.connection.connectionordereddispatch","com.alibaba.dubbo.remoting.transport.dispatcher.direct.directdispatch","com.alibaba.dubbo.remoting.transport.dispatcher.execution.executiondispatch","com.alibaba.dubbo.remoting.transport.dispatcher.message.messageonlydispatch","com.alibaba.dubbo.remoting.transport.transporter.abstractclient;","com.alibaba.dubbo.remoting.transport.transporter.abstractserver;","com.alibaba.dubbo.remoting.transport.transporter.grizzly.grizzlytransport","com.alibaba.dubbo.remoting.transport.transporter.mina.minatransport","com.alibaba.dubbo.remoting.transport.transporter.netty.nettytransport","com.alibaba.dubbo.remoting.transporter;","com.alibaba.dubbo.rpc.cluster.clust","com.alibaba.dubbo.rpc.cluster.cluster;","com.alibaba.dubbo.rpc.cluster.directory;","com.alibaba.dubbo.rpc.cluster.loadbal","com.alibaba.dubbo.rpc.cluster.loadbalance.leastactiveloadbal","com.alibaba.dubbo.rpc.cluster.loadbalance.randomloadbal","com.alibaba.dubbo.rpc.cluster.loadbalance.roundrobinloadbal","com.alibaba.dubbo.rpc.cluster.loadbalance;","com.alibaba.dubbo.rpc.cluster.merg","com.alibaba.dubbo.rpc.cluster.merger.arraymerg","com.alibaba.dubbo.rpc.cluster.merger.listmerg","com.alibaba.dubbo.rpc.cluster.merger.mapmerg","com.alibaba.dubbo.rpc.cluster.merger.setmerg","com.alibaba.dubbo.rpc.cluster.merger;","com.alibaba.dubbo.rpc.cluster.rout","com.alibaba.dubbo.rpc.cluster.router.filerouterfactori","com.alibaba.dubbo.rpc.cluster.router.scriptrouterfactori","com.alibaba.dubbo.rpc.cluster.routerfactori","com.alibaba.dubbo.rpc.cluster.routerfactory;","com.alibaba.dubbo.rpc.cluster.support.abstractclusterinvoker;","com.alibaba.dubbo.rpc.cluster.support.availableclust","com.alibaba.dubbo.rpc.cluster.support.failbackclust","com.alibaba.dubbo.rpc.cluster.support.failfastclust","com.alibaba.dubbo.rpc.cluster.support.failoverclust","com.alibaba.dubbo.rpc.cluster.support.failsafeclust","com.alibaba.dubbo.rpc.cluster.support.forkingclust","com.alibaba.dubbo.rpc.config.spring.status.datasourcestatuscheck","com.alibaba.dubbo.rpc.config.spring.status.springstatuscheck","com.alibaba.dubbo.rpc.dubbo.dubboprotocol","com.alibaba.dubbo.rpc.dubbo.status.serverstatuscheck","com.alibaba.dubbo.rpc.dubbo.status.threadpoolstatuscheck","com.alibaba.dubbo.rpc.dubbo.telnet.changetelnethandl","com.alibaba.dubbo.rpc.dubbo.telnet.counttelnethandl","com.alibaba.dubbo.rpc.dubbo.telnet.currenttelnethandl","com.alibaba.dubbo.rpc.dubbo.telnet.invoketelnethandl","com.alibaba.dubbo.rpc.dubbo.telnet.listtelnethandl","com.alibaba.dubbo.rpc.dubbo.telnet.porttelnethandl","com.alibaba.dubbo.rpc.dubbo.telnet.tracetelnethandl","com.alibaba.dubbo.rpc.export","com.alibaba.dubbo.rpc.exporter;","com.alibaba.dubbo.rpc.exporterlisten","com.alibaba.dubbo.rpc.exporterlistener;","com.alibaba.dubbo.rpc.filt","com.alibaba.dubbo.rpc.filter.accesslogfilt","com.alibaba.dubbo.rpc.filter.activelimitfilt","com.alibaba.dubbo.rpc.filter.classloaderfilt","com.alibaba.dubbo.rpc.filter.consumercontextfilt","com.alibaba.dubbo.rpc.filter.contextfilt","com.alibaba.dubbo.rpc.filter.countfilt","com.alibaba.dubbo.rpc.filter.deprecatedfilt","com.alibaba.dubbo.rpc.filter.echofilt","com.alibaba.dubbo.rpc.filter.exceptionfilt","com.alibaba.dubbo.rpc.filter.executelimitfilt","com.alibaba.dubbo.rpc.filter.genericfilt","com.alibaba.dubbo.rpc.filter.genericimplfilt","com.alibaba.dubbo.rpc.filter.tokenfilt","com.alibaba.dubbo.rpc.filter;","com.alibaba.dubbo.rpc.http.hessian.hessianprotocol","com.alibaba.dubbo.rpc.http.httpprotocol","com.alibaba.dubbo.rpc.injvm.injvmprotocol","com.alibaba.dubbo.rpc.invocation;","com.alibaba.dubbo.rpc.invok","com.alibaba.dubbo.rpc.invoker;","com.alibaba.dubbo.rpc.invokerlisten","com.alibaba.dubbo.rpc.invokerlistener;","com.alibaba.dubbo.rpc.listener.deprecatedinvokerlisten","com.alibaba.dubbo.rpc.protocol","com.alibaba.dubbo.rpc.protocol;","com.alibaba.dubbo.rpc.proxy.javassistproxyfactori","com.alibaba.dubbo.rpc.proxy.jdkproxyfactori","com.alibaba.dubbo.rpc.proxyfactori","com.alibaba.dubbo.rpc.proxyfactory;","com.alibaba.dubbo.rpc.result;","com.alibaba.dubbo.rpc.rmi.rmiprotocol","com.alibaba.dubbo.rpc.rpcexception;","com.alibaba.dubbo.rpc.support.abstractexporter;","com.alibaba.dubbo.rpc.support.abstractinvoker;","com.alibaba.dubbo.validation.support.jvalidation.jvalid","com.alibaba.dubbo.validation.valid","com.alibaba.dubbo.validation.validation;","com.alibaba.dubbo.validation.validator;","com.alibaba.xxx;","com.xxx;","comment","common","compat","compil","config","connect(url","connection(称为幽灵连接),用于当出现异常场景时,避免影响业务逻辑的正常调用.","consumer,","consumers,","contain","container,","container为服务容器,用于部署运行服务,没有在层中画出。","contribut","convent","count(url","ddubbo:application.logger=xxx","declipse.workspace=/path/to/the/workspace/","default\",剔除添加所有缺省扩展点。","default,表示缺省扩展点插入的位置。比如:filter=\"xxx,default,yyy\",表示","deserialize(paramet","destroyed(invok","destroy时不能关闭连接。在实现中采用了引用计数的方案,但为了防范,在连接关闭时,重新建立了一个lazi","detail=\"...\")","directory)","directory,","dispatch","dmaven.test.skip","doc","doclose()","doconnect()","doinvoke(invoc","doopen()","dubbo","dubbo>","dubboprotocol特有功能,默认关闭","dubboprotocol特有功能,默认开启","dubbo使用url对象(包含了key","dubbo改进了jdk标准的spi的以下问题:","dubbo的协议,通讯,序列化,注册中心,负载均策等扩展点,都有多种可选策略,以应对不同应用场景,而我们的测试用例很分散,当用户自己需要加一种新的实现时,总是不确定能否满足扩展点的完整契约。","dubbo的扩展点加载从jdk标准的spi(servic","dubbo配置模块中扩展点的配置","dubbo配置模块中,扩展点均有对应配置属性或标签,通过配置指定使用哪个扩展实现。比如:","eclips","eclipse:","eclipse:configur","eclipse:eclips","except","exchang","exchangechannel,","exchangecli","exchangeclient,","exchangehandl","exchanger,","exchangeserv","executor","export","export()","export()传入的invoker由框架实现并传入,协议不需要关心。","export()必须是幂等的,也就是暴露同一个url的invoker两次,和暴露一次没有区别。","export(dubbo://provid","export(invok","export(registry://registri","exported(export","exporter)","exporterlisten","exporter就可以完成非透明的rpc调用,然后在invoker的主过程上filter拦截点。","exportlistener,","extend","extension\");","extensionfactori","extensionload","extensionloader加载扩展点时,会检查扩展点的属性(通过set方法判断),如该属性是扩展点类型,则会注入扩展点对象。因为注入时不能确定使用哪个扩展点(在使用时确定),所以注入的是一个自适应扩展(一个代理)。自适应扩展点调用时,选取一个真正的扩展点,并代理到其上完成调用。dubbo是根据调用方法参数(上面有调用哪个扩展点的信息)来选取一个真正的扩展点。","extensionloader生成的自适应扩展点类如下:","filter","filter,而不是覆盖。比如:","final/html/introduction.html","find","foo1\",剔除添加缺省扩展点","foo1。比如:filter=\"","ga版本有bug会火速fix","ga版本,所以用户需要积极跟进升级到ga版本,以fix发现的问题。","ga经过一个试用阶段保持稳定。","get(object","getcache(url","getchannel()","getchannel(inetsocketaddress","getchannels()","getexecutor()","getextension(class","getinvoker(t","getlogger(url","getmonitor(url","getname()","getproxy(invok","getregistry(dubbo://registri","getregistry(url","getroute(file://path/file.js?router=script)","getroute(script://path/file.js?type=js&rule=encode(function{...}))","getroute(script://registri","getvalidator(url","git","group","handler)","handler);","host","https://github.com/alibaba/dubbo","https://github.com/alibaba/dubbo/tag","ic","id","idea:","idea:idea","if(是否有url类型方法参数?)","if(是否有方法类型上有url属性)","if(获取的url","illegalargumentexception(\"url","illegalstateexception(\"fail","impel","impl","impl.refer();","impl;","implemenet","implement","import","inf","inf/dubbo/com.alibaba.dubbo.cache.cachefactori","inf/dubbo/com.alibaba.dubbo.common.compiler.compil","inf/dubbo/com.alibaba.dubbo.common.extension.extensionfactori","inf/dubbo/com.alibaba.dubbo.common.logger.loggeradapt","inf/dubbo/com.alibaba.dubbo.common.serialize.seri","inf/dubbo/com.alibaba.dubbo.common.status.statuscheck","inf/dubbo/com.alibaba.dubbo.common.threadpool.threadpool","inf/dubbo/com.alibaba.dubbo.container.contain","inf/dubbo/com.alibaba.dubbo.container.page.pagehandl","inf/dubbo/com.alibaba.dubbo.monitor.monitorfactori","inf/dubbo/com.alibaba.dubbo.registry.registryfactori","inf/dubbo/com.alibaba.dubbo.remoting.dispatch","inf/dubbo/com.alibaba.dubbo.remoting.exchange.exchang","inf/dubbo/com.alibaba.dubbo.remoting.p2p.network","inf/dubbo/com.alibaba.dubbo.remoting.telnet.telnethandl","inf/dubbo/com.alibaba.dubbo.remoting.transport","inf/dubbo/com.alibaba.dubbo.rpc.cluster.clust","inf/dubbo/com.alibaba.dubbo.rpc.cluster.loadbal","inf/dubbo/com.alibaba.dubbo.rpc.cluster.merg","inf/dubbo/com.alibaba.dubbo.rpc.cluster.routerfactori","inf/dubbo/com.alibaba.dubbo.rpc.exporterlisten","inf/dubbo/com.alibaba.dubbo.rpc.filt","inf/dubbo/com.alibaba.dubbo.rpc.invokerlisten","inf/dubbo/com.alibaba.dubbo.rpc.protocol","inf/dubbo/com.alibaba.dubbo.rpc.protocol,内容为:","inf/dubbo/com.alibaba.dubbo.rpc.proxyfactori","inf/dubbo/com.alibaba.dubbo.validation.valid","inf/dubbo/接口全限定名,内容为:配置名=扩展实现类全限定名,多个实现类用换行符分隔。","info(str","input)","inputstream","instal","intellij","interfac","interface)扩展点发现机制加强而来。","introduct","invoc","invocation)","invocation,","invocation是会话域,它持有调用过程中的变量,比如方法名,参数等。","invok","invoke()","invoke(invok","invoker)","invoker,","invoker.invoke(invocation);","invokerlisten","invokerlistener,","invokers,","invoker是实体域,它是dubbo的核心模型,其它模型都向它靠扰,或转换成它,它代表一个可执行体,可向它发起invoke调用,它有可能是一个本地的实现,也可能是一个远程的实现,也可能一个集群实现。","ioexcept","jar","java","java.util.concurrent.executor;","javadoc","jcr/jsr283","jdk标准的spi会一次性实例化扩展点所有实现,如果有扩展实现初始化很耗时,但如果没用上也加载,会很浪费资源。","jetti","jira","jms&activemq","jmx","jndi","jrobin","json","jsr140&slp","jsr181&cxf(webservice)","jsr311&jsr339(restfulwebservice)","jta/xa分布式事务","jvm","key)","key,","key1没有value,则使用key2的value作为要adapt成的extension名。","key2没有value,使用缺省的扩展。","key即","kit),用户增加一种扩展实现,只需通过tck,即可确保与框架的其它部分兼容运行,可以有效提高整体健状性,也方便第三方扩展者接入,加速开源社区的成熟。","languag","lazy连接","ldap","list","list>","listen","listener)","listener);","loadbal","loadbalance)","log4j","logger","loggeradapt","logstash","lookup(url","m2_repo","main","makecar()","makecar();","makecar(url","makewheel","makewheel();","makewheel(url","master","maven","maven_opt","maven_opts=","maven项目结构","merge(directori","merge(t...","merger","message)","meta","method!\");","monitor","monitor,","monitorfactori","monitorfactory,","monitorservic","monitor代表层或模块,蓝色的表示与业务有交互,绿色的表示只对dubbo内部交互。","monitor代表部署逻辑拓普节点。","monitor划分逻辑拓普节点,保持统一概念。","msg)","mvn","nagio","name)","name);","network","new","notify(dubbo://provid","notify(list","notify(route://registri","notifylisten","notifylistener.java","null\");","null)","object","objectinput","objectinput,","objectoutput","objectoutput,","object,所以将实例方法存储在staticmap中,此处实现需要进行改造,http://code.alibabatech.com/jira/browse/dubbo","output)","outputstream","overrides,允许只通知其中一种类型,但该类型的数据必须是全量的,不是增量的。","owner向partner讲述一遍实现。","packag","pagehandl","parameters,","partner","partner以用户的方式运行一下功能","partner发现问题、添加测试(集成测试)复现总是;owner完成实现。(保证两方的时间投入patternercheck","path","plugin模式,microkernel只负责组装plugin,dubbo自身的功能也是通过扩展点实现的,也就是dubbo的所有功能点都可被用户自定义扩展所替换。","prefer","program","protect","protobuf","protocol","protocol)","protocol,","protocol;","protocol层和proxy层都放在rpc模块中,这两层是rpc的核心,在不需要集群时(只有一个提供者),可以只使用这两层完成rpc调用。","protocol是服务域,它是invoker暴露和引用的主功能入口,它负责invoker的生命周期管理。","provid","provider,","proxi","proxy,","proxyfactori","proxy层封装了所有接口的透明化代理,而在其它层都以invoker为中心,只有到了暴露给用户使用时,才用proxy将invoker转成接口,或将接口实现转成invoker,也就是去掉proxy层rpc是可以run的,只是不那么透明,不那么看起来像调本地服务一样调远程服务。","public","put(object","racecar","racecar(wheel,","racecarmak","read(file))","refer()","refer()返回的invoker由协议实现,协议通常需要在此invoker中发送远程请求。","refer(class","refer(dubbo://provid","refer(registry://registri","referenceconfig","referred(invok","register(dubbo://provid","register(url","registri","registry,","registryfactori","registryfactory,","registryfactory.java","registryservic","registryservice.java","registry和monitor实际上不算一层,而是一个独立的节点,只是为了全局概览,用层的方式画在一起。","remot","remoteaddress)","remotingexcept","remotingexception;","remotingexception{","request,","request反馈修改。","resourc","respons","response信息交换语义。","response语义。","result","result;","results)","return","router,","routerfactori","routes,","rpc","rpcexcept","rpcexception;","rpcexception不能有子类型,所有类型信息用errorcode标识,以便保持兼容。","rpcexception是dubbo对外的唯一异常类型,所有内部异常,如果要抛出给用户,必须转为rpcexception。","rpc协议扩展,封装远程调用细节。","run(url","select(list>","serial","serialize(paramet","serialize层放在common模块中,以便更大程度复用。","server","server,","servic","service,","serviceconfig,","serviceproxi","settings\\.m2\\repositori","setwheelmaker(wheelmak","simpledeploy","simpleschedul","snmp","source:jar","spi使用范围扩展接口仅用于系统集成,或contributor扩展功能插件。","spi参考手册","spring","src","start()","statistics)","statu","statuscheck","sticki","sticky策略默认开启了连接的lazy选项,用于避免开启无用的连接.","stop()","string","subscribe(dubbo://registri","subscribe(url","subvers","suffix(file)).addparameter(\"rule\",","summary=\"...\",","super(invoker);","super(type,","super(url,","super.unexport();","svn","t","tck","tck,做一个dubbo的tck基础框架,在此之上实现dubbo的扩展点tck用例。","tcp","telnet","telnet(channel","telnethandl","telnethandler,","telnet命令扩展","test","this.wheelmak","threadpool","thrift","throw","throwabl","ticket","ticket关联cod","timeout","todo","token","tool","transport","transporter,","transport层和exchange层都放在remoting模块中,为rpc调用的通讯基础。","type","type,","type1","type2","uddi","unexport()","unexported(export","unix","unregister(url","unsubscribe(url","unsupportedoperationexception(\"i","url","url)","url);","url,","url.addparameters(url.getparameteranddecoded(\"refer\"))","url.get(\"wheel.type\")","url.getparameteranddecoded(\"export\"))","url.setprotocol(url.getparameter(\"registry\",","url.setprotocol(url.getparameter(\"router\",","urls);","url参数全部用小写,多个单词用\".\"号分隔(dubbo约定)。","url转换","url采用标准格式:protocol://username:password@host:port/path?key=value&key=valu","valid","validate(invoc","valu","value)","value)传递配置信息。","version","void","wheel","wheel.type,","wheelmak","wheelmaker)","wheelmaker.makewheel();","wheelmaker.makewheel(url);","wheelmaker;","window","workspac","wrapper不是扩展点实现,用于从","wrapper类内容:","write","xml","xmx1024m","xsocket","xx:maxpermsize=512m","xxx","xxx,yyy,aaa,bbb","xxx=com.alibaba.xxx.xxxprotocol","xxx=com.xxx.xxxcachefactori","xxx=com.xxx.xxxclust","xxx=com.xxx.xxxcompil","xxx=com.xxx.xxxcontain","xxx=com.xxx.xxxdispatch","xxx=com.xxx.xxxexchang","xxx=com.xxx.xxxexporterlisten","xxx=com.xxx.xxxextensionfactori","xxx=com.xxx.xxxfilt","xxx=com.xxx.xxxinvokerlisten","xxx=com.xxx.xxxloadbal","xxx=com.xxx.xxxloggeradapt","xxx=com.xxx.xxxmerg","xxx=com.xxx.xxxmonitorfactori","xxx=com.xxx.xxxnetwork","xxx=com.xxx.xxxpagehandl","xxx=com.xxx.xxxprotocol","xxx=com.xxx.xxxproxyfactori","xxx=com.xxx.xxxregistryfactori","xxx=com.xxx.xxxrouterfactori","xxx=com.xxx.xxxseri","xxx=com.xxx.xxxstatuscheck","xxx=com.xxx.xxxtelnethandl","xxx=com.xxx.xxxthreadpool","xxx=com.xxx.xxxtransport","xxx=com.xxx.xxxvalid","xxxcach","xxxcache(url,","xxxcachefactori","xxxcachefactory.java","xxxclient","xxxclient(url,","xxxclient.java","xxxcluster","xxxcluster.java","xxxcompil","xxxcompiler.java","xxxcontain","xxxcontainer.java","xxxdispatch","xxxdispatcher.java","xxxexchang","xxxexchangecli","xxxexchangeclient(url,","xxxexchangeclient.java","xxxexchanger.java","xxxexchangeserv","xxxexchangeserver(url,","xxxexchangeserver.java","xxxexport","xxxexporter(invok","xxxexporter(invoker);","xxxexporter.java","xxxexporterlisten","xxxexporterlistener.java","xxxextensionfactori","xxxextensionfactory.java","xxxfilter","xxxfilter.java","xxxinvok","xxxinvoker(class","xxxinvoker(type,","xxxinvoker.java","xxxinvokerlisten","xxxinvokerlistener.java","xxxloadbal","xxxloadbalance.java","xxxlogger","xxxlogger(url","xxxlogger.java","xxxloggeradapt","xxxloggeradapter.java","xxxmerger","xxxmerger.java","xxxmonitor","xxxmonitor(url);","xxxmonitor.java","xxxmonitorfactori","xxxmonitorfactory.java","xxxmonitorfactoryjava","xxxnetwork","xxxnetworker.java","xxxobjectinput(input);","xxxobjectinput.java","xxxobjectoutput(output);","xxxobjectoutput.java","xxxpagehandl","xxxpagehandler.java","xxxprotocol","xxxprotocol(protocol","xxxprotocol.java","xxxprotocolwrapp","xxxproxyfactori","xxxproxyfactory.java","xxxregistri","xxxregistry(url);","xxxregistry.java","xxxregistryfactori","xxxregistryfactory.java","xxxregistryfactoryjava","xxxrouterfactori","xxxrouterfactory.java","xxxserial","xxxserialization.java","xxxserver","xxxserver(url","xxxserver(url,","xxxserver.java","xxxstatuscheck","xxxstatuschecker.java","xxxtelnethandl","xxxtelnethandler.java","xxxthreadpool","xxxthreadpool.java","xxxtransport","xxxtransporter.java","xxxvalid","xxxvalidation.java","xxxvalidator(url","xxxvalidator.java","{","{\"key1\",","{\"yyy.invoker.wrapper\"}","|","}","};","《开发指南》翻译","《开发者指南》","《用户指南》翻译","一些操作","一些设计上的基本常识","上浏览源代码。","下的路径是","下面是dubbo的transporter扩展点的代码:","不会版本过多,导致开发和维护成本剧增","中。","中发送远程请求,export()","中导入","中说明。","中返回的实际上是wrapper类的实例,wrapper持有了实际的扩展点实现类。","中途变更时,允许不同类型的数据分开通知,比如:providers,","中配置","为中心,可以直接new配置类,也可以通过spring解析配置生成配置类","为中心,扩展接口为","为中心,由外层将","为了在传输时能够对回调接口实例进行转换,自动暴露与自动引用目前在dubbocodec中实现.此处需要考虑将此逻辑与codec逻辑分离.","主要原理:在一个consum","主要原理:consumer在invoke方法时,判断如果有配置onreturn/onerror...则将onreturn对应的参数值(实例方法)加入到异步调用的回调列表中.","之前,yyi","之后。","也可以通过以下的","也是扩展点则会注入","事件通知","从2.5.x拉成分支2.6.0,作为新功能开发版本。","从多个服务提者方中选择一个进行调用","从多个服务提者方中选择一个进行调用。","从文件加载路由规则","从文件加载路由规则:","从注册中心订阅服务:","仓库","仓库。通过","代码注释写清楚,用中文无妨","代码签出","代码编译器,用于动态生成字节码,加速调用。","以","以上内容都写到ticket的评论上","以上的版本","任务","优先级","优势","会执行扩展点的拼装操作。","会把加载扩展点时(通过扩展点配置文件中内容),如果该实现有拷贝构造函数,则判定为扩展点wrapper类。wrapper类同样实现了扩展点接口。","传入的","传输扩展","但是添加新功能会影响稳定性,dubbo使用如下的版本开发模式来保障两者。","低","作为主干版本的开发,使用分支作为维护版本。可以通过","作为构建工具。","使用","使用以下命令做一次构建","使用以下命令来生成","使用的dubbo版本","使用该url参数","使用该url属性","依赖关系","保持ga版本是稳定的!因为:","保持单元测试用例的运行速度,不要将性能和大的集成用例放在单元测试中。","保持单元测试的每个用例都用try...finally或teardown释放资源。","信息交换层,封装请求响应模式,同步转异步,以","信息交换扩展","修复代码前先写测试用例","修复代码前先建ticket","修复时checklist","修改后通过push","允许uri相同但参数不同的url并存,不能覆盖。","允许以interface,group,version,classifier作为条件查询,如:interface=com.alibaba.foo.barservice&version=1.0.0","先在url上找key1的value作为要adapt成的extension名;","公共契约","公共逻辑模块,包括util类和通用模型。","共享连接","关系说明","其中,refer()","减少while循环等待结果的测试用例,对定时器和网络的测试,用以将定时器中的逻辑抽为方法测试。","分支","分类","功能","功能单元测试","加载","加载扩展点时,扩展点实现类的成员如果为其它扩展点类型,extensionload","加载扩展点时,自动注入依赖的扩展点","动态代理扩展","包","包,方便用来调试","协议不一定要是","协议不关心业务接口的透明代理,以","协议在接收请求时,应记录请求来源方地址信息:rpccontext.getcontext().setremoteaddress();","协议扩展","单元和集成测试:","单元测试统一用junit和easymock,集成测试用testng,数据库测试用dbunit。","参数回调","参数验证扩展点。","参见:http://docs.jboss.org/cdi/tck/reference/1.0.1","发布前checklist","取消注册服务.","取消注册需处理契约:","取消订阅服务.","取消订阅需处理契约:","变更事件监听器,不允许为空","变量指向本地的","只会作bugfix","只对提供方激活,group可选\"provider\"或\"consumer\"","可以直接在","可以通过以下的构建命令来跳过单元测试","各层说明","合并结果扩展","合并返回结果,用于分组聚合。","同时配置的","向注册中心暴露服务:","命令和","命令配置:","和","图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系,每一层都可以剥离上层被复用,其中,service和config层为api,其它各层均为spi。","图中只包含rpc的层,不包含remoting的层,remoting整体都隐含在protocol中。","图中小方块protocol,","图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口。","图中的consumer和provider是抽象概念,只是想让看图者更直观的了解哪些类分属于客户端与服务器端,不用client和server的原因是dubbo在很多场景下都使用provider,","图中绿色小块的为扩展接口,蓝色小块为实现类,图中只显示用于关联各层的实现类。","图中背景方块consumer,","图中蓝色虚线为初始化时调用,红色虚线为运行时异步调用,红色实线为运行时同步调用。","图中蓝色虚线为初始化过程,即启动时组装链,红色实线为方法调用过程,即运行时调时链,紫色三角箭头为继承,可以把子类看作父类的同一个节点,线上的文字为调用的方法。","图例说明","在","在2.5.x够稳定后:","在dubbo的","在dubbo的核心领域模型中:","在dubbo给定所有的扩展点上调用都有url参数(整个扩展点网的上下文信息)。自适应扩展即是从url确定要调用哪个扩展点实现。url哪个key的value用来确定使用哪个扩展点,这个信息通过的@adaptive注解在方法上说明。","在rpc中,protocol是核心层,也就是只要有protocol","在会自动注入依赖的扩展点。extensionload","在协议的实现jar包内放置文本文件:meta","在扩展点实现调用该方法,并返回结果。","在扩展类的jar包内,放置扩展点配置文件:meta","在根据invocation信息获取exporter时,需要判断是否是回调,如果是回调,会从attachments中取得回调服务实例的id,在获取exporter,此处用于consumer端可以对同一个callback接口做不同的实现。","在缺省","均会生效。如果要覆盖,需配置:","坏味道","基于传输层之上,实现request","基于复用度分包,总是一起使用的放在同一包下,将接口和基类分成独立模块,大的实现也使用独立模块。","基本原则","基类也是spi的一部分,每个扩展点都应该有方便使用的基类支持。","增加了对扩展点ioc和aop的支持,一个扩展点可以直接setter注入其它扩展点。","契约文档化","契约:","如url没有value,则使用缺省扩展点实现。如没有扩展点,","如果url这些key都没有value,使用","如果一种类型的数据为空,需通知一个empty协议并带category参数的标识性url数据。","如果不可恢复或需要报警,打印error日志。","如果不设置则缺省使用extension接口类名的点分隔小写字串。即对于extension接口com.alibaba.dubbo.xxx.yyyinvokerwrapper的缺省值为string[]","如果可恢复异常,或瞬时的状态不一致,打印warn日志。","如果大家有兴趣,也可以一起研究,和行知一块讨论。","如果所有的服务提供者都不可用,重新遍历整个列表(优先从没有选过的列表中选择),判断是否有可用的服务提供者(选择过程中,不可用的服务提供者可能会恢复到可用状态),如果有,则进行后续调用","如果扩展点加载失败,连扩展点的名称都拿不到了。比如:jdk标准的scriptengine,通过","如果是dynamic=false的持久存储数据,找不到注册数据,则抛illegalstateexception,否则忽略。","如果是扩展功能,直接新增工程,黑盒依赖dubbo进行扩展。","如果是改bug,或修改框架本身,可以从dubb的github上fork工程。","如果没有订阅,直接忽略。","如果没有设定缺省扩展,则方法调用会抛出illegalstateexception。","如果第一步选择的服务提供者不可用,则从剩余服务提供者列表中继续选择,如果可用,进行后续调用","如果第三步没有选择出可用的服务提供者,会选第一步选出的invoker中的下一个(如果不是最后一个),避免碰撞.","存在多个服务提供者的情况下,首先根据loadbalance进行选择,如果选择的provider处于可用状态,则进行后续调用","定义","定期升级版本用户带来了不安。这是一个假命题,说明如下:","实例可以提取约定key来决定使用哪个","实例的逻辑是固定,指定提取的url的key,即可以代理真正的实现类上,可以动态生成。","实例,直到扩展点方法执行时才决定调用是一个扩展点实现。","实现。adapt","实现是在加载扩展点里动态生成。指定提取的url的key通过","实现来调用对应实现的真正的","实现类内容:","实现细节:","实现细节:参数的传递采用url,但url中没有支持str","实现细节:对于同一个地址由于使用了共享连接,那invoker的destroy就需要特别注意,一方面要满足对同一个地址refer的invoker全部destroy后,连接需要关闭,另一方面还需要注意如何避免部分invok","容器扩展","容器模块,是一个standlone的容器,以简单的main加载spring启动,因为服务通常不需要tomcat/jboss等web容器的特性,没必要用web容器去加载服务。","容错,路由等,集群的地址列表可以是静态配置的,也可以是由注册中心下发。","对于bind方法表示,adaptive实现先查找\"server\"key,如果该key没有值则找\"transport\"key值,来决定代理到哪个实际扩展点。","对于容错行为的测试,比如failsafe的测试,统一用logutil断言日志输出。","对于集合类扩展点,比如:filter,","对产品都很重要。","对多种相似类型的抽象,用基类实现,比如rmi,hessian等第三方协议都已生成了接口代理,只需将将接口代理转成invoker即可完成桥接,它们可以用公共基类实现此逻辑。","对等网络节点组网器。","对象的","将","将对象转成字节流,用于网络传输,以及将字节流转为对象,用于在收到字节流数据后还原成对象。","尽可能携带完整的上下文信息,比如出错原因,出错的机器地址,调用对方的地址,连的注册中心地址,使用dubbo的版本等。","尽可能用url传参,不要自定义map或其它上下文格式,配置信息也转成url格式使用。","尽量保持子包依赖父包,而不要反向。","尽量减少url嵌套,保持url的简洁性。","尽量将直接原因写在最前面,所有上下文信息,在原因后用键值对显示。","尽量采用aop实现扩展点的通用行为,而不要用基类,比如负载均衡之前的isavailable检查,它是独立于负载均衡之外的,不需要检查的是url参数关闭。","尽量采用ioc注入扩展点之间的依赖,不要直接依赖extensionloader的工厂方法。","展开总设计图右边服务消费方引用服务的蓝色初始化链,时序图如下:","展开总设计图左边服务提供方暴露服务的蓝色初始化链,时序图如下:","展开总设计图的红色调用链,如下:","已注册信息列表,可能为空,含义同{@link","已注册信息列表,总不为空,含义同{@link","已知扩展","已知扩展:","已认领","并且查询条件允许星号通配,订阅所有接口的所有分组的所有版本,或:interface=*&group=*&version=*&classifier=*","序列化扩展","建议应用方在监控中心配置error日志实时报警,warn日志每周汇总发送通知。","开发完成","开源社区的行知同学已着手研究这一块,他的初步想法是借鉴jboss的cdi","异常和日志:","引用服务时序","引用监听扩展","引用远程服务:","当url中有设置check=false时,连接失败不能抛出异常,需内部自动恢复。","当url设置了category=overrides时,表示分类存储,缺省类别为providers,可按分类部分通知数据。","当url设置了category=overrides,只通知指定分类的数据,多个分类用逗号分隔,并允许星号通配,表示订阅所有分类数据。","当url设置了check=false时,注册失败后不报错,在后台定时重试,否则抛出异常。","当url设置了check=false时,订阅失败后不报错,在后台定时重试。","当url设置了dynamic=false参数,则需持久存储,否则,当注册者出现断电等情况异常退出时,需自动删除。","当上面执行","当客户端与服务端创建代理时,暂不建立tcp长连接,当有数据请求时在做连接初始化","当收到服务变更通知时触发。","当暴露服务出错时抛出,比如端口已占用","当有多个服务提供方时,将多个服务提供方组织成一个集群,并伪装成一个提供方。","当有服务引用时,触发该事件。","当有服务暴露时,触发该事件。","当注册中心重启,网络抖动,不能丢失数据,包括断线自动删除数据。","当注册中心重启,网络抖动,需自动恢复订阅请求。","当用户调用","当用户调用refer()所返回的invoker对象的invoke()方法时,协议需相应执行同url远端export()传入的invoker对象的invoke()方法。","当设置check=false时表示不检查连接,否则在连接不上时抛出异常。","当连接服务提供方失败时抛出","当配置了xxx参数,并且参数为有效值时激活,比如配了cache=\"lru\",自动激活cachefilter。","待定","必须阻塞订阅过程,等第一次通知完后再返回。","性能基准测试","总是以服务接口和数据类型为维度全量通知,即不会通知一个服务的同类型的部分数据,用户不需要对比上一次通知结果。","成为ga版本前有试用阶段","我们使用","或者以上的版本","或:","所以,我们需要对核心扩展点写","所有扩展点参数都包含url参数,url作为上下文信息贯穿整个扩展点设计体系。","所有接口都放在模块的根包下,基类放在support子包下,不同实现用放在以扩展点名字命名的子包下。","所有服务器均支持","所返回的","打印error日志表示需要报警,打印warn日志表示可以自动恢复,打印info表示正常信息或完全不影响运行。","扩展dubbo的协议示例:","扩展契约","扩展接口","扩展接口:","扩展点之间的组合将关系由aop完成,extensionloader只负载加载扩展点,包括aop扩展。","扩展点使用单一实例加载(请确保扩展实现的线程安全性),cache在","扩展点兼容性测试","扩展点加载","扩展点加载扩展","扩展点基类与aop:","扩展点方法调用会有url参数(或是参数有url成员)","扩展点本身的加载容器,可从不同容器加载扩展点。","扩展点的adaptive实例","扩展点的wrapper类可以有多个,也可以根据需要新增。","扩展点的加载","扩展点自动包装","扩展点自动激活","扩展点自动装配","扩展点自适应","扩展点配置","扩展点重构","扩展示例","扩展示例:","扩展说明","扩展说明:","扩展配置","扩展配置:","技术兼容性测试","抛出异常的地方不用打印日志,由最终处理异常者决定打印日志的级别,吃掉异常必需打印日志。","拦截扩展","按全url匹配取消注册。","按全url匹配取消订阅。","接口方法做一个操作后,再调用extension的方法","接口类如下:","接口转换成业务接口。","支持","支持backup=10.20.153.10备选注册中心集群地址。","支持file=registry.cache本地磁盘文件缓存。","支持session=60000会话超时或过期设置。","支持timeout=1000请求超时设置。","支持url上的username:password权限认证。","数据序列化层,可复用的一些工具,扩展接口为serialization,","整体上按照分层结构进行分包,与分层的不同点在于:","整体设计","文档","新功能可以高版本中快速响应,并让应用能试用新功能。","新功能版本:高版本,比如2.5.x。加新功能的版本,会给对新功能有需求的应用试用。","新功能的开发","方法。","方法。如提取","方法时,协议需相应执行同","方法的","无条件自动激活","日志","日志输出适配扩展点。","日志适配扩展","时,setwheelmak","时,注入的","时,累加所有","暴露服务时序","暴露服务的引用,用于取消暴露","暴露监听扩展","暴露远程服务:","更多设计原则参见:框架设计原则","有多个服务提供者的情况下,配置了sticky后,在提供者可用的情况下,调用会继续发送到上一次的服务提供者.","服务代理层,服务接口透明代理,生成服务的客户端stub和服务器端skeleton,","服务分组","服务安装包仓库","服务容器扩展,用于自定义加载内容。","服务提供方和服务消费方调用过程拦截,dubbo","服务提供方线程程实现策略,当服务器收到一个请求时,需要在线程池中创建一个线程去执行服务提供方业务逻辑。","服务提供者选择逻辑","服务版本","服务的执行体","服务的本地代理","服务的类型","服务路径","未认领","本地部署代理","本身的大多功能均基于此扩展点实现,每次远程方法执行,该拦截都会被执行,请注意对性能的影响。","朱启恒","来决定","来查看所有版本的标签","来源:","构建","构建之前需要配置以下的","构建源代码","查询条件,不允许为空,如:consumer://10.20.153.10/com.alibaba.foo.barservice?version=1.0.0&application=kylin","查询注册列表,与订阅的推模式相对应,这里为拉模式,只返回一次结果。","根据@adaptive注解上声明的key的顺序,从url获致value,作为实际扩展点名。","框架设计","检查列表","检查服务依赖各种资源的状态,此状态检查可同时用于","模块与分包:","模块分包","模块说明","正常运行时的中间状态提示,打印info日志。","此项功能自动关闭连接重试功能,开启发送重试功能(即发送数据时如果连接已断开,尝试重新建立连接)","每个版本要有owner,确保scope和check","没有配置cache属性时,使用此配置","没有配置cluster时,使用此配置","没有配置dispatcher属性时,使用此配置","没有配置exchanger属性时,使用此配置","没有配置loadbalance时,使用此配置","没有配置networker属性时,使用此配置","没有配置page属性时,使用此配置","没有配置prototol属性时,使用此配置","没有配置proxy属性时,使用此配置","没有配置registry属性时,使用此配置","没有配置serialization时,使用此配置","没有配置status属性时,使用此配置","没有配置telnet属性时,使用此配置","没有配置threadpool时,使用此配置","没有配置transporter/server/client属性时,使用此配置","没有配置validation属性时,使用此配置","注入的依赖扩展点是一个","注册中心地址,不允许为空","注册中心层,封装服务地址的注册与发现,以服务url为中心,扩展接口为","注册中心引用,总不返回空","注册中心扩展","注册中心推送路由规则","注册中心模块,基于注册中心下发地址的集群方式,以及对各种注册中心的抽象。","注册中心路由规则推送:","注册信息,不允许为空,如:dubbo://10.20.153.10/com.alibaba.foo.barservice?version=1.0.0&application=kylin","注册服务.","注册服务地址:","注册需处理契约:","注意:","注意:这里的配置文件是放在你自己的jar包内,不是dubbo本身的jar包内,dubbo会全classpath扫描所有jar包内同名的这个文件,然后进行合并","注解在接口方法上提供。","流程","测试","消息派发扩展","源代码","源码构建","点对点暴露和引用服务","点对点直连服务:","版本管理","特殊值","特殊符号","状态","状态检查扩展","用","用户自定义","用户要配合的职责","用法","用请求参数作为key,缓存返回结果。","由于开发只会bugfix","由于自适应扩展点的上面的约定,extensionloader会为扩展点自动生成自适应扩展点类(通过字节码),并将其实例注入。","由协议实现,协议通常需要在此","由框架实现并传入,协议不需要关心。","白文志","的","的一个实现类:","的实现。","的实现中要注入哪个。","的工程","的扩展点实现","的扩展点类开对应的","的源代码","的源代码和","的给予时间保证)","监控中心扩展","监控层,rpc调用次数和调用时间监控,以statistics为中心,扩展接口为","监控模块,统计服务调用次数,调用时间的,调用链跟踪的服务。","直接暴露服务:","相对出问题才升级到ga版本(可以跨了多个版本)定期升级平摊风险(类似小步快跑)。经历过周期长的大项目的同学会有这样的经历,三方库版本长时间不升级,结果出了问题不得不升级到新版本(跨了多个版本)风险巨大。","示例:有两个为扩展点","稳定性的提高","等,可以同时加载多个实现,此时,可以用自动激活来简化配置,如:","策略","约定:","线程池扩展","组网扩展","缓存扩展","编码约定","编译器扩展","缺省的扩展(在接口的default中设定的值)。比如,string[]","网络传输层,抽象mina和netty为统一接口,以message为中心,扩展接口为","网络传输扩展","网络通讯,比如通过共享文件,ipc","罗立树","而cluster是外围概念,所以cluster的目的是将多个invoker伪装成一个invoker,这样其它人只要关注protocol层invoker即可,加上cluster或者去掉cluster对其它层都不会造成影响,因为只有一个提供者时,是不需要cluster的。","而remoting实现是dubbo协议的实现,如果你选择rmi协议,整个remoting都不会用上,remoting内部再划为transport传输层和exchange信息交换层,transport层只负责单向消息传输,是对mina,netty,grizzly的抽象,它也可以扩展udp传输,而exchange层是在传输层之上封装了request","自动wrap扩展点的wrapper类","自动加载","自适应扩展点","获取注册中心:","获取脚本类型的名称,但如果rubyscriptengine因为所依赖的jruby.jar不存在,导致rubyscriptengine类加载失败,这个失败原因被吃掉了,和ruby对应不起来,当用户执行ruby脚本时,会报不支持ruby,而不是真正失败的原因。","获取路由器:","要求","要注入依赖扩展点时,如何决定要注入依赖扩展点的哪个实现。在这个示例中,即是在多个wheelmak","计划完成时间","订阅时的第一次通知,必须是一个服务的所有类型数据的全量通知。","订阅服务.","订阅服务地址:","订阅条件,不允许为空,如:consumer://10.20.153.10/com.alibaba.foo.barservice?version=1.0.0&application=kylin","订阅需处理契约:","认领者","讲一遍逻辑","设计原则","设计实现的健壮性","访问,用于人工干预。","调用参数","调用拦截扩展","调用超时","调用链","调研","谈谈扩充式扩展与增量式扩展","负责服务的注册与发现。","负责服务调用次和调用时间的监控。","负载均衡扩展","资源调度器","路由层,封装多个提供者的路由及负载均衡,并桥接注册中心,以","路由扩展","转换为业务接口。","过一遍","返回扩展点时,wrap在扩展点实现外。即从","返回的","这个问题在下面一点","这样依赖的扩展点也可以从url拿到配置信息,所有的扩展点自己定好配置的key后,配置信息从url上从最外层传入。url在配置传递上即是一条总线。","这里带来另一个问题,extensionload","这里记录的是dubbo公共契约,希望所有扩展点遵守。","这里记录的是dubbo设计或实现不优雅的地方。","进度","进程间通讯等。","远程服务的url地址","远程调用层,封将rpc调用,以","远程调用模块,抽象各种协议,以及动态代理,只包含一对一的调用,不关心集群的管理。","远程通讯模块,相当于dubbo协议的实现,如果rpc用rmi协议则不需要使用此包。","远程通讯的服务器及客户端传输实现。","远端","连接注册中心.","连接注册中心需处理契约:","通知服务地址:","通知者(即注册中心实现)需保证通知的顺序,比如:单线程推送,队列串行化,带版本对比。","通知需处理契约:","通过wrapper类可以把所有扩展点公共逻辑移至wrapper中。新加的wrapper在所有的扩展点上添加了逻辑,有些类似aop(wraper代理了扩展点)。","通过以下命令以构建","通过以下的这个命令签出最新的项目源码:","通过扫描扩展点实现类的所有set方法来判定其成员。即","通过注册中心引用服务","通过注册中心暴露服务","通道信息派发器,用于指定线程池模型。","遵循以下的规范:","配置和url:","配置对象属性首字母小写,多个单词用驼峰命名(java约定)。","配置层,对外配置接口,以","配置属性全部用小写,多个单词用\"","配置模块,是dubbo对外的api,用户通过config使用dubbo,隐藏dubbo所有细节。","配置设计","采用microkernel","采用url作为配置信息的统一格式,所有扩展点都通过传递url携带配置信息。","闾刚","防痴呆设计","集群扩展","集群模块,将多个服务提供方伪装为一个提供方,包括:负载均衡,","需要伙伴检查","页面。","页面扩展","领域模型","首先,需要在","验证令牌","验证扩展","高","魔鬼在细节中","默认在内置",",则",",表示剔除。比如:filter=\""],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Introduction","keywords":"","body":"《开发者指南》\n"},"contribution.html":{"url":"contribution.html","title":"1 contribution","keywords":"","body":"流程\n\n如果是扩展功能,直接新增工程,黑盒依赖Dubbo进行扩展。\n如果是改BUG,或修改框架本身,可以从Dubb的GitHub上Fork工程。\n修改后通过Push Request反馈修改。\n\n任务\n\n\n\n功能\n分类\n优先级\n状态\n认领者\n计划完成时间\n进度\n\n\n\n\n《用户指南》翻译\n文档\n高\n未认领\n待定\n待定\n0%\n\n\n《开发指南》翻译\n文档\n高\n未认领\n待定\n待定\n0%\n\n\n扩展点兼容性测试\n测试\n高\n已认领\n罗立树\n待定\n0%\n\n\n性能基准测试\n测试\n高\n未认领\n待定\n待定\n0%\n\n\n功能单元测试\n测试\n高\n未认领\n待定\n待定\n0%\n\n\nJTA/XA分布式事务\n拦截扩展\n高\n未认领\n待定\n待定\n0%\n\n\nThrift\n协议扩展\n高\n开发完成\n闾刚\n2012-04-27\n90%\n\n\nICE\n协议扩展\n高\n未认领\n待定\n待定\n0%\n\n\nACE\n协议扩展\n低\n未认领\n待定\n待定\n0%\n\n\nJSON-RPC\n协议扩展\n低\n未认领\n待定\n待定\n0%\n\n\nXML-RPC\n协议扩展\n低\n未认领\n待定\n待定\n0%\n\n\nJSR181&CXF(WebService)\n协议扩展\n高\n开发完成\n白文志\n2012-04-27\n90%\n\n\nJSR311&JSR339(RestfulWebService)\n协议扩展\n高\n未认领\n待定\n待定\n0%\n\n\nJMS&ActiveMQ\n协议扩展\n高\n未认领\n待定\n待定\n0%\n\n\nProtobuf\n序列化扩展\n高\n调研\n朱启恒\n2012-02-30\n20%\n\n\nAvro\n序列化扩展\n低\n未认领\n待定\n待定\n0%\n\n\nXSocket\n传输扩展\n低\n未认领\n待定\n待定\n0%\n\n\nCGLib\n动态代理扩展\n低\n未认领\n待定\n待定\n0%\n\n\nJNDI\n注册中心扩展\n高\n未认领\n待定\n待定\n0%\n\n\nLDAP\n注册中心扩展\n低\n未认领\n待定\n待定\n0%\n\n\nJSR140&SLP\n注册中心扩展\n高\n未认领\n待定\n待定\n0%\n\n\nUDDI\n注册中心扩展\n高\n未认领\n待定\n待定\n0%\n\n\nJMX\n监控中心扩展\n高\n未认领\n待定\n待定\n0%\n\n\nSNMP\n监控中心扩展\n高\n未认领\n待定\n待定\n0%\n\n\nCacti\n监控中心扩展\n高\n未认领\n待定\n待定\n0%\n\n\nNagios\n监控中心扩展\n高\n未认领\n待定\n待定\n0%\n\n\nLogstash\n监控中心扩展\n高\n未认领\n待定\n待定\n0%\n\n\nJRobin\n监控中心扩展\n高\n未认领\n待定\n待定\n0%\n\n\nMaven\n服务安装包仓库\n低\n未认领\n待定\n待定\n0%\n\n\nSubversion\n服务安装包仓库\n低\n未认领\n待定\n待定\n0%\n\n\nJCR/JSR283\n服务安装包仓库\n低\n未认领\n待定\n待定\n0%\n\n\nSimpleDeployer\n本地部署代理\n低\n未认领\n待定\n待定\n0%\n\n\nSimpleScheduler\n资源调度器\n低\n未认领\n待定\n待定\n0%\n\n\n\n"},"版本管理.html":{"url":"版本管理.html","title":"2 版本管理","keywords":"","body":"新功能的开发 和 稳定性的提高 对产品都很重要。\n但是添加新功能会影响稳定性,Dubbo使用如下的版本开发模式来保障两者。\n2个版本并行开发\n\nBugFix版本:低版本,比如2.4.x。是GA版本,线上使用的版本,只会BugFix,升级第三位版本号。\n新功能版本:高版本,比如2.5.x。加新功能的版本,会给对新功能有需求的应用试用。\n\n2.5.x的新功能基本稳定后,进入2.5.x试用阶段。找足够多的应用试用2.5.x版本。\n在2.5.x够稳定后:\n\n2.5.x成为GA版本,只BugFix,推广使用此版本。如何可行,可以推进应用在期望的时间点内升级到GA版本。\n2.4.x不再开发,应用碰到Bug让直接升级。(这个称为“夕阳条款”)\n从2.5.x拉成分支2.6.0,作为新功能开发版本。\n\n优势\n\n保持GA版本是稳定的!因为:\n只会作BugFix\n成为GA版本前有试用阶段\n\n\n新功能可以高版本中快速响应,并让应用能试用新功能。\n不会版本过多,导致开发和维护成本剧增\n\n用户要配合的职责\n由于开发只会BugFix GA版本,所以用户需要积极跟进升级到GA版本,以Fix发现的问题。\n定期升级版本用户带来了不安。这是一个假命题,说明如下:\n\nGA经过一个试用阶段保持稳定。\nGA版本有Bug会火速Fix\n相对出问题才升级到GA版本(可以跨了多个版本)定期升级平摊风险(类似小步快跑)。经历过周期长的大项目的同学会有这样的经历,三方库版本长时间不升级,结果出了问题不得不升级到新版本(跨了多个版本)风险巨大。\n\n"},"源码构建.html":{"url":"源码构建.html","title":"3 源码构建","keywords":"","body":"可以直接在 https://github.com/alibaba/dubbo 上浏览源代码。\n代码签出\n通过以下的这个命令签出最新的项目源码:\ngit clone https://github.com/alibaba/dubbo dubbo\n\n分支\n我们使用 master 作为主干版本的开发,使用分支作为维护版本。可以通过 https://github.com/alibaba/dubbo/tags 来查看所有版本的标签\n构建\nDubbo 使用 maven 作为构建工具。\n要求\n\nJava 1.5 以上的版本\nMaven 2.2.1 或者以上的版本   \n\n构建之前需要配置以下的 MAVEN_OPTS\nexport MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=512m\n\n使用以下命令做一次构建\nmvn clean install\n\n可以通过以下的构建命令来跳过单元测试\nmvn install -Dmaven.test.skip\n\nIDE 支持\n使用以下命令来生成 IDE 的工程\neclipse:\nmvn eclipse:eclipse\nIntellij Idea:\nmvn idea:idea\n在 eclipse 中导入\n首先,需要在 eclipse 中配置 maven 仓库。通过 Preferences -> Java -> Build Path -> Classpath 定义 M2_REPO 的 classpath 变量指向本地的 maven 仓库 \n\nUNIX 下的路径是 ${HOME}/.m2/repository, Windows 下的路径是 C:\\Documents and Settings\\.m2\\repository\n\n也可以通过以下的 maven 命令配置:\nmvn eclipse:configure-workspace -Declipse.workspace=/path/to/the/workspace/\n\n构建源代码 jar 包\n通过以下命令以构建 Dubbo 的源代码 jar 包,方便用来调试 Dubbo 源代码\nmvn clean source:jar install -Dmaven.test.skip\n\n"},"框架设计.html":{"url":"框架设计.html","title":"4 框架设计","keywords":"","body":"整体设计\n\n图例说明\n\n图中左边淡蓝背景的为服务消费方使用的接口,右边淡绿色背景的为服务提供方使用的接口,位于中轴线上的为双方都用到的接口。\n图中从下至上分为十层,各层均为单向依赖,右边的黑色箭头代表层之间的依赖关系,每一层都可以剥离上层被复用,其中,Service和Config层为API,其它各层均为SPI。\n图中绿色小块的为扩展接口,蓝色小块为实现类,图中只显示用于关联各层的实现类。\n图中蓝色虚线为初始化过程,即启动时组装链,红色实线为方法调用过程,即运行时调时链,紫色三角箭头为继承,可以把子类看作父类的同一个节点,线上的文字为调用的方法。\n\n各层说明\n\nconfig 配置层,对外配置接口,以 ServiceConfig, ReferenceConfig 为中心,可以直接new配置类,也可以通过spring解析配置生成配置类\nproxy 服务代理层,服务接口透明代理,生成服务的客户端Stub和服务器端Skeleton, 以 ServiceProxy 为中心,扩展接口为 ProxyFactory\nregistry 注册中心层,封装服务地址的注册与发现,以服务URL为中心,扩展接口为 RegistryFactory, Registry, RegistryService\ncluster 路由层,封装多个提供者的路由及负载均衡,并桥接注册中心,以 Invoker 为中心,扩展接口为 Cluster, Directory, Router, LoadBalance\nmonitor 监控层,RPC调用次数和调用时间监控,以Statistics为中心,扩展接口为 MonitorFactory, Monitor, MonitorService\nprotocol 远程调用层,封将RPC调用,以 Invocation, Result 为中心,扩展接口为 Protocol, Invoker, Exporter\nexchange 信息交换层,封装请求响应模式,同步转异步,以 Request, Response 为中心,扩展接口为 Exchanger, ExchangeChannel, ExchangeClient, ExchangeServer\ntransport 网络传输层,抽象mina和netty为统一接口,以Message为中心,扩展接口为 Channel, Transporter, Client, Server, Codec\nserialize 数据序列化层,可复用的一些工具,扩展接口为Serialization, ObjectInput, ObjectOutput, ThreadPool\n\n关系说明\n\n在RPC中,Protocol是核心层,也就是只要有Protocol + Invoker + Exporter就可以完成非透明的RPC调用,然后在Invoker的主过程上Filter拦截点。\n图中的Consumer和Provider是抽象概念,只是想让看图者更直观的了解哪些类分属于客户端与服务器端,不用Client和Server的原因是Dubbo在很多场景下都使用Provider, Consumer, Registry, Monitor划分逻辑拓普节点,保持统一概念。\n而Cluster是外围概念,所以Cluster的目的是将多个Invoker伪装成一个Invoker,这样其它人只要关注Protocol层Invoker即可,加上Cluster或者去掉Cluster对其它层都不会造成影响,因为只有一个提供者时,是不需要Cluster的。\nProxy层封装了所有接口的透明化代理,而在其它层都以Invoker为中心,只有到了暴露给用户使用时,才用Proxy将Invoker转成接口,或将接口实现转成Invoker,也就是去掉Proxy层RPC是可以Run的,只是不那么透明,不那么看起来像调本地服务一样调远程服务。\n而Remoting实现是Dubbo协议的实现,如果你选择RMI协议,整个Remoting都不会用上,Remoting内部再划为Transport传输层和Exchange信息交换层,Transport层只负责单向消息传输,是对Mina,Netty,Grizzly的抽象,它也可以扩展UDP传输,而Exchange层是在传输层之上封装了Request-Response语义。\nRegistry和Monitor实际上不算一层,而是一个独立的节点,只是为了全局概览,用层的方式画在一起。\n\n模块分包\n\n模块说明\n\ndubbo-common 公共逻辑模块,包括Util类和通用模型。\ndubbo-remoting 远程通讯模块,相当于Dubbo协议的实现,如果RPC用RMI协议则不需要使用此包。\ndubbo-rpc 远程调用模块,抽象各种协议,以及动态代理,只包含一对一的调用,不关心集群的管理。\ndubbo-cluster 集群模块,将多个服务提供方伪装为一个提供方,包括:负载均衡, 容错,路由等,集群的地址列表可以是静态配置的,也可以是由注册中心下发。\ndubbo-registry 注册中心模块,基于注册中心下发地址的集群方式,以及对各种注册中心的抽象。\ndubbo-monitor 监控模块,统计服务调用次数,调用时间的,调用链跟踪的服务。\ndubbo-config 配置模块,是Dubbo对外的API,用户通过Config使用Dubbo,隐藏Dubbo所有细节。\ndubbo-container 容器模块,是一个Standlone的容器,以简单的Main加载Spring启动,因为服务通常不需要Tomcat/JBoss等Web容器的特性,没必要用Web容器去加载服务。\n\n整体上按照分层结构进行分包,与分层的不同点在于:\n\ncontainer为服务容器,用于部署运行服务,没有在层中画出。\nprotocol层和proxy层都放在rpc模块中,这两层是rpc的核心,在不需要集群时(只有一个提供者),可以只使用这两层完成rpc调用。\ntransport层和exchange层都放在remoting模块中,为rpc调用的通讯基础。\nserialize层放在common模块中,以便更大程度复用。\n\n依赖关系\n\n图例说明\n\n图中小方块Protocol, Cluster, Proxy, Service, Container, Registry, Monitor代表层或模块,蓝色的表示与业务有交互,绿色的表示只对Dubbo内部交互。\n图中背景方块Consumer, Provider, Registry, Monitor代表部署逻辑拓普节点。\n图中蓝色虚线为初始化时调用,红色虚线为运行时异步调用,红色实线为运行时同步调用。\n图中只包含RPC的层,不包含Remoting的层,Remoting整体都隐含在Protocol中。\n\n调用链\n展开总设计图的红色调用链,如下:\n\n暴露服务时序\n展开总设计图左边服务提供方暴露服务的蓝色初始化链,时序图如下:\n\n引用服务时序\n展开总设计图右边服务消费方引用服务的蓝色初始化链,时序图如下:\n\n领域模型\n在Dubbo的核心领域模型中:\n\nProtocol是服务域,它是Invoker暴露和引用的主功能入口,它负责Invoker的生命周期管理。\nInvoker是实体域,它是Dubbo的核心模型,其它模型都向它靠扰,或转换成它,它代表一个可执行体,可向它发起invoke调用,它有可能是一个本地的实现,也可能是一个远程的实现,也可能一个集群实现。\nInvocation是会话域,它持有调用过程中的变量,比如方法名,参数等。\n\n基本原则\n\n采用Microkernel + Plugin模式,Microkernel只负责组装Plugin,Dubbo自身的功能也是通过扩展点实现的,也就是Dubbo的所有功能点都可被用户自定义扩展所替换。\n采用URL作为配置信息的统一格式,所有扩展点都通过传递URL携带配置信息。\n\n更多设计原则参见:框架设计原则\n"},"扩展点加载.html":{"url":"扩展点加载.html","title":"5 扩展点加载","keywords":"","body":"扩展点配置\n来源:\nDubbo的扩展点加载从JDK标准的SPI(Service Provider Interface)扩展点发现机制加强而来。\nDubbo改进了JDK标准的SPI的以下问题:\n\nJDK标准的SPI会一次性实例化扩展点所有实现,如果有扩展实现初始化很耗时,但如果没用上也加载,会很浪费资源。\n如果扩展点加载失败,连扩展点的名称都拿不到了。比如:JDK标准的ScriptEngine,通过 getName() 获取脚本类型的名称,但如果RubyScriptEngine因为所依赖的jruby.jar不存在,导致RubyScriptEngine类加载失败,这个失败原因被吃掉了,和ruby对应不起来,当用户执行ruby脚本时,会报不支持ruby,而不是真正失败的原因。\n增加了对扩展点IoC和AOP的支持,一个扩展点可以直接setter注入其它扩展点。\n\n约定:\n在扩展类的jar包内,放置扩展点配置文件:META-INF/dubbo/接口全限定名,内容为:配置名=扩展实现类全限定名,多个实现类用换行符分隔。\n\n注意:这里的配置文件是放在你自己的jar包内,不是dubbo本身的jar包内,Dubbo会全ClassPath扫描所有jar包内同名的这个文件,然后进行合并\n\n扩展Dubbo的协议示例:\n在协议的实现jar包内放置文本文件:META-INF/dubbo/com.alibaba.dubbo.rpc.Protocol,内容为:\nxxx=com.alibaba.xxx.XxxProtocol\n实现类内容:\npackage com.alibaba.xxx;\n\nimport com.alibaba.dubbo.rpc.Protocol;\n\npublic class XxxProtocol implemenets Protocol {\n\n    // ...\n\n}\n\n\n注意: 扩展点使用单一实例加载(请确保扩展实现的线程安全性),Cache在 ExtensionLoader 中。\n\n扩展点自动包装\n自动Wrap扩展点的Wrapper类\nExtensionLoader 会把加载扩展点时(通过扩展点配置文件中内容),如果该实现有拷贝构造函数,则判定为扩展点Wrapper类。Wrapper类同样实现了扩展点接口。\nWrapper类内容:\npackage com.alibaba.xxx;\n\nimport com.alibaba.dubbo.rpc.Protocol;\n\npublic class XxxProtocolWrapper implemenets Protocol {\n    Protocol impl;\n\n    public XxxProtocol(Protocol protocol) { impl = protocol; }\n\n    // 接口方法做一个操作后,再调用extension的方法\n    public void refer() {\n        //... 一些操作\n        impl.refer();\n        // ... 一些操作\n    }\n\n    // ...\n}\n\nWrapper不是扩展点实现,用于从 ExtensionLoader 返回扩展点时,Wrap在扩展点实现外。即从 ExtensionLoader 中返回的实际上是Wrapper类的实例,Wrapper持有了实际的扩展点实现类。\n扩展点的Wrapper类可以有多个,也可以根据需要新增。\n通过Wrapper类可以把所有扩展点公共逻辑移至Wrapper中。新加的Wrapper在所有的扩展点上添加了逻辑,有些类似AOP(Wraper代理了扩展点)。\n扩展点自动装配\n加载扩展点时,自动注入依赖的扩展点\n加载扩展点时,扩展点实现类的成员如果为其它扩展点类型,ExtensionLoader 在会自动注入依赖的扩展点。ExtensionLoader 通过扫描扩展点实现类的所有set方法来判定其成员。即 ExtensionLoader 会执行扩展点的拼装操作。\n示例:有两个为扩展点 CarMaker(造车者)、WheelMaker (造轮者)\n接口类如下:\npublic interface CarMaker {\n    Car makeCar();\n}\n\npublic interface WheelMaker {\n    Wheel makeWheel();\n}\n\nCarMaker 的一个实现类:\npublic class RaceCarMaker implemenets CarMaker {\n    WheelMaker wheelMaker;\n\n    public setWheelMaker(WheelMaker wheelMaker) {\n        this.wheelMaker = wheelMaker;\n    }\n\n    public Car makeCar() {\n        // ...\n        Wheel wheel = wheelMaker.makeWheel();\n        // ...\n        return new RaceCar(wheel, ...);\n    }\n}\n\nExtensionLoader 加载 CarMaker 的扩展点实现 RaceCar 时,setWheelMaker 方法的 WheelMaker 也是扩展点则会注入 WheelMaker 的实现。\n这里带来另一个问题,ExtensionLoader 要注入依赖扩展点时,如何决定要注入依赖扩展点的哪个实现。在这个示例中,即是在多个WheelMaker 的实现中要注入哪个。\n这个问题在下面一点 Adaptive实例 中说明。\n扩展点自适应\n扩展点的Adaptive实例 \nExtensionLoader 注入的依赖扩展点是一个 Adaptive 实例,直到扩展点方法执行时才决定调用是一个扩展点实现。\nDubbo使用URL对象(包含了Key-Value)传递配置信息。\n扩展点方法调用会有URL参数(或是参数有URL成员)\n这样依赖的扩展点也可以从URL拿到配置信息,所有的扩展点自己定好配置的Key后,配置信息从URL上从最外层传入。URL在配置传递上即是一条总线。\n示例:有两个为扩展点 CarMaker(造车者)、WheelMaker (造轮者)\n接口类如下:\npublic interface CarMaker {\n    Car makeCar(URL url);\n}\n\npublic interface WheelMaker {\n    Wheel makeWheel(URL url);\n}\n\nCarMaker 的一个实现类:\npublic class RaceCarMaker implemenets CarMaker {\n    WheelMaker wheelMaker;\n\n    public setWheelMaker(WheelMaker wheelMaker) {\n        this.wheelMaker = wheelMaker;\n    }\n\n    public Car makeCar(URL url) {\n        // ...\n        Wheel wheel = wheelMaker.makeWheel(url);\n        // ...\n        return new RaceCar(wheel, ...);\n    }\n}\n\n当上面执行\n// ...\nWheel wheel = wheelMaker.makeWheel(url);\n// ...\n\n时,注入的 Adaptive 实例可以提取约定Key来决定使用哪个 WheelMaker 实现来调用对应实现的真正的 makeWheel 方法。如提取 wheel.type, key即 url.get(\"wheel.type\") 来决定 WheelMake 实现。Adaptive 实例的逻辑是固定,指定提取的URL的Key,即可以代理真正的实现类上,可以动态生成。\n在Dubbo的 ExtensionLoader 的扩展点类开对应的 Adaptive 实现是在加载扩展点里动态生成。指定提取的URL的Key通过 @Adaptive 注解在接口方法上提供。\n下面是Dubbo的Transporter扩展点的代码:\npublic interface Transporter {\n    @Adaptive({\"server\", \"transport\"})\n    Server bind(URL url, ChannelHandler handler) throws RemotingException;\n\n    @Adaptive({\"client\", \"transport\"})\n    Client connect(URL url, ChannelHandler handler) throws RemotingException;\n}\n\n对于bind方法表示,Adaptive实现先查找\"server\"key,如果该Key没有值则找\"transport\"key值,来决定代理到哪个实际扩展点。\nDubbo配置模块中扩展点的配置\nDubbo配置模块中,扩展点均有对应配置属性或标签,通过配置指定使用哪个扩展实现。比如:\n\n\n扩展点自动激活\n对于集合类扩展点,比如:Filter, InvokerListener, ExportListener, TelnetHandler, StatusChecker 等,可以同时加载多个实现,此时,可以用自动激活来简化配置,如:\nimport com.alibaba.dubbo.common.extension.Activate;\nimport com.alibaba.dubbo.rpc.Filter;\n\n@Activate // 无条件自动激活\npublic class XxxFilter implements Filter {\n    // ...\n}\n\n或:\nimport com.alibaba.dubbo.common.extension.Activate;\nimport com.alibaba.dubbo.rpc.Filter;\n\n@Activate(\"xxx\") // 当配置了xxx参数,并且参数为有效值时激活,比如配了cache=\"lru\",自动激活CacheFilter。\npublic class XxxFilter implements Filter {\n    // ...\n}\n\n或:\nimport com.alibaba.dubbo.common.extension.Activate;\nimport com.alibaba.dubbo.rpc.Filter;\n\n@Activate(group = \"provider\", value = \"xxx\") // 只对提供方激活,group可选\"provider\"或\"consumer\"\npublic class XxxFilter implements Filter {\n    // ...\n}\n\n"},"SPI参考手册/introduction.html":{"url":"SPI参考手册/introduction.html","title":"6 SPI参考手册","keywords":"","body":"\nSPI使用范围扩展接口仅用于系统集成,或Contributor扩展功能插件。\n\n"},"SPI参考手册/协议扩展.html":{"url":"SPI参考手册/协议扩展.html","title":"6.1 协议扩展","keywords":"","body":"1. 扩展说明:\nRPC协议扩展,封装远程调用细节。\n契约:\n\n当用户调用 refer() 所返回的 Invoker 对象的 invoke() 方法时,协议需相应执行同 URL 远端 export() 传入的 Invoker 对象的 invoke() 方法。\n其中,refer() 返回的 Invoker 由协议实现,协议通常需要在此 Invoker 中发送远程请求,export() 传入的 Invoker 由框架实现并传入,协议不需要关心。\n\n注意:\n\n协议不关心业务接口的透明代理,以 Invoker 为中心,由外层将 Invoker 转换为业务接口。\n协议不一定要是 TCP 网络通讯,比如通过共享文件,IPC 进程间通讯等。\n\n2. 扩展接口:\n\ncom.alibaba.dubbo.rpc.Protocol\ncom.alibaba.dubbo.rpc.Exporter\ncom.alibaba.dubbo.rpc.Invoker\n\npublic interface Protocol {\n    /**\n     * 暴露远程服务:\n     * 1. 协议在接收请求时,应记录请求来源方地址信息:RpcContext.getContext().setRemoteAddress();\n     * 2. export()必须是幂等的,也就是暴露同一个URL的Invoker两次,和暴露一次没有区别。\n     * 3. export()传入的Invoker由框架实现并传入,协议不需要关心。\n     * \n     * @param  服务的类型\n     * @param invoker 服务的执行体\n     * @return exporter 暴露服务的引用,用于取消暴露\n     * @throws RpcException 当暴露服务出错时抛出,比如端口已占用\n     */\n     Exporter export(Invoker invoker) throws RpcException;\n\n    /**\n     * 引用远程服务:\n     * 1. 当用户调用refer()所返回的Invoker对象的invoke()方法时,协议需相应执行同URL远端export()传入的Invoker对象的invoke()方法。\n     * 2. refer()返回的Invoker由协议实现,协议通常需要在此Invoker中发送远程请求。\n     * 3. 当url中有设置check=false时,连接失败不能抛出异常,需内部自动恢复。\n     * \n     * @param  服务的类型\n     * @param type 服务的类型\n     * @param url 远程服务的URL地址\n     * @return invoker 服务的本地代理\n     * @throws RpcException 当连接服务提供方失败时抛出\n     */\n     Invoker refer(Class type, URL url) throws RpcException;\n\n}\n\n3. 扩展配置:\n \n \n 没有配置prototol属性时,使用此配置 -->\n\n4. 已知扩展:\n\ncom.alibaba.dubbo.rpc.injvm.InjvmProtocol\ncom.alibaba.dubbo.rpc.dubbo.DubboProtocol\ncom.alibaba.dubbo.rpc.rmi.RmiProtocol\ncom.alibaba.dubbo.rpc.http.HttpProtocol\ncom.alibaba.dubbo.rpc.http.hessian.HessianProtocol\n\n5. 扩展示例:\nMaven项目结构\n\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxProtocol.java (实现Protocol接口)\n                |-XxxExporter.java (实现Exporter接口)\n                |-XxxInvoker.java (实现Invoker接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.rpc.Protocol (纯文本文件,内容为:xxx=com.xxx.XxxProtocol)\nXxxProtocol.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.rpc.Protocol;\n\npublic class XxxProtocol implements Protocol {\n    public  Exporter export(Invoker invoker) throws RpcException {\n        return new XxxExporter(invoker);\n    }\n    public  Invoker refer(Class type, URL url) throws RpcException {\n        return new XxxInvoker(type, url);\n    }\n}\n\nXxxExporter.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.rpc.support.AbstractExporter;\n\npublic class XxxExporter extends AbstractExporter {\n    public XxxExporter(Invoker invoker) throws RemotingException{\n        super(invoker);\n        // ...\n    }\n    public void unexport() {\n        super.unexport();\n        // ...\n    }\n}\n\nXxxInvoker.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.rpc.support.AbstractInvoker;\n\npublic class XxxInvoker extends AbstractInvoker {\n    public XxxInvoker(Class type, URL url) throws RemotingException{\n        super(type, url);\n    }\n    protected abstract Object doInvoke(Invocation invocation) throws Throwable {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.rpc.Protocol\nxxx=com.xxx.XxxProtocol\n"},"SPI参考手册/调用拦截扩展.html":{"url":"SPI参考手册/调用拦截扩展.html","title":"6.2 调用拦截扩展","keywords":"","body":"1. 扩展说明\n服务提供方和服务消费方调用过程拦截,Dubbo 本身的大多功能均基于此扩展点实现,每次远程方法执行,该拦截都会被执行,请注意对性能的影响。\n约定:\n\n用户自定义 filter 默认在内置 filter 之后。\n特殊值 default,表示缺省扩展点插入的位置。比如:filter=\"xxx,default,yyy\",表示 xxx 在缺省 filter 之前,yyy 在缺省 filter 之后。\n特殊符号 -,表示剔除。比如:filter=\"-foo1\",剔除添加缺省扩展点 foo1。比如:filter=\"-default\",剔除添加所有缺省扩展点。\nprovider 和 service 同时配置的 filter 时,累加所有 filter,而不是覆盖。比如: 和 ,则 xxx,yyy,aaa,bbb 均会生效。如果要覆盖,需配置:\n\n2. 扩展接口\ncom.alibaba.dubbo.rpc.Filter\n3. 扩展配置\n \n \n \n \n\n4. 已知扩展\n\ncom.alibaba.dubbo.rpc.filter.EchoFilter\ncom.alibaba.dubbo.rpc.filter.GenericFilter\ncom.alibaba.dubbo.rpc.filter.GenericImplFilter\ncom.alibaba.dubbo.rpc.filter.TokenFilter\ncom.alibaba.dubbo.rpc.filter.AccessLogFilter\ncom.alibaba.dubbo.rpc.filter.CountFilter\ncom.alibaba.dubbo.rpc.filter.ActiveLimitFilter\ncom.alibaba.dubbo.rpc.filter.ClassLoaderFilter\ncom.alibaba.dubbo.rpc.filter.ContextFilter\ncom.alibaba.dubbo.rpc.filter.ConsumerContextFilter\ncom.alibaba.dubbo.rpc.filter.ExceptionFilter\ncom.alibaba.dubbo.rpc.filter.ExecuteLimitFilter\ncom.alibaba.dubbo.rpc.filter.DeprecatedFilter\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxFilter.java (实现Filter接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.rpc.Filter (纯文本文件,内容为:xxx=com.xxx.XxxFilter)\nXxxFilter.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.rpc.Filter;\nimport com.alibaba.dubbo.rpc.Invoker;\nimport com.alibaba.dubbo.rpc.Invocation;\nimport com.alibaba.dubbo.rpc.Result;\nimport com.alibaba.dubbo.rpc.RpcException;\n\n\npublic class XxxFilter implements Filter {\n    public Result invoke(Invoker invoker, Invocation invocation) throws RpcException {\n        // before filter ...\n        Result result = invoker.invoke(invocation);\n        // after filter ...\n        return result;\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.rpc.Filter\nxxx=com.xxx.XxxFilter\n"},"SPI参考手册/引用监听扩展.html":{"url":"SPI参考手册/引用监听扩展.html","title":"6.3 引用监听扩展","keywords":"","body":"1. 扩展说明\n当有服务引用时,触发该事件。\n2.  扩展接口\ncom.alibaba.dubbo.rpc.InvokerListener\n3. 扩展配置\n \n \n\n4. 已知扩展\ncom.alibaba.dubbo.rpc.listener.DeprecatedInvokerListener\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxInvokerListener.java (实现InvokerListener接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.rpc.InvokerListener (纯文本文件,内容为:xxx=com.xxx.XxxInvokerListener)\nXxxInvokerListener.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.rpc.InvokerListener;\nimport com.alibaba.dubbo.rpc.Invoker;\nimport com.alibaba.dubbo.rpc.RpcException;\n\n\npublic class XxxInvokerListener implements InvokerListener {\n    public void referred(Invoker invoker) throws RpcException {\n        // ...\n    }\n    public void destroyed(Invoker invoker) throws RpcException {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.rpc.InvokerListener\nxxx=com.xxx.XxxInvokerListener\n"},"SPI参考手册/暴露监听扩展.html":{"url":"SPI参考手册/暴露监听扩展.html","title":"6.4 暴露监听扩展","keywords":"","body":"1. 扩展说明\n当有服务暴露时,触发该事件。\n2. 扩展接口\ncom.alibaba.dubbo.rpc.ExporterListener\n3. 扩展配置\n \n \n\n4. 已知扩展\ncom.alibaba.dubbo.registry.directory.RegistryExporterListener\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxExporterListener.java (实现ExporterListener接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.rpc.ExporterListener (纯文本文件,内容为:xxx=com.xxx.XxxExporterListener)\nXxxExporterListener.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.rpc.ExporterListener;\nimport com.alibaba.dubbo.rpc.Exporter;\nimport com.alibaba.dubbo.rpc.RpcException;\n\n\npublic class XxxExporterListener implements ExporterListener {\n    public void exported(Exporter exporter) throws RpcException {\n        // ...\n    }\n    public void unexported(Exporter exporter) throws RpcException {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.rpc.ExporterListener\nxxx=com.xxx.XxxExporterListener\n"},"SPI参考手册/集群扩展.html":{"url":"SPI参考手册/集群扩展.html","title":"6.5 集群扩展","keywords":"","body":"1. 扩展说明\n当有多个服务提供方时,将多个服务提供方组织成一个集群,并伪装成一个提供方。\n2. 扩展接口\ncom.alibaba.dubbo.rpc.cluster.Cluster\n3. 扩展配置\n\n 没有配置cluster时,使用此配置 -->\n\n4. 已知扩展\n\ncom.alibaba.dubbo.rpc.cluster.support.FailoverCluster\ncom.alibaba.dubbo.rpc.cluster.support.FailfastCluster\ncom.alibaba.dubbo.rpc.cluster.support.FailsafeCluster\ncom.alibaba.dubbo.rpc.cluster.support.FailbackCluster\ncom.alibaba.dubbo.rpc.cluster.support.ForkingCluster\ncom.alibaba.dubbo.rpc.cluster.support.AvailableCluster\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxCluster.java (实现Cluster接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.rpc.cluster.Cluster (纯文本文件,内容为:xxx=com.xxx.XxxCluster)\nXxxCluster.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.rpc.cluster.Cluster;\nimport com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker;\nimport com.alibaba.dubbo.rpc.cluster.Directory;\nimport com.alibaba.dubbo.rpc.cluster.LoadBalance;\nimport com.alibaba.dubbo.rpc.Invoker;\nimport com.alibaba.dubbo.rpc.Invocation;\nimport com.alibaba.dubbo.rpc.Result;\nimport com.alibaba.dubbo.rpc.RpcException;\n\npublic class XxxCluster implements Cluster {\n    public  Invoker merge(Directory directory) throws RpcException {\n        return new AbstractClusterInvoker(directory) {\n            public Result doInvoke(Invocation invocation, List> invokers, LoadBalance loadbalance) throws RpcException {\n                // ...\n            }\n        };\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.rpc.cluster.Cluster\nxxx=com.xxx.XxxCluster\n"},"SPI参考手册/路由扩展.html":{"url":"SPI参考手册/路由扩展.html","title":"6.6 路由扩展","keywords":"","body":"1. 扩展说明\n从多个服务提者方中选择一个进行调用。\n2. 扩展接口\n\ncom.alibaba.dubbo.rpc.cluster.RouterFactory\ncom.alibaba.dubbo.rpc.cluster.Router\n\n3. 扩展配置\n\n 没有配置loadbalance时,使用此配置 -->\n\n4. 已知扩展\n\ncom.alibaba.dubbo.rpc.cluster.router.ScriptRouterFactory\ncom.alibaba.dubbo.rpc.cluster.router.FileRouterFactory\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxRouterFactory.java (实现LoadBalance接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.rpc.cluster.RouterFactory (纯文本文件,内容为:xxx=com.xxx.XxxRouterFactory)\n\nXxxRouterFactory.java\n\npackage com.xxx;\n\nimport com.alibaba.dubbo.rpc.cluster.RouterFactory;\nimport com.alibaba.dubbo.rpc.Invoker;\nimport com.alibaba.dubbo.rpc.Invocation;\nimport com.alibaba.dubbo.rpc.RpcException;\n\npublic class XxxRouterFactory implements RouterFactory {\n    public  List> select(List> invokers, Invocation invocation) throws RpcException {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.rpc.cluster.RouterFactory\nxxx=com.xxx.XxxRouterFactory\n"},"SPI参考手册/负载均衡扩展.html":{"url":"SPI参考手册/负载均衡扩展.html","title":"6.7 负载均衡扩展","keywords":"","body":"1. 扩展说明\n从多个服务提者方中选择一个进行调用\n2. 扩展接口\ncom.alibaba.dubbo.rpc.cluster.LoadBalance\n3. 扩展配置\n\n 没有配置loadbalance时,使用此配置 -->\n\n4. 已知扩展\n\ncom.alibaba.dubbo.rpc.cluster.loadbalance.RandomLoadBalance\ncom.alibaba.dubbo.rpc.cluster.loadbalance.RoundRobinLoadBalance\ncom.alibaba.dubbo.rpc.cluster.loadbalance.LeastActiveLoadBalance\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxLoadBalance.java (实现LoadBalance接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.rpc.cluster.LoadBalance (纯文本文件,内容为:xxx=com.xxx.XxxLoadBalance)\nXxxLoadBalance.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.rpc.cluster.LoadBalance;\nimport com.alibaba.dubbo.rpc.Invoker;\nimport com.alibaba.dubbo.rpc.Invocation;\nimport com.alibaba.dubbo.rpc.RpcException; \n\npublic class XxxLoadBalance implements LoadBalance {\n    public  Invoker select(List> invokers, Invocation invocation) throws RpcException {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.rpc.cluster.LoadBalance\nxxx=com.xxx.XxxLoadBalance\n"},"SPI参考手册/合并结果扩展.html":{"url":"SPI参考手册/合并结果扩展.html","title":"6.8 合并结果扩展","keywords":"","body":"1. 扩展说明\n合并返回结果,用于分组聚合。\n2. 扩展接口\ncom.alibaba.dubbo.rpc.cluster.Merger\n3. 扩展配置\n\n\n4. 已知扩展\n\ncom.alibaba.dubbo.rpc.cluster.merger.ArrayMerger\ncom.alibaba.dubbo.rpc.cluster.merger.ListMerger\ncom.alibaba.dubbo.rpc.cluster.merger.SetMerger\ncom.alibaba.dubbo.rpc.cluster.merger.MapMerger\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxMerger.java (实现Merger接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.rpc.cluster.Merger (纯文本文件,内容为:xxx=com.xxx.XxxMerger)\nXxxMerger.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.rpc.cluster.Merger;\n\npublic class XxxMerger implements Merger {\n    public T merge(T... results) {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.rpc.cluster.Merger\nxxx=com.xxx.XxxMerger\n"},"SPI参考手册/注册中心扩展.html":{"url":"SPI参考手册/注册中心扩展.html","title":"6.9 注册中心扩展","keywords":"","body":"1. 扩展说明\n负责服务的注册与发现。\n2. 扩展接口\n\ncom.alibaba.dubbo.registry.RegistryFactory\ncom.alibaba.dubbo.registry.Registry\n\n3. 扩展配置\n \n \n 没有配置registry属性时,使用此配置 -->\n\n4. 扩展契约\nRegistryFactory.java\npublic interface RegistryFactory {\n    /**\n     * 连接注册中心.\n     * \n     * 连接注册中心需处理契约:\n     * 1. 当设置check=false时表示不检查连接,否则在连接不上时抛出异常。\n     * 2. 支持URL上的username:password权限认证。\n     * 3. 支持backup=10.20.153.10备选注册中心集群地址。\n     * 4. 支持file=registry.cache本地磁盘文件缓存。\n     * 5. 支持timeout=1000请求超时设置。\n     * 6. 支持session=60000会话超时或过期设置。\n     * \n     * @param url 注册中心地址,不允许为空\n     * @return 注册中心引用,总不返回空\n     */\n    Registry getRegistry(URL url); \n}\n\nRegistryService.java\npublic interface RegistryService { // Registry extends RegistryService \n    /**\n     * 注册服务.\n     * \n     * 注册需处理契约:\n     * 1. 当URL设置了check=false时,注册失败后不报错,在后台定时重试,否则抛出异常。\n     * 2. 当URL设置了dynamic=false参数,则需持久存储,否则,当注册者出现断电等情况异常退出时,需自动删除。\n     * 3. 当URL设置了category=overrides时,表示分类存储,缺省类别为providers,可按分类部分通知数据。\n     * 4. 当注册中心重启,网络抖动,不能丢失数据,包括断线自动删除数据。\n     * 5. 允许URI相同但参数不同的URL并存,不能覆盖。\n     * \n     * @param url 注册信息,不允许为空,如:dubbo://10.20.153.10/com.alibaba.foo.BarService?version=1.0.0&application=kylin\n     */\n    void register(URL url);\n\n    /**\n     * 取消注册服务.\n     * \n     * 取消注册需处理契约:\n     * 1. 如果是dynamic=false的持久存储数据,找不到注册数据,则抛IllegalStateException,否则忽略。\n     * 2. 按全URL匹配取消注册。\n     * \n     * @param url 注册信息,不允许为空,如:dubbo://10.20.153.10/com.alibaba.foo.BarService?version=1.0.0&application=kylin\n     */\n    void unregister(URL url);\n\n    /**\n     * 订阅服务.\n     * \n     * 订阅需处理契约:\n     * 1. 当URL设置了check=false时,订阅失败后不报错,在后台定时重试。\n     * 2. 当URL设置了category=overrides,只通知指定分类的数据,多个分类用逗号分隔,并允许星号通配,表示订阅所有分类数据。\n     * 3. 允许以interface,group,version,classifier作为条件查询,如:interface=com.alibaba.foo.BarService&version=1.0.0\n     * 4. 并且查询条件允许星号通配,订阅所有接口的所有分组的所有版本,或:interface=*&group=*&version=*&classifier=*\n     * 5. 当注册中心重启,网络抖动,需自动恢复订阅请求。\n     * 6. 允许URI相同但参数不同的URL并存,不能覆盖。\n     * 7. 必须阻塞订阅过程,等第一次通知完后再返回。\n     * \n     * @param url 订阅条件,不允许为空,如:consumer://10.20.153.10/com.alibaba.foo.BarService?version=1.0.0&application=kylin\n     * @param listener 变更事件监听器,不允许为空\n     */\n    void subscribe(URL url, NotifyListener listener);\n\n    /**\n     * 取消订阅服务.\n     * \n     * 取消订阅需处理契约:\n     * 1. 如果没有订阅,直接忽略。\n     * 2. 按全URL匹配取消订阅。\n     * \n     * @param url 订阅条件,不允许为空,如:consumer://10.20.153.10/com.alibaba.foo.BarService?version=1.0.0&application=kylin\n     * @param listener 变更事件监听器,不允许为空\n     */\n    void unsubscribe(URL url, NotifyListener listener);\n\n    /**\n     * 查询注册列表,与订阅的推模式相对应,这里为拉模式,只返回一次结果。\n     * \n     * @see com.alibaba.dubbo.registry.NotifyListener#notify(List)\n     * @param url 查询条件,不允许为空,如:consumer://10.20.153.10/com.alibaba.foo.BarService?version=1.0.0&application=kylin\n     * @return 已注册信息列表,可能为空,含义同{@link com.alibaba.dubbo.registry.NotifyListener#notify(List)}的参数。\n     */\n    List lookup(URL url);\n\n}\n\nNotifyListener.java\npublic interface NotifyListener { \n    /**\n     * 当收到服务变更通知时触发。\n     * \n     * 通知需处理契约:\n     * 1. 总是以服务接口和数据类型为维度全量通知,即不会通知一个服务的同类型的部分数据,用户不需要对比上一次通知结果。\n     * 2. 订阅时的第一次通知,必须是一个服务的所有类型数据的全量通知。\n     * 3. 中途变更时,允许不同类型的数据分开通知,比如:providers, consumers, routes, overrides,允许只通知其中一种类型,但该类型的数据必须是全量的,不是增量的。\n     * 4. 如果一种类型的数据为空,需通知一个empty协议并带category参数的标识性URL数据。\n     * 5. 通知者(即注册中心实现)需保证通知的顺序,比如:单线程推送,队列串行化,带版本对比。\n     * \n     * @param urls 已注册信息列表,总不为空,含义同{@link com.alibaba.dubbo.registry.RegistryService#lookup(URL)}的返回值。\n     */\n    void notify(List urls);\n\n}\n\n5. 已知扩展\ncom.alibaba.dubbo.registry.support.dubbo.DubboRegistryFactory\n6. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxRegistryFactoryjava (实现RegistryFactory接口)\n                |-XxxRegistry.java (实现Registry接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.registry.RegistryFactory (纯文本文件,内容为:xxx=com.xxx.XxxRegistryFactory)\nXxxRegistryFactory.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.registry.RegistryFactory;\nimport com.alibaba.dubbo.registry.Registry;\nimport com.alibaba.dubbo.common.URL;\n\npublic class XxxRegistryFactory implements RegistryFactory {\n    public Registry getRegistry(URL url) {\n        return new XxxRegistry(url);\n    }\n}\n\nXxxRegistry.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.registry.Registry;\nimport com.alibaba.dubbo.registry.NotifyListener;\nimport com.alibaba.dubbo.common.URL;\n\npublic class XxxRegistry implements Registry {\n    public void register(URL url) {\n        // ...\n    }\n    public void unregister(URL url) {\n        // ...\n    }\n    public void subscribe(URL url, NotifyListener listener) {\n        // ...\n    }\n    public void unsubscribe(URL url, NotifyListener listener) {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.registry.RegistryFactory\nxxx=com.xxx.XxxRegistryFactory\n"},"SPI参考手册/监控中心扩展.html":{"url":"SPI参考手册/监控中心扩展.html","title":"6.10 监控中心扩展","keywords":"","body":"1. 扩展说明\n负责服务调用次和调用时间的监控。\n2. 扩展接口\n\ncom.alibaba.dubbo.monitor.MonitorFactory\ncom.alibaba.dubbo.monitor.Monitor\n\n3. 扩展配置\n \n\n4. 已知扩展\ncom.alibaba.dubbo.monitor.support.dubbo.DubboMonitorFactory\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxMonitorFactoryjava (实现MonitorFactory接口)\n                |-XxxMonitor.java (实现Monitor接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.monitor.MonitorFactory (纯文本文件,内容为:xxx=com.xxx.XxxMonitorFactory)\nXxxMonitorFactory.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.monitor.MonitorFactory;\nimport com.alibaba.dubbo.monitor.Monitor;\nimport com.alibaba.dubbo.common.URL;\n\npublic class XxxMonitorFactory implements MonitorFactory {\n    public Monitor getMonitor(URL url) {\n        return new XxxMonitor(url);\n    }\n}\n\nXxxMonitor.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.monitor.Monitor;\n\npublic class XxxMonitor implements Monitor {\n    public void count(URL statistics) {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.monitor.MonitorFactory\nxxx=com.xxx.XxxMonitorFactory\n"},"SPI参考手册/扩展点加载扩展.html":{"url":"SPI参考手册/扩展点加载扩展.html","title":"6.11 扩展点加载扩展","keywords":"","body":"1. 扩展说明\n扩展点本身的加载容器,可从不同容器加载扩展点。\n2. 扩展接口\ncom.alibaba.dubbo.common.extension.ExtensionFactory\n3. 扩展配置\n\n\n4. 已知扩展\n\ncom.alibaba.dubbo.common.extension.factory.SpiExtensionFactory\ncom.alibaba.dubbo.config.spring.extension.SpringExtensionFactory\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxExtensionFactory.java (实现ExtensionFactory接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.common.extension.ExtensionFactory (纯文本文件,内容为:xxx=com.xxx.XxxExtensionFactory)\nXxxExtensionFactory.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.common.extension.ExtensionFactory;\n\npublic class XxxExtensionFactory implements ExtensionFactory {\n    public Object getExtension(Class type, String name) {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.common.extension.ExtensionFactory\nxxx=com.xxx.XxxExtensionFactory\n"},"SPI参考手册/动态代理扩展.html":{"url":"SPI参考手册/动态代理扩展.html","title":"6.12 动态代理扩展","keywords":"","body":"1. 扩展说明\n将 Invoker 接口转换成业务接口。\n2. 扩展接口\ncom.alibaba.dubbo.rpc.ProxyFactory\n3. 扩展配置\n\n 没有配置proxy属性时,使用此配置 -->\n\n4. 已知扩展\n\ncom.alibaba.dubbo.rpc.proxy.JdkProxyFactory\ncom.alibaba.dubbo.rpc.proxy.JavassistProxyFactory\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxProxyFactory.java (实现ProxyFactory接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.rpc.ProxyFactory (纯文本文件,内容为:xxx=com.xxx.XxxProxyFactory)\nXxxProxyFactory.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.rpc.ProxyFactory;\nimport com.alibaba.dubbo.rpc.Invoker;\nimport com.alibaba.dubbo.rpc.RpcException;\n\n\npublic class XxxProxyFactory implements ProxyFactory {\n    public  T getProxy(Invoker invoker) throws RpcException {\n        // ...\n    }\n    public  Invoker getInvoker(T proxy, Class type, URL url) throws RpcException {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.rpc.ProxyFactory\nxxx=com.xxx.XxxProxyFactory\n"},"SPI参考手册/编译器扩展.html":{"url":"SPI参考手册/编译器扩展.html","title":"6.13 编译器扩展","keywords":"","body":"1. 扩展说明\nJava 代码编译器,用于动态生成字节码,加速调用。\n2. 扩展接口\ncom.alibaba.dubbo.common.compiler.Compiler\n3. 扩展配置\n自动加载\n4. 已知扩展\n\ncom.alibaba.dubbo.common.compiler.support.JdkCompiler\ncom.alibaba.dubbo.common.compiler.support.JavassistCompiler\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxCompiler.java (实现Compiler接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.common.compiler.Compiler (纯文本文件,内容为:xxx=com.xxx.XxxCompiler)\nXxxCompiler.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.common.compiler.Compiler;\n\npublic class XxxCompiler implements Compiler {\n    public Object getExtension(Class type, String name) {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.common.compiler.Compiler\nxxx=com.xxx.XxxCompiler\n"},"SPI参考手册/消息派发扩展.html":{"url":"SPI参考手册/消息派发扩展.html","title":"6.14 消息派发扩展","keywords":"","body":"1. 扩展说明\n通道信息派发器,用于指定线程池模型。\n2. 扩展接口\ncom.alibaba.dubbo.remoting.Dispatcher\n3. 扩展配置\n\n 没有配置dispatcher属性时,使用此配置 -->\n\n4. 已知扩展\n\ncom.alibaba.dubbo.remoting.transport.dispatcher.all.AllDispatcher\ncom.alibaba.dubbo.remoting.transport.dispatcher.direct.DirectDispatcher\ncom.alibaba.dubbo.remoting.transport.dispatcher.message.MessageOnlyDispatcher\ncom.alibaba.dubbo.remoting.transport.dispatcher.execution.ExecutionDispatcher\ncom.alibaba.dubbo.remoting.transport.dispatcher.connection.ConnectionOrderedDispatcher\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxDispatcher.java (实现Dispatcher接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.remoting.Dispatcher (纯文本文件,内容为:xxx=com.xxx.XxxDispatcher)\nXxxDispatcher.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.remoting.Dispatcher;\n\npublic class XxxDispatcher implements Dispatcher {\n    public Group lookup(URL url) {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.remoting.Dispatcher\nxxx=com.xxx.XxxDispatcher\n"},"SPI参考手册/线程池扩展.html":{"url":"SPI参考手册/线程池扩展.html","title":"6.15 线程池扩展","keywords":"","body":"1. 扩展说明\n服务提供方线程程实现策略,当服务器收到一个请求时,需要在线程池中创建一个线程去执行服务提供方业务逻辑。\n2. 扩展接口\ncom.alibaba.dubbo.common.threadpool.ThreadPool\n3. 扩展配置\n\n 没有配置threadpool时,使用此配置 -->\n\n4. 已知扩展\n\ncom.alibaba.dubbo.common.threadpool.FixedThreadPool\ncom.alibaba.dubbo.common.threadpool.CachedThreadPool\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxThreadPool.java (实现ThreadPool接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.common.threadpool.ThreadPool (纯文本文件,内容为:xxx=com.xxx.XxxThreadPool)\nXxxThreadPool.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.common.threadpool.ThreadPool;\nimport java.util.concurrent.Executor;\n\npublic class XxxThreadPool implements ThreadPool {\n    public Executor getExecutor() {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.common.threadpool.ThreadPool\nxxx=com.xxx.XxxThreadPool\n"},"SPI参考手册/序列化扩展.html":{"url":"SPI参考手册/序列化扩展.html","title":"6.16 序列化扩展","keywords":"","body":"1. 扩展说明\n将对象转成字节流,用于网络传输,以及将字节流转为对象,用于在收到字节流数据后还原成对象。\n2. 扩展接口\n\ncom.alibaba.dubbo.common.serialize.Serialization\ncom.alibaba.dubbo.common.serialize.ObjectInput\ncom.alibaba.dubbo.common.serialize.ObjectOutput\n\n3. 扩展配置\n \n 没有配置serialization时,使用此配置 -->\n\n4. 已知扩展\n\ncom.alibaba.dubbo.common.serialize.dubbo.DubboSerialization\ncom.alibaba.dubbo.common.serialize.hessian.Hessian2Serialization\ncom.alibaba.dubbo.common.serialize.java.JavaSerialization\ncom.alibaba.dubbo.common.serialize.java.CompactedJavaSerialization\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxSerialization.java (实现Serialization接口)\n                |-XxxObjectInput.java (实现ObjectInput接口)\n                |-XxxObjectOutput.java (实现ObjectOutput接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.common.serialize.Serialization (纯文本文件,内容为:xxx=com.xxx.XxxSerialization)\nXxxSerialization.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.common.serialize.Serialization;\nimport com.alibaba.dubbo.common.serialize.ObjectInput;\nimport com.alibaba.dubbo.common.serialize.ObjectOutput;\n\n\npublic class XxxSerialization implements Serialization {\n    public ObjectOutput serialize(Parameters parameters, OutputStream output) throws IOException {\n        return new XxxObjectOutput(output);\n    }\n    public ObjectInput deserialize(Parameters parameters, InputStream input) throws IOException {\n        return new XxxObjectInput(input);\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.common.serialize.Serialization\nxxx=com.xxx.XxxSerialization\n"},"SPI参考手册/网络传输扩展.html":{"url":"SPI参考手册/网络传输扩展.html","title":"6.17 网络传输扩展","keywords":"","body":"1. 扩展说明\n远程通讯的服务器及客户端传输实现。\n2. 扩展接口\n\ncom.alibaba.dubbo.remoting.Transporter\ncom.alibaba.dubbo.remoting.Server\ncom.alibaba.dubbo.remoting.Client\n\n3. 扩展配置\n \n \n 没有配置transporter/server/client属性时,使用此配置 -->\n\n4. 已知扩展\n\ncom.alibaba.dubbo.remoting.transport.transporter.netty.NettyTransporter\ncom.alibaba.dubbo.remoting.transport.transporter.mina.MinaTransporter\ncom.alibaba.dubbo.remoting.transport.transporter.grizzly.GrizzlyTransporter\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxTransporter.java (实现Transporter接口)\n                |-XxxServer.java (实现Server接口)\n                |-XxxClient.java (实现Client接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.remoting.Transporter (纯文本文件,内容为:xxx=com.xxx.XxxTransporter)\nXxxTransporter.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.remoting.Transporter;\n\npublic class XxxTransporter implements Transporter {\n    public Server bind(URL url, ChannelHandler handler) throws RemotingException {\n        return new XxxServer(url, handler);\n    }\n    public Client connect(URL url, ChannelHandler handler) throws RemotingException {\n        return new XxxClient(url, handler);\n    }\n}\n\nXxxServer.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.remoting.transport.transporter.AbstractServer;\n\npublic class XxxServer extends AbstractServer {\n    public XxxServer(URL url, ChannelHandler handler) throws RemotingException{\n        super(url, handler);\n    }\n    protected void doOpen() throws Throwable {\n        // ...\n    }\n    protected void doClose() throws Throwable {\n        // ...\n    }\n    public Collection getChannels() {\n        // ...\n    }\n    public Channel getChannel(InetSocketAddress remoteAddress) {\n        // ...\n    }\n}\n\nXxxClient.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.remoting.transport.transporter.AbstractClient;\n\npublic class XxxClient extends AbstractClient {\n    public XxxServer(URL url, ChannelHandler handler) throws RemotingException{\n        super(url, handler);\n    }\n    protected void doOpen() throws Throwable {\n        // ...\n    }\n    protected void doClose() throws Throwable {\n        // ...\n    }\n    protected void doConnect() throws Throwable {\n        // ...\n    }\n    public Channel getChannel() {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.remoting.Transporter\nxxx=com.xxx.XxxTransporter\n"},"SPI参考手册/信息交换扩展.html":{"url":"SPI参考手册/信息交换扩展.html","title":"6.18 信息交换扩展","keywords":"","body":"1. 扩展说明\n基于传输层之上,实现Request-Response信息交换语义。\n2. 扩展接口\n\ncom.alibaba.dubbo.remoting.exchange.Exchanger\ncom.alibaba.dubbo.remoting.exchange.ExchangeServer\ncom.alibaba.dubbo.remoting.exchange.ExchangeClient\n\n3. 扩展配置\n\n 没有配置exchanger属性时,使用此配置 -->\n\n4. 已知扩展\ncom.alibaba.dubbo.remoting.exchange.exchanger.HeaderExchanger\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxExchanger.java (实现Exchanger接口)\n                |-XxxExchangeServer.java (实现ExchangeServer接口)\n                |-XxxExchangeClient.java (实现ExchangeClient接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.remoting.exchange.Exchanger (纯文本文件,内容为:xxx=com.xxx.XxxExchanger)\nXxxExchanger.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.remoting.exchange.Exchanger;\n\n\npublic class XxxExchanger implements Exchanger {\n    public ExchangeServer bind(URL url, ExchangeHandler handler) throws RemotingException {\n        return new XxxExchangeServer(url, handler);\n    }\n    public ExchangeClient connect(URL url, ExchangeHandler handler) throws RemotingException {\n        return new XxxExchangeClient(url, handler);\n    }\n}\n\nXxxExchangeServer.java\n\npackage com.xxx;\n\nimport com.alibaba.dubbo.remoting.exchange.ExchangeServer;\n\npublic class XxxExchangeServer impelements ExchangeServer {\n    // ...\n}\n\nXxxExchangeClient.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.remoting.exchange.ExchangeClient;\n\npublic class XxxExchangeClient impelments ExchangeClient {\n    // ...\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.remoting.exchange.Exchanger\nxxx=com.xxx.XxxExchanger\n"},"SPI参考手册/组网扩展.html":{"url":"SPI参考手册/组网扩展.html","title":"6.19 组网扩展","keywords":"","body":"1. 扩展说明\n对等网络节点组网器。\n2. 扩展接口\ncom.alibaba.dubbo.remoting.p2p.Networker\n3. 扩展配置\n\n 没有配置networker属性时,使用此配置 -->\n\n4. 已知扩展\n\ncom.alibaba.dubbo.remoting.p2p.support.MulticastNetworker\ncom.alibaba.dubbo.remoting.p2p.support.FileNetworker\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxNetworker.java (实现Networker接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.remoting.p2p.Networker (纯文本文件,内容为:xxx=com.xxx.XxxNetworker)\nXxxNetworker.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.remoting.p2p.Networker;\n\npublic class XxxNetworker implements Networker {\n    public Group lookup(URL url) {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.remoting.p2p.Networker\nxxx=com.xxx.XxxNetworker\n"},"SPI参考手册/Telnet命令扩展.html":{"url":"SPI参考手册/Telnet命令扩展.html","title":"6.20 Telnet命令扩展","keywords":"","body":"1. 扩展说明\n所有服务器均支持 telnet 访问,用于人工干预。\n2. 扩展接口\ncom.alibaba.dubbo.remoting.telnet.TelnetHandler\n3. 扩展配置\n\n 没有配置telnet属性时,使用此配置 -->\n\n4. 已知扩展\n\ncom.alibaba.dubbo.remoting.telnet.support.ClearTelnetHandler\ncom.alibaba.dubbo.remoting.telnet.support.ExitTelnetHandler\ncom.alibaba.dubbo.remoting.telnet.support.HelpTelnetHandler\ncom.alibaba.dubbo.remoting.telnet.support.StatusTelnetHandler\ncom.alibaba.dubbo.rpc.dubbo.telnet.ListTelnetHandler\ncom.alibaba.dubbo.rpc.dubbo.telnet.ChangeTelnetHandler\ncom.alibaba.dubbo.rpc.dubbo.telnet.CurrentTelnetHandler\ncom.alibaba.dubbo.rpc.dubbo.telnet.InvokeTelnetHandler\ncom.alibaba.dubbo.rpc.dubbo.telnet.TraceTelnetHandler\ncom.alibaba.dubbo.rpc.dubbo.telnet.CountTelnetHandler\ncom.alibaba.dubbo.rpc.dubbo.telnet.PortTelnetHandler\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxTelnetHandler.java (实现TelnetHandler接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.remoting.telnet.TelnetHandler (纯文本文件,内容为:xxx=com.xxx.XxxTelnetHandler)\nXxxTelnetHandler.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.remoting.telnet.TelnetHandler;\n\n@Help(parameter=\"...\", summary=\"...\", detail=\"...\")\n\npublic class XxxTelnetHandler implements TelnetHandler {\n    public String telnet(Channel channel, String message) throws RemotingException {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.remoting.telnet.TelnetHandler\nxxx=com.xxx.XxxTelnetHandler\n用法\ntelnet 127.0.0.1 20880\ndubbo> xxx args\n\n"},"SPI参考手册/状态检查扩展.html":{"url":"SPI参考手册/状态检查扩展.html","title":"6.21 状态检查扩展","keywords":"","body":"1. 扩展说明\n检查服务依赖各种资源的状态,此状态检查可同时用于 telnet 的 status 命令和 hosting 的 status 页面。\n2. 扩展接口\ncom.alibaba.dubbo.common.status.StatusChecker\n3. 扩展配置\n\n 没有配置status属性时,使用此配置 -->\n\n4. 已知扩展\n\ncom.alibaba.dubbo.common.status.support.MemoryStatusChecker\ncom.alibaba.dubbo.common.status.support.LoadStatusChecker\ncom.alibaba.dubbo.rpc.dubbo.status.ServerStatusChecker\ncom.alibaba.dubbo.rpc.dubbo.status.ThreadPoolStatusChecker\ncom.alibaba.dubbo.registry.directory.RegistryStatusChecker\ncom.alibaba.dubbo.rpc.config.spring.status.SpringStatusChecker\ncom.alibaba.dubbo.rpc.config.spring.status.DataSourceStatusChecker\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxStatusChecker.java (实现StatusChecker接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.common.status.StatusChecker (纯文本文件,内容为:xxx=com.xxx.XxxStatusChecker)\nXxxStatusChecker.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.common.status.StatusChecker;\n\npublic class XxxStatusChecker implements StatusChecker {\n    public Status check() {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.common.status.StatusChecker\nxxx=com.xxx.XxxStatusChecker\n"},"SPI参考手册/容器扩展.html":{"url":"SPI参考手册/容器扩展.html","title":"6.22 容器扩展","keywords":"","body":"1. 扩展说明\n服务容器扩展,用于自定义加载内容。\n2. 扩展接口\ncom.alibaba.dubbo.container.Container\n3. 扩展配置\njava com.alibaba.dubbo.container.Main spring jetty log4j\n\n4. 已知扩展\n\ncom.alibaba.dubbo.container.spring.SpringContainer\ncom.alibaba.dubbo.container.spring.JettyContainer\ncom.alibaba.dubbo.container.spring.Log4jContainer\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxContainer.java (实现Container接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.container.Container (纯文本文件,内容为:xxx=com.xxx.XxxContainer)\nXxxContainer.java\npackage com.xxx;\n\ncom.alibaba.dubbo.container.Container;\n\n\npublic class XxxContainer implements Container {\n    public Status start() {\n        // ...\n    }\n    public Status stop() {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.container.Container\nxxx=com.xxx.XxxContainer\n"},"SPI参考手册/页面扩展.html":{"url":"SPI参考手册/页面扩展.html","title":"6.23 页面扩展","keywords":"","body":"1. 扩展说明\n对等网络节点组网器。\n2. 扩展接口\ncom.alibaba.dubbo.container.page.PageHandler\n3. 扩展配置\n\n 没有配置page属性时,使用此配置 -->\n\n4. 已知扩展\n\ncom.alibaba.dubbo.container.page.pages.HomePageHandler\ncom.alibaba.dubbo.container.page.pages.StatusPageHandler\ncom.alibaba.dubbo.container.page.pages.LogPageHandler\ncom.alibaba.dubbo.container.page.pages.SystemPageHandler\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxPageHandler.java (实现PageHandler接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.container.page.PageHandler (纯文本文件,内容为:xxx=com.xxx.XxxPageHandler)\nXxxPageHandler.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.container.page.PageHandler;\n\npublic class XxxPageHandler implements PageHandler {\n    public Group lookup(URL url) {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.container.page.PageHandler\nxxx=com.xxx.XxxPageHandler\n"},"SPI参考手册/缓存扩展.html":{"url":"SPI参考手册/缓存扩展.html","title":"6.24 缓存扩展","keywords":"","body":"1. 扩展说明\n用请求参数作为key,缓存返回结果。\n2. 扩展接口\ncom.alibaba.dubbo.cache.CacheFactory\n3. 扩展配置\n\n \n 没有配置cache属性时,使用此配置 -->\n\n4. 已知扩展\n\ncom.alibaba.dubbo.cache.support.lru.LruCacheFactory\ncom.alibaba.dubbo.cache.support.threadlocal.ThreadLocalCacheFactory\ncom.alibaba.dubbo.cache.support.jcache.JCacheFactory\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxCacheFactory.java (实现StatusChecker接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.cache.CacheFactory (纯文本文件,内容为:xxx=com.xxx.XxxCacheFactory)\nXxxCacheFactory.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.cache.CacheFactory;\n\npublic class XxxCacheFactory implements CacheFactory {\n    public Cache getCache(URL url, String name) {\n        return new XxxCache(url, name);\n    }\n}\n\nXxxCacheFactory.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.cache.Cache;\n\npublic class XxxCache implements Cache {\n    public Cache(URL url, String name) {\n        // ...\n    }\n    public void put(Object key, Object value) {\n        // ...\n    }\n    public Object get(Object key) {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.cache.CacheFactory\nxxx=com.xxx.XxxCacheFactory\n"},"SPI参考手册/验证扩展.html":{"url":"SPI参考手册/验证扩展.html","title":"6.25 验证扩展","keywords":"","body":"1. 扩展说明\n参数验证扩展点。\n2. 扩展接口\ncom.alibaba.dubbo.validation.Validation\n3. 扩展配置\n\n 没有配置validation属性时,使用此配置 -->\n\n4. 已知扩展\ncom.alibaba.dubbo.validation.support.jvalidation.JValidation\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxValidation.java (实现Validation接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.validation.Validation (纯文本文件,内容为:xxx=com.xxx.XxxValidation)\n\nXxxValidation.java\n\npackage com.xxx;\n\nimport com.alibaba.dubbo.validation.Validation;\n\npublic class XxxValidation implements Validation {\n    public Object getValidator(URL url) {\n        // ...\n    }\n}\n\nXxxValidator.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.validation.Validator;\n\npublic class XxxValidator implements Validator {\n    public XxxValidator(URL url) {\n        // ...\n    }\n    public void validate(Invocation invocation) throws Exception {\n        // ...\n    }\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.validation.Validation\nxxx=com.xxx.XxxValidation\n"},"SPI参考手册/日志适配扩展.html":{"url":"SPI参考手册/日志适配扩展.html","title":"6.26 日志适配扩展","keywords":"","body":"1. 扩展说明\n日志输出适配扩展点。\n2. 扩展接口\ncom.alibaba.dubbo.common.logger.LoggerAdapter\n3. 扩展配置\n\n\n-Ddubbo:application.logger=xxx\n\n4. 已知扩展\n\ncom.alibaba.dubbo.common.logger.slf4j.Slf4jLoggerAdapter\ncom.alibaba.dubbo.common.logger.jcl.JclLoggerAdapter\ncom.alibaba.dubbo.common.logger.log4j.Log4jLoggerAdapter\ncom.alibaba.dubbo.common.logger.jdk.JdkLoggerAdapter\n\n5. 扩展示例\nMaven项目结构\nsrc\n |-main\n    |-java\n        |-com\n            |-xxx\n                |-XxxLoggerAdapter.java (实现LoggerAdapter接口)\n    |-resources\n        |-META-INF\n            |-dubbo\n                |-com.alibaba.dubbo.common.logger.LoggerAdapter (纯文本文件,内容为:xxx=com.xxx.XxxLoggerAdapter)\nXxxLoggerAdapter.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.common.logger.LoggerAdapter;\n\npublic class XxxLoggerAdapter implements LoggerAdapter {\n    public Logger getLogger(URL url) {\n        // ...\n    }\n}\n\nXxxLogger.java\npackage com.xxx;\n\nimport com.alibaba.dubbo.common.logger.Logger;\n\npublic class XxxLogger implements Logger {\n    public XxxLogger(URL url) {\n        // ...\n    }\n    public void info(String msg) {\n        // ...\n    }\n    // ...\n}\n\nMETA-INF/dubbo/com.alibaba.dubbo.common.logger.LoggerAdapter\nxxx=com.xxx.XxxLoggerAdapter\n"},"技术兼容性测试.html":{"url":"技术兼容性测试.html","title":"7 技术兼容性测试","keywords":"","body":"Dubbo的协议,通讯,序列化,注册中心,负载均策等扩展点,都有多种可选策略,以应对不同应用场景,而我们的测试用例很分散,当用户自己需要加一种新的实现时,总是不确定能否满足扩展点的完整契约。\n所以,我们需要对核心扩展点写 TCK (Technology Compatibility Kit),用户增加一种扩展实现,只需通过TCK,即可确保与框架的其它部分兼容运行,可以有效提高整体健状性,也方便第三方扩展者接入,加速开源社区的成熟。\n开源社区的行知同学已着手研究这一块,他的初步想法是借鉴JBoss的CDI-TCK,做一个Dubbo的TCK基础框架,在此之上实现Dubbo的扩展点TCK用例。\n参见:http://docs.jboss.org/cdi/tck/reference/1.0.1-Final/html/introduction.html\n如果大家有兴趣,也可以一起研究,和行知一块讨论。\nProtocol TCK\n\nTODO\n\nRegistry TCK\n\nTODO\n\n"},"公共契约.html":{"url":"公共契约.html","title":"8 公共契约","keywords":"","body":"\n这里记录的是Dubbo公共契约,希望所有扩展点遵守。\n\nURL\n\n所有扩展点参数都包含URL参数,URL作为上下文信息贯穿整个扩展点设计体系。\nURL采用标准格式:protocol://username:password@host:port/path?key=value&key=value\n\n日志\n\n如果不可恢复或需要报警,打印ERROR日志。\n如果可恢复异常,或瞬时的状态不一致,打印WARN日志。\n正常运行时的中间状态提示,打印INFO日志。\n\n"},"坏味道.html":{"url":"坏味道.html","title":"9 坏味道","keywords":"","body":"\n这里记录的是Dubbo设计或实现不优雅的地方。\n\nURL转换\n1. 点对点暴露和引用服务\n直接暴露服务:\nEXPORT(dubbo://provider-address/com.xxx.XxxService?version=1.0.0\")\n点对点直连服务:\nREFER(dubbo://provider-address/com.xxx.XxxService?version=1.0.0)\n2. 通过注册中心暴露服务\n向注册中心暴露服务:\nEXPORT(registry://registry-address/com.alibaba.dubbo.registry.RegistrySerevice?registry=dubbo&export=ENCODE(dubbo://provider-address/com.xxx.XxxService?version=1.0.0))\n获取注册中心:\nurl.setProtocol(url.getParameter(\"registry\", \"dubbo\"))\nGETREGISTRY(dubbo://registry-address/com.alibaba.dubbo.registry.RegistrySerevice)\n注册服务地址:\nurl.getParameterAndDecoded(\"export\"))\nREGISTER(dubbo://provider-address/com.xxx.XxxService?version=1.0.0)\n3. 通过注册中心引用服务\n从注册中心订阅服务:\nREFER(registry://registry-address/com.alibaba.dubbo.registry.RegistrySerevice?registry=dubbo&refer=ENCODE(version=1.0.0))\n获取注册中心:\nurl.setProtocol(url.getParameter(\"registry\", \"dubbo\"))\nGETREGISTRY(dubbo://registry-address/com.alibaba.dubbo.registry.RegistrySerevice)\n订阅服务地址:\nurl.addParameters(url.getParameterAndDecoded(\"refer\"))\nSUBSCRIBE(dubbo://registry-address/com.xxx.XxxService?version=1.0.0)\n通知服务地址:\nurl.addParameters(url.getParameterAndDecoded(\"refer\"))\nNOTIFY(dubbo://provider-address/com.xxx.XxxService?version=1.0.0)\n4. 注册中心推送路由规则\n注册中心路由规则推送:\nNOTIFY(route://registry-address/com.xxx.XxxService?router=script&type=js&rule=ENCODE(function{...}))\n获取路由器:\nurl.setProtocol(url.getParameter(\"router\", \"script\"))\nGETROUTE(script://registry-address/com.xxx.XxxService?type=js&rule=ENCODE(function{...}))\n5. 从文件加载路由规则\n从文件加载路由规则:\nGETROUTE(file://path/file.js?router=script)\n获取路由器:\nurl.setProtocol(url.getParameter(\"router\", \"script\")).addParameter(\"type\", SUFFIX(file)).addParameter(\"rule\", READ(file))\nGETROUTE(script://path/file.js?type=js&rule=ENCODE(function{...}))\n调用参数\n\npath 服务路径\ngroup 服务分组\nversion 服务版本\ndubbo 使用的dubbo版本\ntoken 验证令牌\ntimeout 调用超时\n\n扩展点的加载\n1. 自适应扩展点\nExtensionLoader加载扩展点时,会检查扩展点的属性(通过set方法判断),如该属性是扩展点类型,则会注入扩展点对象。因为注入时不能确定使用哪个扩展点(在使用时确定),所以注入的是一个自适应扩展(一个代理)。自适应扩展点调用时,选取一个真正的扩展点,并代理到其上完成调用。Dubbo是根据调用方法参数(上面有调用哪个扩展点的信息)来选取一个真正的扩展点。\n在Dubbo给定所有的扩展点上调用都有URL参数(整个扩展点网的上下文信息)。自适应扩展即是从URL确定要调用哪个扩展点实现。URL哪个Key的Value用来确定使用哪个扩展点,这个信息通过的@Adaptive注解在方法上说明。\n@Extension\npublic interface Car {\n    @Adaptive({\"http://10.20.160.198/wiki/display/dubbo/car.type\", \"http://10.20.160.198/wiki/display/dubbo/transport.type\"})\n    public run(URL url, Type1 arg1, Type2 arg2);\n}\n\n由于自适应扩展点的上面的约定,ExtensionLoader会为扩展点自动生成自适应扩展点类(通过字节码),并将其实例注入。\nExtensionLoader生成的自适应扩展点类如下:\npackage ;\n\npublic class $Adpative implements  {\n    public () {\n        if(是否有URL类型方法参数?) 使用该URL参数\n        else if(是否有方法类型上有URL属性) 使用该URL属性\n        # \n\n        if(获取的URL == null) {\n            throw new IllegalArgumentException(\"url == null\");\n        }\n\n        根据@Adaptive注解上声明的Key的顺序,从URL获致Value,作为实际扩展点名。\n        如URL没有Value,则使用缺省扩展点实现。如没有扩展点, throw new IllegalStateException(\"Fail to get extension\");\n\n        在扩展点实现调用该方法,并返回结果。\n    }\n\n    public () {\n        throw new UnsupportedOperationException(\"is not adaptive method!\");\n    }\n}\n\n@Adaptive注解使用如下:\n如果URL这些Key都没有Value,使用 用 缺省的扩展(在接口的Default中设定的值)。比如,String[] {\"key1\", \"key2\"},表示\n先在URL上找key1的Value作为要Adapt成的Extension名; \nkey1没有Value,则使用key2的Value作为要Adapt成的Extension名。 key2没有Value,使用缺省的扩展。 如果没有设定缺省扩展,则方法调用会抛出IllegalStateException。 如果不设置则缺省使用Extension接口类名的点分隔小写字串。即对于Extension接口com.alibaba.dubbo.xxx.YyyInvokerWrapper的缺省值为String[] {\"yyy.invoker.wrapper\"}\nCallback功能\n1. 参数回调\n主要原理:在一个Consumer->provider的长连接上,自动在Consumer端暴露一个服务(实现方法参数上声明的接口A),provider端便可反向调用到consumer端的接口实例.\n实现细节:\n\n为了在传输时能够对回调接口实例进行转换,自动暴露与自动引用目前在DubboCodec中实现.此处需要考虑将此逻辑与codec逻辑分离.\n在根据invocation信息获取exporter时,需要判断是否是回调,如果是回调,会从attachments中取得回调服务实例的id,在获取exporter,此处用于consumer端可以对同一个callback接口做不同的实现。\n\n2. 事件通知\n主要原理:Consumer在invoke方法时,判断如果有配置onreturn/onerror...则将onreturn对应的参数值(实例方法)加入到异步调用的回调列表中.\n实现细节:参数的传递采用URL,但URL中没有支持string-object,所以将实例方法存储在staticMap中,此处实现需要进行改造,http://code.alibabatech.com/jira/browse/DUBBO-168\nLazy连接\nDubboProtocol特有功能,默认关闭\n当客户端与服务端创建代理时,暂不建立tcp长连接,当有数据请求时在做连接初始化\n此项功能自动关闭连接重试功能,开启发送重试功能(即发送数据时如果连接已断开,尝试重新建立连接)\n共享连接\nDubboProtocol特有功能,默认开启\nJVM A暴露了多个服务,JVM B引用了A中的多个服务,共享连接是说A与B多个服务调用是通过同一个TCP长连接进行数据传输,已达到减少服务端连接数的目的.\n实现细节:对于同一个地址由于使用了共享连接,那invoker的destroy就需要特别注意,一方面要满足对同一个地址refer的invoker全部destroy后,连接需要关闭,另一方面还需要注意如何避免部分invoker destroy时不能关闭连接。在实现中采用了引用计数的方案,但为了防范,在连接关闭时,重新建立了一个Lazy connection(称为幽灵连接),用于当出现异常场景时,避免影响业务逻辑的正常调用.\nsticky 策略\n有多个服务提供者的情况下,配置了sticky后,在提供者可用的情况下,调用会继续发送到上一次的服务提供者. sticky策略默认开启了连接的lazy选项,用于避免开启无用的连接.\n服务提供者选择逻辑\n\n存在多个服务提供者的情况下,首先根据Loadbalance进行选择,如果选择的provider处于可用状态,则进行后续调用\n如果第一步选择的服务提供者不可用,则从剩余服务提供者列表中继续选择,如果可用,进行后续调用\n如果所有的服务提供者都不可用,重新遍历整个列表(优先从没有选过的列表中选择),判断是否有可用的服务提供者(选择过程中,不可用的服务提供者可能会恢复到可用状态),如果有,则进行后续调用\n如果第三步没有选择出可用的服务提供者,会选第一步选出的invoker中的下一个(如果不是最后一个),避免碰撞.\n\n"},"编码约定.html":{"url":"编码约定.html","title":"10 编码约定","keywords":"","body":"Dubbo 的源代码和 JavaDoc 遵循以下的规范:\n\nCode Conventions for the Java Programming Language\nHow to Write Doc Comments for the Javadoc Tool\n\n异常和日志:\n\n尽可能携带完整的上下文信息,比如出错原因,出错的机器地址,调用对方的地址,连的注册中心地址,使用Dubbo的版本等。\n尽量将直接原因写在最前面,所有上下文信息,在原因后用键值对显示。\n抛出异常的地方不用打印日志,由最终处理异常者决定打印日志的级别,吃掉异常必需打印日志。\n打印ERROR日志表示需要报警,打印WARN日志表示可以自动恢复,打印INFO表示正常信息或完全不影响运行。\n建议应用方在监控中心配置ERROR日志实时报警,WARN日志每周汇总发送通知。\nRpcException是Dubbo对外的唯一异常类型,所有内部异常,如果要抛出给用户,必须转为RpcException。\nRpcException不能有子类型,所有类型信息用ErrorCode标识,以便保持兼容。\n\n配置和URL:\n\n配置对象属性首字母小写,多个单词用驼峰命名(Java约定)。\n配置属性全部用小写,多个单词用\"-\"号分隔(Spring约定)。\nURL参数全部用小写,多个单词用\".\"号分隔(Dubbo约定)。\n尽可能用URL传参,不要自定义Map或其它上下文格式,配置信息也转成URL格式使用。\n尽量减少URL嵌套,保持URL的简洁性。\n\n单元和集成测试:\n\n单元测试统一用JUnit和EasyMock,集成测试用TestNG,数据库测试用DBUnit。\n保持单元测试用例的运行速度,不要将性能和大的集成用例放在单元测试中。\n保持单元测试的每个用例都用try...finally或tearDown释放资源。\n减少while循环等待结果的测试用例,对定时器和网络的测试,用以将定时器中的逻辑抽为方法测试。\n对于容错行为的测试,比如failsafe的测试,统一用LogUtil断言日志输出。\n\n扩展点基类与AOP:\n\nAOP类都命名为XxxWrapper,基类都命名为AbstractXxx。\n扩展点之间的组合将关系由AOP完成,ExtensionLoader只负载加载扩展点,包括AOP扩展。\n尽量采用IoC注入扩展点之间的依赖,不要直接依赖ExtensionLoader的工厂方法。\n尽量采用AOP实现扩展点的通用行为,而不要用基类,比如负载均衡之前的isAvailable检查,它是独立于负载均衡之外的,不需要检查的是URL参数关闭。\n对多种相似类型的抽象,用基类实现,比如RMI,Hessian等第三方协议都已生成了接口代理,只需将将接口代理转成Invoker即可完成桥接,它们可以用公共基类实现此逻辑。\n基类也是SPI的一部分,每个扩展点都应该有方便使用的基类支持。\n\n模块与分包:\n\n基于复用度分包,总是一起使用的放在同一包下,将接口和基类分成独立模块,大的实现也使用独立模块。\n所有接口都放在模块的根包下,基类放在support子包下,不同实现用放在以扩展点名字命名的子包下。\n尽量保持子包依赖父包,而不要反向。\n\n"},"检查列表.html":{"url":"检查列表.html","title":"11 检查列表","keywords":"","body":"发布前checklist\n\njira ticket 过一遍\nsvn change list\nticket关联code\ntest code\nfind bugs\n\n修复时checklist\n\n修复代码前先建ticket \n修复代码前先写测试用例\n需要伙伴检查\ntest code(正常流程/异常流程)\n讲一遍逻辑\n契约文档化\n以上内容都写到ticket的评论上\n代码注释写清楚,用中文无妨\n每个版本要有owner,确保scope和check\n\nPartner Check\n\nPartner以用户的方式运行一下功能\nPartner发现问题、添加测试(集成测试)复现总是;Owner完成实现。(保证两方的时间投入PatternerCheck 的给予时间保证)\nOwner向Partner讲述一遍实现。\n\n"},"设计原则.html":{"url":"设计原则.html","title":"12 设计原则","keywords":"","body":"\n魔鬼在细节中\n一些设计上的基本常识\n谈谈扩充式扩展与增量式扩展\n配置设计\n设计实现的健壮性\n防痴呆设计\n扩展点重构\n\n"}}}
\ No newline at end of file
diff --git "a/developer-guide/\345\205\254\345\205\261\345\245\221\347\272\246.html" "b/developer-guide/\345\205\254\345\205\261\345\245\221\347\272\246.html"
deleted file mode 100644
index 02c33b8..0000000
--- "a/developer-guide/\345\205\254\345\205\261\345\245\221\347\272\246.html"
+++ /dev/null
@@ -1,743 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>8 公共契约 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="坏味道.html" />
-    
-    
-    <link rel="prev" href="技术兼容性测试.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="contribution.html">
-            
-                <a href="contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="版本管理.html">
-            
-                <a href="版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="源码构建.html">
-            
-                <a href="源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="框架设计.html">
-            
-                <a href="框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="扩展点加载.html">
-            
-                <a href="扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="SPI参考手册/introduction.html">
-            
-                <a href="SPI参考手册/introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="SPI参考手册/协议扩展.html">
-            
-                <a href="SPI参考手册/协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="SPI参考手册/调用拦截扩展.html">
-            
-                <a href="SPI参考手册/调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="SPI参考手册/引用监听扩展.html">
-            
-                <a href="SPI参考手册/引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="SPI参考手册/暴露监听扩展.html">
-            
-                <a href="SPI参考手册/暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="SPI参考手册/集群扩展.html">
-            
-                <a href="SPI参考手册/集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="SPI参考手册/路由扩展.html">
-            
-                <a href="SPI参考手册/路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="SPI参考手册/负载均衡扩展.html">
-            
-                <a href="SPI参考手册/负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="SPI参考手册/合并结果扩展.html">
-            
-                <a href="SPI参考手册/合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="SPI参考手册/注册中心扩展.html">
-            
-                <a href="SPI参考手册/注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="SPI参考手册/监控中心扩展.html">
-            
-                <a href="SPI参考手册/监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="SPI参考手册/扩展点加载扩展.html">
-            
-                <a href="SPI参考手册/扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="SPI参考手册/动态代理扩展.html">
-            
-                <a href="SPI参考手册/动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="SPI参考手册/编译器扩展.html">
-            
-                <a href="SPI参考手册/编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="SPI参考手册/消息派发扩展.html">
-            
-                <a href="SPI参考手册/消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="SPI参考手册/线程池扩展.html">
-            
-                <a href="SPI参考手册/线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="SPI参考手册/序列化扩展.html">
-            
-                <a href="SPI参考手册/序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="SPI参考手册/网络传输扩展.html">
-            
-                <a href="SPI参考手册/网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="SPI参考手册/信息交换扩展.html">
-            
-                <a href="SPI参考手册/信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="SPI参考手册/组网扩展.html">
-            
-                <a href="SPI参考手册/组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="SPI参考手册/Telnet命令扩展.html">
-            
-                <a href="SPI参考手册/Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="SPI参考手册/状态检查扩展.html">
-            
-                <a href="SPI参考手册/状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="SPI参考手册/容器扩展.html">
-            
-                <a href="SPI参考手册/容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="SPI参考手册/页面扩展.html">
-            
-                <a href="SPI参考手册/页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="SPI参考手册/缓存扩展.html">
-            
-                <a href="SPI参考手册/缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="SPI参考手册/验证扩展.html">
-            
-                <a href="SPI参考手册/验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="SPI参考手册/日志适配扩展.html">
-            
-                <a href="SPI参考手册/日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="技术兼容性测试.html">
-            
-                <a href="技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.9" data-path="公共契约.html">
-            
-                <a href="公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="坏味道.html">
-            
-                <a href="坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="编码约定.html">
-            
-                <a href="编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="检查列表.html">
-            
-                <a href="检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="设计原则.html">
-            
-                <a href="设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >8 公共契约</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="sources/images/check.gif" alt="warning">&#x8FD9;&#x91CC;&#x8BB0;&#x5F55;&#x7684;&#x662F;Dubbo&#x516C;&#x5171;&#x5951;&#x7EA6;&#xFF0C;&#x5E0C;&#x671B;&#x6240;&#x6709;&#x6269;&#x5C55;&#x70B9;&#x9075;&#x5B88;&#x3002;</p>
-</blockquote>
-<h4 id="url">URL</h4>
-<ul>
-<li>&#x6240;&#x6709;&#x6269;&#x5C55;&#x70B9;&#x53C2;&#x6570;&#x90FD;&#x5305;&#x542B;URL&#x53C2;&#x6570;&#xFF0C;URL&#x4F5C;&#x4E3A;&#x4E0A;&#x4E0B;&#x6587;&#x4FE1;&#x606F;&#x8D2F;&#x7A7F;&#x6574;&#x4E2A;&#x6269;&#x5C55;&#x70B9;&#x8BBE;&#x8BA1;&#x4F53;&#x7CFB;&#x3002;</li>
-<li>URL&#x91C7;&#x7528;&#x6807;&#x51C6;&#x683C;&#x5F0F;&#xFF1A;protocol://username:password@host:port/path?key=value&amp;key=value</li>
-</ul>
-<h4 id="&#x65E5;&#x5FD7;">&#x65E5;&#x5FD7;</h4>
-<ul>
-<li>&#x5982;&#x679C;&#x4E0D;&#x53EF;&#x6062;&#x590D;&#x6216;&#x9700;&#x8981;&#x62A5;&#x8B66;&#xFF0C;&#x6253;&#x5370;ERROR&#x65E5;&#x5FD7;&#x3002;</li>
-<li>&#x5982;&#x679C;&#x53EF;&#x6062;&#x590D;&#x5F02;&#x5E38;&#xFF0C;&#x6216;&#x77AC;&#x65F6;&#x7684;&#x72B6;&#x6001;&#x4E0D;&#x4E00;&#x81F4;&#xFF0C;&#x6253;&#x5370;WARN&#x65E5;&#x5FD7;&#x3002;</li>
-<li>&#x6B63;&#x5E38;&#x8FD0;&#x884C;&#x65F6;&#x7684;&#x4E2D;&#x95F4;&#x72B6;&#x6001;&#x63D0;&#x793A;&#xFF0C;&#x6253;&#x5370;INFO&#x65E5;&#x5FD7;&#x3002;</li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="技术兼容性测试.html" class="navigation navigation-prev " aria-label="Previous page: 7 技术兼容性测试">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="坏味道.html" class="navigation navigation-next " aria-label="Next page: 9 坏味道">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8 公共契约","level":"1.9","depth":1,"next":{"title":"9 坏味道","level":"1.10","depth":1,"path":"坏味道.md","ref":"./坏味道.md","articles":[]},"previous":{"title":"7 技术兼容性测试","level":"1.8","depth":1,"path":"技术兼容性测试.md","ref":"./技术兼容性测试.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"公共契约.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/\345\235\217\345\221\263\351\201\223.html" "b/developer-guide/\345\235\217\345\221\263\351\201\223.html"
deleted file mode 100644
index dff8668..0000000
--- "a/developer-guide/\345\235\217\345\221\263\351\201\223.html"
+++ /dev/null
@@ -1,847 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>9 坏味道 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="编码约定.html" />
-    
-    
-    <link rel="prev" href="公共契约.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="contribution.html">
-            
-                <a href="contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="版本管理.html">
-            
-                <a href="版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="源码构建.html">
-            
-                <a href="源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="框架设计.html">
-            
-                <a href="框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="扩展点加载.html">
-            
-                <a href="扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="SPI参考手册/introduction.html">
-            
-                <a href="SPI参考手册/introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="SPI参考手册/协议扩展.html">
-            
-                <a href="SPI参考手册/协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="SPI参考手册/调用拦截扩展.html">
-            
-                <a href="SPI参考手册/调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="SPI参考手册/引用监听扩展.html">
-            
-                <a href="SPI参考手册/引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="SPI参考手册/暴露监听扩展.html">
-            
-                <a href="SPI参考手册/暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="SPI参考手册/集群扩展.html">
-            
-                <a href="SPI参考手册/集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="SPI参考手册/路由扩展.html">
-            
-                <a href="SPI参考手册/路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="SPI参考手册/负载均衡扩展.html">
-            
-                <a href="SPI参考手册/负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="SPI参考手册/合并结果扩展.html">
-            
-                <a href="SPI参考手册/合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="SPI参考手册/注册中心扩展.html">
-            
-                <a href="SPI参考手册/注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="SPI参考手册/监控中心扩展.html">
-            
-                <a href="SPI参考手册/监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="SPI参考手册/扩展点加载扩展.html">
-            
-                <a href="SPI参考手册/扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="SPI参考手册/动态代理扩展.html">
-            
-                <a href="SPI参考手册/动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="SPI参考手册/编译器扩展.html">
-            
-                <a href="SPI参考手册/编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="SPI参考手册/消息派发扩展.html">
-            
-                <a href="SPI参考手册/消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="SPI参考手册/线程池扩展.html">
-            
-                <a href="SPI参考手册/线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="SPI参考手册/序列化扩展.html">
-            
-                <a href="SPI参考手册/序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="SPI参考手册/网络传输扩展.html">
-            
-                <a href="SPI参考手册/网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="SPI参考手册/信息交换扩展.html">
-            
-                <a href="SPI参考手册/信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="SPI参考手册/组网扩展.html">
-            
-                <a href="SPI参考手册/组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="SPI参考手册/Telnet命令扩展.html">
-            
-                <a href="SPI参考手册/Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="SPI参考手册/状态检查扩展.html">
-            
-                <a href="SPI参考手册/状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="SPI参考手册/容器扩展.html">
-            
-                <a href="SPI参考手册/容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="SPI参考手册/页面扩展.html">
-            
-                <a href="SPI参考手册/页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="SPI参考手册/缓存扩展.html">
-            
-                <a href="SPI参考手册/缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="SPI参考手册/验证扩展.html">
-            
-                <a href="SPI参考手册/验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="SPI参考手册/日志适配扩展.html">
-            
-                <a href="SPI参考手册/日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="技术兼容性测试.html">
-            
-                <a href="技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="公共契约.html">
-            
-                <a href="公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.10" data-path="坏味道.html">
-            
-                <a href="坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="编码约定.html">
-            
-                <a href="编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="检查列表.html">
-            
-                <a href="检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="设计原则.html">
-            
-                <a href="设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >9 坏味道</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="sources/images/warning-3.gif" alt="warning">&#x8FD9;&#x91CC;&#x8BB0;&#x5F55;&#x7684;&#x662F;Dubbo&#x8BBE;&#x8BA1;&#x6216;&#x5B9E;&#x73B0;&#x4E0D;&#x4F18;&#x96C5;&#x7684;&#x5730;&#x65B9;&#x3002;</p>
-</blockquote>
-<h4 id="url&#x8F6C;&#x6362;">URL&#x8F6C;&#x6362;</h4>
-<h5 id="1-&#x70B9;&#x5BF9;&#x70B9;&#x66B4;&#x9732;&#x548C;&#x5F15;&#x7528;&#x670D;&#x52A1;">1. &#x70B9;&#x5BF9;&#x70B9;&#x66B4;&#x9732;&#x548C;&#x5F15;&#x7528;&#x670D;&#x52A1;</h5>
-<p>&#x76F4;&#x63A5;&#x66B4;&#x9732;&#x670D;&#x52A1;&#xFF1A;
-EXPORT(dubbo://provider-address/com.xxx.XxxService?version=1.0.0&quot;)</p>
-<p>&#x70B9;&#x5BF9;&#x70B9;&#x76F4;&#x8FDE;&#x670D;&#x52A1;&#xFF1A;
-REFER(dubbo://provider-address/com.xxx.XxxService?version=1.0.0)</p>
-<h5 id="2-&#x901A;&#x8FC7;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x66B4;&#x9732;&#x670D;&#x52A1;">2. &#x901A;&#x8FC7;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x66B4;&#x9732;&#x670D;&#x52A1;</h5>
-<p>&#x5411;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x66B4;&#x9732;&#x670D;&#x52A1;&#xFF1A;
-EXPORT(registry://registry-address/com.alibaba.dubbo.registry.RegistrySerevice?registry=dubbo&amp;export=ENCODE(dubbo://provider-address/com.xxx.XxxService?version=1.0.0))</p>
-<p>&#x83B7;&#x53D6;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF1A;
-url.setProtocol(url.getParameter(&quot;registry&quot;, &quot;dubbo&quot;))
-GETREGISTRY(dubbo://registry-address/com.alibaba.dubbo.registry.RegistrySerevice)</p>
-<p>&#x6CE8;&#x518C;&#x670D;&#x52A1;&#x5730;&#x5740;&#xFF1A;
-url.getParameterAndDecoded(&quot;export&quot;))
-REGISTER(dubbo://provider-address/com.xxx.XxxService?version=1.0.0)</p>
-<h5 id="3-&#x901A;&#x8FC7;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5F15;&#x7528;&#x670D;&#x52A1;">3. &#x901A;&#x8FC7;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5F15;&#x7528;&#x670D;&#x52A1;</h5>
-<p>&#x4ECE;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x8BA2;&#x9605;&#x670D;&#x52A1;&#xFF1A;
-REFER(registry://registry-address/com.alibaba.dubbo.registry.RegistrySerevice?registry=dubbo&amp;refer=ENCODE(version=1.0.0))</p>
-<p>&#x83B7;&#x53D6;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF1A;
-url.setProtocol(url.getParameter(&quot;registry&quot;, &quot;dubbo&quot;))
-GETREGISTRY(dubbo://registry-address/com.alibaba.dubbo.registry.RegistrySerevice)</p>
-<p>&#x8BA2;&#x9605;&#x670D;&#x52A1;&#x5730;&#x5740;&#xFF1A;
-url.addParameters(url.getParameterAndDecoded(&quot;refer&quot;))
-SUBSCRIBE(dubbo://registry-address/com.xxx.XxxService?version=1.0.0)</p>
-<p>&#x901A;&#x77E5;&#x670D;&#x52A1;&#x5730;&#x5740;&#xFF1A;
-url.addParameters(url.getParameterAndDecoded(&quot;refer&quot;))
-NOTIFY(dubbo://provider-address/com.xxx.XxxService?version=1.0.0)</p>
-<h5 id="4-&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x63A8;&#x9001;&#x8DEF;&#x7531;&#x89C4;&#x5219;">4. &#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x63A8;&#x9001;&#x8DEF;&#x7531;&#x89C4;&#x5219;</h5>
-<p>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#x63A8;&#x9001;&#xFF1A;
-NOTIFY(route://registry-address/com.xxx.XxxService?router=script&amp;type=js&amp;rule=ENCODE(function{...}))</p>
-<p>&#x83B7;&#x53D6;&#x8DEF;&#x7531;&#x5668;&#xFF1A;
-url.setProtocol(url.getParameter(&quot;router&quot;, &quot;script&quot;))
-GETROUTE(script://registry-address/com.xxx.XxxService?type=js&amp;rule=ENCODE(function{...}))</p>
-<h5 id="5-&#x4ECE;&#x6587;&#x4EF6;&#x52A0;&#x8F7D;&#x8DEF;&#x7531;&#x89C4;&#x5219;">5. &#x4ECE;&#x6587;&#x4EF6;&#x52A0;&#x8F7D;&#x8DEF;&#x7531;&#x89C4;&#x5219;</h5>
-<p>&#x4ECE;&#x6587;&#x4EF6;&#x52A0;&#x8F7D;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#xFF1A;
-GETROUTE(file://path/file.js?router=script)</p>
-<p>&#x83B7;&#x53D6;&#x8DEF;&#x7531;&#x5668;&#xFF1A;
-url.setProtocol(url.getParameter(&quot;router&quot;, &quot;script&quot;)).addParameter(&quot;type&quot;, SUFFIX(file)).addParameter(&quot;rule&quot;, READ(file))
-GETROUTE(script://path/file.js?type=js&amp;rule=ENCODE(function{...}))</p>
-<h4 id="&#x8C03;&#x7528;&#x53C2;&#x6570;">&#x8C03;&#x7528;&#x53C2;&#x6570;</h4>
-<ul>
-<li>path &#x670D;&#x52A1;&#x8DEF;&#x5F84;</li>
-<li>group &#x670D;&#x52A1;&#x5206;&#x7EC4;</li>
-<li>version &#x670D;&#x52A1;&#x7248;&#x672C;</li>
-<li>dubbo &#x4F7F;&#x7528;&#x7684;dubbo&#x7248;&#x672C;</li>
-<li>token &#x9A8C;&#x8BC1;&#x4EE4;&#x724C;</li>
-<li>timeout &#x8C03;&#x7528;&#x8D85;&#x65F6;</li>
-</ul>
-<h4 id="&#x6269;&#x5C55;&#x70B9;&#x7684;&#x52A0;&#x8F7D;">&#x6269;&#x5C55;&#x70B9;&#x7684;&#x52A0;&#x8F7D;</h4>
-<h5 id="1-&#x81EA;&#x9002;&#x5E94;&#x6269;&#x5C55;&#x70B9;">1. &#x81EA;&#x9002;&#x5E94;&#x6269;&#x5C55;&#x70B9;</h5>
-<p>ExtensionLoader&#x52A0;&#x8F7D;&#x6269;&#x5C55;&#x70B9;&#x65F6;&#xFF0C;&#x4F1A;&#x68C0;&#x67E5;&#x6269;&#x5C55;&#x70B9;&#x7684;&#x5C5E;&#x6027;&#xFF08;&#x901A;&#x8FC7;set&#x65B9;&#x6CD5;&#x5224;&#x65AD;&#xFF09;&#xFF0C;&#x5982;&#x8BE5;&#x5C5E;&#x6027;&#x662F;&#x6269;&#x5C55;&#x70B9;&#x7C7B;&#x578B;&#xFF0C;&#x5219;&#x4F1A;&#x6CE8;&#x5165;&#x6269;&#x5C55;&#x70B9;&#x5BF9;&#x8C61;&#x3002;&#x56E0;&#x4E3A;&#x6CE8;&#x5165;&#x65F6;&#x4E0D;&#x80FD;&#x786E;&#x5B9A;&#x4F7F;&#x7528;&#x54EA;&#x4E2A;&#x6269;&#x5C55;&#x70B9;&#xFF08;&#x5728;&#x4F7F;&#x7528;&#x65F6;&#x786E;&#x5B9A;&#xFF09;&#xFF0C;&#x6240;&#x4EE5;&#x6CE8;&#x5165;&#x7684;&#x662F;&#x4E00;&#x4E2A;&#x81EA;&#x9002;&#x5E94;&#x6269;&#x5C55;&#xFF08;&#x4E00;&#x4E2A;&#x4EE3;&#x7406;&#xFF09;&#x3002;&#x81EA;&#x9002;&#x5E94;&#x6269;&#x5C55;&#x70B9;&#x8C03;&#x7528;&#x65F6;&#xFF0C;&#x9009;&#x53D6;&#x4E00;&#x4E2A;&#x771F;&#x6B63;&#x7684;&#x6269;&#x5C55;&#x70B9;&#xFF0C;&#x5E76;&#x4EE3;&#x7406;&#x5230;&#x5176;&#x4E0A;&#x5B8C;&#x6210;&#x8C03;&#x7528;&#x3002;Dubbo&#x662F;&#x6839;&#x636E;&#x8C03;&#x7528;&#x65B9;&#x6CD5;&#x53C2;&#x6570;&#xFF08;&#x4E0A;&#x9762;&#x6709;&#x8C03;&#x7528;&#x54EA;&#x4E2A;&#x6269;&#x5C55;&#x70B9;&#x7684;&#x4FE1;&#x606F;&#xFF09;&#x6765;&#x9009;&#x53D6;&#x4E00;&#x4E2A;&#x771F;&#x6B63;&#x7684;&#x6269;&#x5C55;&#x70B9;&#x3002;</p>
-<p>&#x5728;Dubbo&#x7ED9;&#x5B9A;&#x6240;&#x6709;&#x7684;&#x6269;&#x5C55;&#x70B9;&#x4E0A;&#x8C03;&#x7528;&#x90FD;&#x6709;URL&#x53C2;&#x6570;&#xFF08;&#x6574;&#x4E2A;&#x6269;&#x5C55;&#x70B9;&#x7F51;&#x7684;&#x4E0A;&#x4E0B;&#x6587;&#x4FE1;&#x606F;&#xFF09;&#x3002;&#x81EA;&#x9002;&#x5E94;&#x6269;&#x5C55;&#x5373;&#x662F;&#x4ECE;URL&#x786E;&#x5B9A;&#x8981;&#x8C03;&#x7528;&#x54EA;&#x4E2A;&#x6269;&#x5C55;&#x70B9;&#x5B9E;&#x73B0;&#x3002;URL&#x54EA;&#x4E2A;Key&#x7684;Value&#x7528;&#x6765;&#x786E;&#x5B9A;&#x4F7F;&#x7528;&#x54EA;&#x4E2A;&#x6269;&#x5C55;&#x70B9;&#xFF0C;&#x8FD9;&#x4E2A;&#x4FE1;&#x606F;&#x901A;&#x8FC7;&#x7684;@Adaptive&#x6CE8;&#x89E3;&#x5728;&#x65B9;&#x6CD5;&#x4E0A;&#x8BF4;&#x660E;&#x3002;</p>
-<pre><code class="lang-java"><span class="hljs-meta">@Extension</span>
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">Car</span> </span>{
-    <span class="hljs-meta">@Adaptive</span>({<span class="hljs-string">&quot;http://10.20.160.198/wiki/display/dubbo/car.type&quot;</span>, <span class="hljs-string">&quot;http://10.20.160.198/wiki/display/dubbo/transport.type&quot;</span>})
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">run</span><span class="hljs-params">(URL url, Type1 arg1, Type2 arg2)</span></span>;
-}
-</code></pre>
-<p>&#x7531;&#x4E8E;&#x81EA;&#x9002;&#x5E94;&#x6269;&#x5C55;&#x70B9;&#x7684;&#x4E0A;&#x9762;&#x7684;&#x7EA6;&#x5B9A;&#xFF0C;ExtensionLoader&#x4F1A;&#x4E3A;&#x6269;&#x5C55;&#x70B9;&#x81EA;&#x52A8;&#x751F;&#x6210;&#x81EA;&#x9002;&#x5E94;&#x6269;&#x5C55;&#x70B9;&#x7C7B;(&#x901A;&#x8FC7;&#x5B57;&#x8282;&#x7801;)&#xFF0C;&#x5E76;&#x5C06;&#x5176;&#x5B9E;&#x4F8B;&#x6CE8;&#x5165;&#x3002;</p>
-<p>ExtensionLoader&#x751F;&#x6210;&#x7684;&#x81EA;&#x9002;&#x5E94;&#x6269;&#x5C55;&#x70B9;&#x7C7B;&#x5982;&#x4E0B;&#xFF1A;</p>
-<pre><code class="lang-java">package &lt;&#x6269;&#x5C55;&#x70B9;&#x63A5;&#x53E3;&#x6240;&#x5728;&#x5305;&gt;;
-
-public class &lt;&#x6269;&#x5C55;&#x70B9;&#x63A5;&#x53E3;&#x540D;&gt;$Adpative implements &lt;&#x6269;&#x5C55;&#x70B9;&#x63A5;&#x53E3;&gt; {
-    public &lt;&#x6709;@Adaptive&#x6CE8;&#x89E3;&#x7684;&#x63A5;&#x53E3;&#x65B9;&#x6CD5;&gt;(&lt;&#x65B9;&#x6CD5;&#x53C2;&#x6570;&gt;) {
-        if(&#x662F;&#x5426;&#x6709;URL&#x7C7B;&#x578B;&#x65B9;&#x6CD5;&#x53C2;&#x6570;?) &#x4F7F;&#x7528;&#x8BE5;URL&#x53C2;&#x6570;
-        else if(&#x662F;&#x5426;&#x6709;&#x65B9;&#x6CD5;&#x7C7B;&#x578B;&#x4E0A;&#x6709;URL&#x5C5E;&#x6027;) &#x4F7F;&#x7528;&#x8BE5;URL&#x5C5E;&#x6027;
-        # &lt;else &#x5728;&#x52A0;&#x8F7D;&#x6269;&#x5C55;&#x70B9;&#x751F;&#x6210;&#x81EA;&#x9002;&#x5E94;&#x6269;&#x5C55;&#x70B9;&#x7C7B;&#x65F6;&#x629B;&#x5F02;&#x5E38;&#xFF0C;&#x5373;&#x52A0;&#x8F7D;&#x6269;&#x5C55;&#x70B9;&#x5931;&#x8D25;&#xFF01;&gt;
-
-        if(&#x83B7;&#x53D6;&#x7684;URL == null) {
-            throw new IllegalArgumentException(&quot;url == null&quot;);
-        }
-
-        &#x6839;&#x636E;@Adaptive&#x6CE8;&#x89E3;&#x4E0A;&#x58F0;&#x660E;&#x7684;Key&#x7684;&#x987A;&#x5E8F;&#xFF0C;&#x4ECE;URL&#x83B7;&#x81F4;Value&#xFF0C;&#x4F5C;&#x4E3A;&#x5B9E;&#x9645;&#x6269;&#x5C55;&#x70B9;&#x540D;&#x3002;
-        &#x5982;URL&#x6CA1;&#x6709;Value&#xFF0C;&#x5219;&#x4F7F;&#x7528;&#x7F3A;&#x7701;&#x6269;&#x5C55;&#x70B9;&#x5B9E;&#x73B0;&#x3002;&#x5982;&#x6CA1;&#x6709;&#x6269;&#x5C55;&#x70B9;&#xFF0C; throw new IllegalStateException(&quot;Fail to get extension&quot;);
-
-        &#x5728;&#x6269;&#x5C55;&#x70B9;&#x5B9E;&#x73B0;&#x8C03;&#x7528;&#x8BE5;&#x65B9;&#x6CD5;&#xFF0C;&#x5E76;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#x3002;
-    }
-
-    public &lt;&#x6709;@Adaptive&#x6CE8;&#x89E3;&#x7684;&#x63A5;&#x53E3;&#x65B9;&#x6CD5;&gt;(&lt;&#x65B9;&#x6CD5;&#x53C2;&#x6570;&gt;) {
-        throw new UnsupportedOperationException(&quot;is not adaptive method!&quot;);
-    }
-}
-</code></pre>
-<p>@Adaptive&#x6CE8;&#x89E3;&#x4F7F;&#x7528;&#x5982;&#x4E0B;&#xFF1A;</p>
-<p>&#x5982;&#x679C;URL&#x8FD9;&#x4E9B;Key&#x90FD;&#x6CA1;&#x6709;Value&#xFF0C;&#x4F7F;&#x7528; &#x7528; &#x7F3A;&#x7701;&#x7684;&#x6269;&#x5C55;&#xFF08;&#x5728;&#x63A5;&#x53E3;&#x7684;Default&#x4E2D;&#x8BBE;&#x5B9A;&#x7684;&#x503C;&#xFF09;&#x3002;&#x6BD4;&#x5982;&#xFF0C;String[] {&quot;key1&quot;, &quot;key2&quot;}&#xFF0C;&#x8868;&#x793A;</p>
-<p>&#x5148;&#x5728;URL&#x4E0A;&#x627E;key1&#x7684;Value&#x4F5C;&#x4E3A;&#x8981;Adapt&#x6210;&#x7684;Extension&#x540D;&#xFF1B; 
-key1&#x6CA1;&#x6709;Value&#xFF0C;&#x5219;&#x4F7F;&#x7528;key2&#x7684;Value&#x4F5C;&#x4E3A;&#x8981;Adapt&#x6210;&#x7684;Extension&#x540D;&#x3002; key2&#x6CA1;&#x6709;Value&#xFF0C;&#x4F7F;&#x7528;&#x7F3A;&#x7701;&#x7684;&#x6269;&#x5C55;&#x3002; &#x5982;&#x679C;&#x6CA1;&#x6709;&#x8BBE;&#x5B9A;&#x7F3A;&#x7701;&#x6269;&#x5C55;&#xFF0C;&#x5219;&#x65B9;&#x6CD5;&#x8C03;&#x7528;&#x4F1A;&#x629B;&#x51FA;IllegalStateException&#x3002; &#x5982;&#x679C;&#x4E0D;&#x8BBE;&#x7F6E;&#x5219;&#x7F3A;&#x7701;&#x4F7F;&#x7528;Extension&#x63A5;&#x53E3;&#x7C7B;&#x540D;&#x7684;&#x70B9;&#x5206;&#x9694;&#x5C0F;&#x5199;&#x5B57;&#x4E32;&#x3002;&#x5373;&#x5BF9;&#x4E8E;Extension&#x63A5;&#x53E3;com.alibaba.dubbo.xxx.YyyInvokerWrapper&#x7684;&#x7F3A;&#x7701;&#x503C;&#x4E3A;String[] {&quot;yyy.invoker.wrapper&quot;}</p>
-<h4 id="callback&#x529F;&#x80FD;">Callback&#x529F;&#x80FD;</h4>
-<h5 id="1-&#x53C2;&#x6570;&#x56DE;&#x8C03;">1. &#x53C2;&#x6570;&#x56DE;&#x8C03;</h5>
-<p>&#x4E3B;&#x8981;&#x539F;&#x7406;:&#x5728;&#x4E00;&#x4E2A;Consumer-&gt;provider&#x7684;&#x957F;&#x8FDE;&#x63A5;&#x4E0A;&#xFF0C;&#x81EA;&#x52A8;&#x5728;Consumer&#x7AEF;&#x66B4;&#x9732;&#x4E00;&#x4E2A;&#x670D;&#x52A1;&#xFF08;&#x5B9E;&#x73B0;&#x65B9;&#x6CD5;&#x53C2;&#x6570;&#x4E0A;&#x58F0;&#x660E;&#x7684;&#x63A5;&#x53E3;A&#xFF09;&#xFF0C;provider&#x7AEF;&#x4FBF;&#x53EF;&#x53CD;&#x5411;&#x8C03;&#x7528;&#x5230;consumer&#x7AEF;&#x7684;&#x63A5;&#x53E3;&#x5B9E;&#x4F8B;.</p>
-<p>&#x5B9E;&#x73B0;&#x7EC6;&#x8282;&#xFF1A;</p>
-<ul>
-<li>&#x4E3A;&#x4E86;&#x5728;&#x4F20;&#x8F93;&#x65F6;&#x80FD;&#x591F;&#x5BF9;&#x56DE;&#x8C03;&#x63A5;&#x53E3;&#x5B9E;&#x4F8B;&#x8FDB;&#x884C;&#x8F6C;&#x6362;&#xFF0C;&#x81EA;&#x52A8;&#x66B4;&#x9732;&#x4E0E;&#x81EA;&#x52A8;&#x5F15;&#x7528;&#x76EE;&#x524D;&#x5728;DubboCodec&#x4E2D;&#x5B9E;&#x73B0;.&#x6B64;&#x5904;&#x9700;&#x8981;&#x8003;&#x8651;&#x5C06;&#x6B64;&#x903B;&#x8F91;&#x4E0E;codec&#x903B;&#x8F91;&#x5206;&#x79BB;.</li>
-<li>&#x5728;&#x6839;&#x636E;invocation&#x4FE1;&#x606F;&#x83B7;&#x53D6;exporter&#x65F6;&#xFF0C;&#x9700;&#x8981;&#x5224;&#x65AD;&#x662F;&#x5426;&#x662F;&#x56DE;&#x8C03;&#xFF0C;&#x5982;&#x679C;&#x662F;&#x56DE;&#x8C03;&#xFF0C;&#x4F1A;&#x4ECE;attachments&#x4E2D;&#x53D6;&#x5F97;&#x56DE;&#x8C03;&#x670D;&#x52A1;&#x5B9E;&#x4F8B;&#x7684;id&#xFF0C;&#x5728;&#x83B7;&#x53D6;exporter&#xFF0C;&#x6B64;&#x5904;&#x7528;&#x4E8E;consumer&#x7AEF;&#x53EF;&#x4EE5;&#x5BF9;&#x540C;&#x4E00;&#x4E2A;callback&#x63A5;&#x53E3;&#x505A;&#x4E0D;&#x540C;&#x7684;&#x5B9E;&#x73B0;&#x3002;</li>
-</ul>
-<h5 id="2-&#x4E8B;&#x4EF6;&#x901A;&#x77E5;">2. &#x4E8B;&#x4EF6;&#x901A;&#x77E5;</h5>
-<p>&#x4E3B;&#x8981;&#x539F;&#x7406;&#xFF1A;Consumer&#x5728;invoke&#x65B9;&#x6CD5;&#x65F6;&#xFF0C;&#x5224;&#x65AD;&#x5982;&#x679C;&#x6709;&#x914D;&#x7F6E;onreturn/onerror...&#x5219;&#x5C06;onreturn&#x5BF9;&#x5E94;&#x7684;&#x53C2;&#x6570;&#x503C;(&#x5B9E;&#x4F8B;&#x65B9;&#x6CD5;)&#x52A0;&#x5165;&#x5230;&#x5F02;&#x6B65;&#x8C03;&#x7528;&#x7684;&#x56DE;&#x8C03;&#x5217;&#x8868;&#x4E2D;.</p>
-<p>&#x5B9E;&#x73B0;&#x7EC6;&#x8282;&#xFF1A;&#x53C2;&#x6570;&#x7684;&#x4F20;&#x9012;&#x91C7;&#x7528;URL&#xFF0C;&#x4F46;URL&#x4E2D;&#x6CA1;&#x6709;&#x652F;&#x6301;string-object&#xFF0C;&#x6240;&#x4EE5;&#x5C06;&#x5B9E;&#x4F8B;&#x65B9;&#x6CD5;&#x5B58;&#x50A8;&#x5728;staticMap&#x4E2D;&#xFF0C;&#x6B64;&#x5904;&#x5B9E;&#x73B0;&#x9700;&#x8981;&#x8FDB;&#x884C;&#x6539;&#x9020;&#xFF0C;<a href="http://code.alibabatech.com/jira/browse/DUBBO-168" target="_blank">http://code.alibabatech.com/jira/browse/DUBBO-168</a></p>
-<h4 id="lazy&#x8FDE;&#x63A5;">Lazy&#x8FDE;&#x63A5;</h4>
-<p>DubboProtocol&#x7279;&#x6709;&#x529F;&#x80FD;&#xFF0C;&#x9ED8;&#x8BA4;&#x5173;&#x95ED;</p>
-<p>&#x5F53;&#x5BA2;&#x6237;&#x7AEF;&#x4E0E;&#x670D;&#x52A1;&#x7AEF;&#x521B;&#x5EFA;&#x4EE3;&#x7406;&#x65F6;&#xFF0C;&#x6682;&#x4E0D;&#x5EFA;&#x7ACB;tcp&#x957F;&#x8FDE;&#x63A5;&#xFF0C;&#x5F53;&#x6709;&#x6570;&#x636E;&#x8BF7;&#x6C42;&#x65F6;&#x5728;&#x505A;&#x8FDE;&#x63A5;&#x521D;&#x59CB;&#x5316;</p>
-<p>&#x6B64;&#x9879;&#x529F;&#x80FD;&#x81EA;&#x52A8;&#x5173;&#x95ED;&#x8FDE;&#x63A5;&#x91CD;&#x8BD5;&#x529F;&#x80FD;&#xFF0C;&#x5F00;&#x542F;&#x53D1;&#x9001;&#x91CD;&#x8BD5;&#x529F;&#x80FD;&#xFF08;&#x5373;&#x53D1;&#x9001;&#x6570;&#x636E;&#x65F6;&#x5982;&#x679C;&#x8FDE;&#x63A5;&#x5DF2;&#x65AD;&#x5F00;&#xFF0C;&#x5C1D;&#x8BD5;&#x91CD;&#x65B0;&#x5EFA;&#x7ACB;&#x8FDE;&#x63A5;&#xFF09;</p>
-<h4 id="&#x5171;&#x4EAB;&#x8FDE;&#x63A5;">&#x5171;&#x4EAB;&#x8FDE;&#x63A5;</h4>
-<p>DubboProtocol&#x7279;&#x6709;&#x529F;&#x80FD;&#xFF0C;&#x9ED8;&#x8BA4;&#x5F00;&#x542F;</p>
-<p>JVM A&#x66B4;&#x9732;&#x4E86;&#x591A;&#x4E2A;&#x670D;&#x52A1;&#xFF0C;JVM B&#x5F15;&#x7528;&#x4E86;A&#x4E2D;&#x7684;&#x591A;&#x4E2A;&#x670D;&#x52A1;&#xFF0C;&#x5171;&#x4EAB;&#x8FDE;&#x63A5;&#x662F;&#x8BF4;A&#x4E0E;B&#x591A;&#x4E2A;&#x670D;&#x52A1;&#x8C03;&#x7528;&#x662F;&#x901A;&#x8FC7;&#x540C;&#x4E00;&#x4E2A;TCP&#x957F;&#x8FDE;&#x63A5;&#x8FDB;&#x884C;&#x6570;&#x636E;&#x4F20;&#x8F93;&#xFF0C;&#x5DF2;&#x8FBE;&#x5230;&#x51CF;&#x5C11;&#x670D;&#x52A1;&#x7AEF;&#x8FDE;&#x63A5;&#x6570;&#x7684;&#x76EE;&#x7684;.</p>
-<p>&#x5B9E;&#x73B0;&#x7EC6;&#x8282;&#xFF1A;&#x5BF9;&#x4E8E;&#x540C;&#x4E00;&#x4E2A;&#x5730;&#x5740;&#x7531;&#x4E8E;&#x4F7F;&#x7528;&#x4E86;&#x5171;&#x4EAB;&#x8FDE;&#x63A5;&#xFF0C;&#x90A3;invoker&#x7684;destroy&#x5C31;&#x9700;&#x8981;&#x7279;&#x522B;&#x6CE8;&#x610F;&#xFF0C;&#x4E00;&#x65B9;&#x9762;&#x8981;&#x6EE1;&#x8DB3;&#x5BF9;&#x540C;&#x4E00;&#x4E2A;&#x5730;&#x5740;refer&#x7684;invoker&#x5168;&#x90E8;destroy&#x540E;&#xFF0C;&#x8FDE;&#x63A5;&#x9700;&#x8981;&#x5173;&#x95ED;&#xFF0C;&#x53E6;&#x4E00;&#x65B9;&#x9762;&#x8FD8;&#x9700;&#x8981;&#x6CE8;&#x610F;&#x5982;&#x4F55;&#x907F;&#x514D;&#x90E8;&#x5206;invoker destroy&#x65F6;&#x4E0D;&#x80FD;&#x5173;&#x95ED;&#x8FDE;&#x63A5;&#x3002;&#x5728;&#x5B9E;&#x73B0;&#x4E2D;&#x91C7;&#x7528;&#x4E86;&#x5F15;&#x7528;&#x8BA1;&#x6570;&#x7684;&#x65B9;&#x6848;&#xFF0C;&#x4F46;&#x4E3A;&#x4E86;&#x9632;&#x8303;&#xFF0C;&#x5728;&#x8FDE;&#x63A5;&#x5173;&#x95ED;&#x65F6;&#xFF0C;&#x91CD;&#x65B0;&#x5EFA;&#x7ACB;&#x4E86;&#x4E00;&#x4E2A;Lazy connection(&#x79F0;&#x4E3A;&#x5E7D;&#x7075;&#x8FDE;&#x63A5;),&#x7528;&#x4E8E;&#x5F53;&#x51FA;&#x73B0;&#x5F02;&#x5E38;&#x573A;&#x666F;&#x65F6;&#xFF0C;&#x907F;&#x514D;&#x5F71;&#x54CD;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x7684;&#x6B63;&#x5E38;&#x8C03;&#x7528;.</p>
-<h4 id="sticky-&#x7B56;&#x7565;">sticky &#x7B56;&#x7565;</h4>
-<p>&#x6709;&#x591A;&#x4E2A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x914D;&#x7F6E;&#x4E86;sticky&#x540E;&#xFF0C;&#x5728;&#x63D0;&#x4F9B;&#x8005;&#x53EF;&#x7528;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x8C03;&#x7528;&#x4F1A;&#x7EE7;&#x7EED;&#x53D1;&#x9001;&#x5230;&#x4E0A;&#x4E00;&#x6B21;&#x7684;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;. sticky&#x7B56;&#x7565;&#x9ED8;&#x8BA4;&#x5F00;&#x542F;&#x4E86;&#x8FDE;&#x63A5;&#x7684;lazy&#x9009;&#x9879;,&#x7528;&#x4E8E;&#x907F;&#x514D;&#x5F00;&#x542F;&#x65E0;&#x7528;&#x7684;&#x8FDE;&#x63A5;.</p>
-<h4 id="&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x9009;&#x62E9;&#x903B;&#x8F91;">&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x9009;&#x62E9;&#x903B;&#x8F91;</h4>
-<ol>
-<li>&#x5B58;&#x5728;&#x591A;&#x4E2A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x9996;&#x5148;&#x6839;&#x636E;Loadbalance&#x8FDB;&#x884C;&#x9009;&#x62E9;&#xFF0C;&#x5982;&#x679C;&#x9009;&#x62E9;&#x7684;provider&#x5904;&#x4E8E;&#x53EF;&#x7528;&#x72B6;&#x6001;&#xFF0C;&#x5219;&#x8FDB;&#x884C;&#x540E;&#x7EED;&#x8C03;&#x7528;</li>
-<li>&#x5982;&#x679C;&#x7B2C;&#x4E00;&#x6B65;&#x9009;&#x62E9;&#x7684;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x4E0D;&#x53EF;&#x7528;&#xFF0C;&#x5219;&#x4ECE;&#x5269;&#x4F59;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5217;&#x8868;&#x4E2D;&#x7EE7;&#x7EED;&#x9009;&#x62E9;&#xFF0C;&#x5982;&#x679C;&#x53EF;&#x7528;&#xFF0C;&#x8FDB;&#x884C;&#x540E;&#x7EED;&#x8C03;&#x7528;</li>
-<li>&#x5982;&#x679C;&#x6240;&#x6709;&#x7684;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x90FD;&#x4E0D;&#x53EF;&#x7528;&#xFF0C;&#x91CD;&#x65B0;&#x904D;&#x5386;&#x6574;&#x4E2A;&#x5217;&#x8868;&#xFF08;&#x4F18;&#x5148;&#x4ECE;&#x6CA1;&#x6709;&#x9009;&#x8FC7;&#x7684;&#x5217;&#x8868;&#x4E2D;&#x9009;&#x62E9;&#xFF09;&#xFF0C;&#x5224;&#x65AD;&#x662F;&#x5426;&#x6709;&#x53EF;&#x7528;&#x7684;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#xFF08;&#x9009;&#x62E9;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;&#x4E0D;&#x53EF;&#x7528;&#x7684;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x53EF;&#x80FD;&#x4F1A;&#x6062;&#x590D;&#x5230;&#x53EF;&#x7528;&#x72B6;&#x6001;&#xFF09;&#xFF0C;&#x5982;&#x679C;&#x6709;&#xFF0C;&#x5219;&#x8FDB;&#x884C;&#x540E;&#x7EED;&#x8C03;&#x7528;</li>
-<li>&#x5982;&#x679C;&#x7B2C;&#x4E09;&#x6B65;&#x6CA1;&#x6709;&#x9009;&#x62E9;&#x51FA;&#x53EF;&#x7528;&#x7684;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x4F1A;&#x9009;&#x7B2C;&#x4E00;&#x6B65;&#x9009;&#x51FA;&#x7684;invoker&#x4E2D;&#x7684;&#x4E0B;&#x4E00;&#x4E2A;&#xFF08;&#x5982;&#x679C;&#x4E0D;&#x662F;&#x6700;&#x540E;&#x4E00;&#x4E2A;&#xFF09;&#xFF0C;&#x907F;&#x514D;&#x78B0;&#x649E;.</li>
-</ol>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="公共契约.html" class="navigation navigation-prev " aria-label="Previous page: 8 公共契约">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="编码约定.html" class="navigation navigation-next " aria-label="Next page: 10 编码约定">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9 坏味道","level":"1.10","depth":1,"next":{"title":"10 编码约定","level":"1.11","depth":1,"path":"编码约定.md","ref":"./编码约定.md","articles":[]},"previous":{"title":"8 公共契约","level":"1.9","depth":1,"path":"公共契约.md","ref":"./公共契约.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"坏味道.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/\346\211\251\345\261\225\347\202\271\345\212\240\350\275\275.html" "b/developer-guide/\346\211\251\345\261\225\347\202\271\345\212\240\350\275\275.html"
deleted file mode 100644
index 1a465f0..0000000
--- "a/developer-guide/\346\211\251\345\261\225\347\202\271\345\212\240\350\275\275.html"
+++ /dev/null
@@ -1,899 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>5 扩展点加载 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="SPI参考手册/introduction.html" />
-    
-    
-    <link rel="prev" href="框架设计.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="contribution.html">
-            
-                <a href="contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="版本管理.html">
-            
-                <a href="版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="源码构建.html">
-            
-                <a href="源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="框架设计.html">
-            
-                <a href="框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.6" data-path="扩展点加载.html">
-            
-                <a href="扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="SPI参考手册/introduction.html">
-            
-                <a href="SPI参考手册/introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="SPI参考手册/协议扩展.html">
-            
-                <a href="SPI参考手册/协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="SPI参考手册/调用拦截扩展.html">
-            
-                <a href="SPI参考手册/调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="SPI参考手册/引用监听扩展.html">
-            
-                <a href="SPI参考手册/引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="SPI参考手册/暴露监听扩展.html">
-            
-                <a href="SPI参考手册/暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="SPI参考手册/集群扩展.html">
-            
-                <a href="SPI参考手册/集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="SPI参考手册/路由扩展.html">
-            
-                <a href="SPI参考手册/路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="SPI参考手册/负载均衡扩展.html">
-            
-                <a href="SPI参考手册/负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="SPI参考手册/合并结果扩展.html">
-            
-                <a href="SPI参考手册/合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="SPI参考手册/注册中心扩展.html">
-            
-                <a href="SPI参考手册/注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="SPI参考手册/监控中心扩展.html">
-            
-                <a href="SPI参考手册/监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="SPI参考手册/扩展点加载扩展.html">
-            
-                <a href="SPI参考手册/扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="SPI参考手册/动态代理扩展.html">
-            
-                <a href="SPI参考手册/动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="SPI参考手册/编译器扩展.html">
-            
-                <a href="SPI参考手册/编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="SPI参考手册/消息派发扩展.html">
-            
-                <a href="SPI参考手册/消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="SPI参考手册/线程池扩展.html">
-            
-                <a href="SPI参考手册/线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="SPI参考手册/序列化扩展.html">
-            
-                <a href="SPI参考手册/序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="SPI参考手册/网络传输扩展.html">
-            
-                <a href="SPI参考手册/网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="SPI参考手册/信息交换扩展.html">
-            
-                <a href="SPI参考手册/信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="SPI参考手册/组网扩展.html">
-            
-                <a href="SPI参考手册/组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="SPI参考手册/Telnet命令扩展.html">
-            
-                <a href="SPI参考手册/Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="SPI参考手册/状态检查扩展.html">
-            
-                <a href="SPI参考手册/状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="SPI参考手册/容器扩展.html">
-            
-                <a href="SPI参考手册/容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="SPI参考手册/页面扩展.html">
-            
-                <a href="SPI参考手册/页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="SPI参考手册/缓存扩展.html">
-            
-                <a href="SPI参考手册/缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="SPI参考手册/验证扩展.html">
-            
-                <a href="SPI参考手册/验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="SPI参考手册/日志适配扩展.html">
-            
-                <a href="SPI参考手册/日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="技术兼容性测试.html">
-            
-                <a href="技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="公共契约.html">
-            
-                <a href="公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="坏味道.html">
-            
-                <a href="坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="编码约定.html">
-            
-                <a href="编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="检查列表.html">
-            
-                <a href="检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="设计原则.html">
-            
-                <a href="设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >5 扩展点加载</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h4 id="&#x6269;&#x5C55;&#x70B9;&#x914D;&#x7F6E;">&#x6269;&#x5C55;&#x70B9;&#x914D;&#x7F6E;</h4>
-<h5 id="&#x6765;&#x6E90;&#xFF1A;">&#x6765;&#x6E90;&#xFF1A;</h5>
-<p>Dubbo&#x7684;&#x6269;&#x5C55;&#x70B9;&#x52A0;&#x8F7D;&#x4ECE;JDK&#x6807;&#x51C6;&#x7684;SPI(Service Provider Interface)&#x6269;&#x5C55;&#x70B9;&#x53D1;&#x73B0;&#x673A;&#x5236;&#x52A0;&#x5F3A;&#x800C;&#x6765;&#x3002;</p>
-<p>Dubbo&#x6539;&#x8FDB;&#x4E86;JDK&#x6807;&#x51C6;&#x7684;SPI&#x7684;&#x4EE5;&#x4E0B;&#x95EE;&#x9898;&#xFF1A;</p>
-<ul>
-<li>JDK&#x6807;&#x51C6;&#x7684;SPI&#x4F1A;&#x4E00;&#x6B21;&#x6027;&#x5B9E;&#x4F8B;&#x5316;&#x6269;&#x5C55;&#x70B9;&#x6240;&#x6709;&#x5B9E;&#x73B0;&#xFF0C;&#x5982;&#x679C;&#x6709;&#x6269;&#x5C55;&#x5B9E;&#x73B0;&#x521D;&#x59CB;&#x5316;&#x5F88;&#x8017;&#x65F6;&#xFF0C;&#x4F46;&#x5982;&#x679C;&#x6CA1;&#x7528;&#x4E0A;&#x4E5F;&#x52A0;&#x8F7D;&#xFF0C;&#x4F1A;&#x5F88;&#x6D6A;&#x8D39;&#x8D44;&#x6E90;&#x3002;</li>
-<li>&#x5982;&#x679C;&#x6269;&#x5C55;&#x70B9;&#x52A0;&#x8F7D;&#x5931;&#x8D25;&#xFF0C;&#x8FDE;&#x6269;&#x5C55;&#x70B9;&#x7684;&#x540D;&#x79F0;&#x90FD;&#x62FF;&#x4E0D;&#x5230;&#x4E86;&#x3002;&#x6BD4;&#x5982;&#xFF1A;JDK&#x6807;&#x51C6;&#x7684;ScriptEngine&#xFF0C;&#x901A;&#x8FC7; <code>getName()</code> &#x83B7;&#x53D6;&#x811A;&#x672C;&#x7C7B;&#x578B;&#x7684;&#x540D;&#x79F0;&#xFF0C;&#x4F46;&#x5982;&#x679C;RubyScriptEngine&#x56E0;&#x4E3A;&#x6240;&#x4F9D;&#x8D56;&#x7684;jruby.jar&#x4E0D;&#x5B58;&#x5728;&#xFF0C;&#x5BFC;&#x81F4;RubyScriptEngine&#x7C7B;&#x52A0;&#x8F7D;&#x5931;&#x8D25;&#xFF0C;&#x8FD9;&#x4E2A;&#x5931;&#x8D25;&#x539F;&#x56E0;&#x88AB;&#x5403;&#x6389;&#x4E86;&#xFF0C;&#x548C;ruby&#x5BF9;&#x5E94;&#x4E0D;&#x8D77;&#x6765;&#xFF0C;&#x5F53;&#x7528;&#x6237;&#x6267;&#x884C;ruby&#x811A;&#x672C;&#x65F6;&#xFF0C;&#x4F1A;&#x62A5;&#x4E0D;&#x652F;&#x6301;ruby&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x771F;&#x6B63;&#x5931;&#x8D25;&#x7684;&#x539F;&#x56E0;&#x3002;</li>
-<li>&#x589E;&#x52A0;&#x4E86;&#x5BF9;&#x6269;&#x5C55;&#x70B9;IoC&#x548C;AOP&#x7684;&#x652F;&#x6301;&#xFF0C;&#x4E00;&#x4E2A;&#x6269;&#x5C55;&#x70B9;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;setter&#x6CE8;&#x5165;&#x5176;&#x5B83;&#x6269;&#x5C55;&#x70B9;&#x3002;</li>
-</ul>
-<h5 id="&#x7EA6;&#x5B9A;&#xFF1A;">&#x7EA6;&#x5B9A;&#xFF1A;</h5>
-<p>&#x5728;&#x6269;&#x5C55;&#x7C7B;&#x7684;jar&#x5305;&#x5185;&#xFF0C;&#x653E;&#x7F6E;&#x6269;&#x5C55;&#x70B9;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#xFF1A;META-INF/dubbo/&#x63A5;&#x53E3;&#x5168;&#x9650;&#x5B9A;&#x540D;&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;&#x914D;&#x7F6E;&#x540D;=&#x6269;&#x5C55;&#x5B9E;&#x73B0;&#x7C7B;&#x5168;&#x9650;&#x5B9A;&#x540D;&#xFF0C;&#x591A;&#x4E2A;&#x5B9E;&#x73B0;&#x7C7B;&#x7528;&#x6362;&#x884C;&#x7B26;&#x5206;&#x9694;&#x3002;</p>
-<blockquote>
-<p>&#x6CE8;&#x610F;&#xFF1A;&#x8FD9;&#x91CC;&#x7684;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x662F;&#x653E;&#x5728;&#x4F60;&#x81EA;&#x5DF1;&#x7684;jar&#x5305;&#x5185;&#xFF0C;&#x4E0D;&#x662F;dubbo&#x672C;&#x8EAB;&#x7684;jar&#x5305;&#x5185;&#xFF0C;Dubbo&#x4F1A;&#x5168;ClassPath&#x626B;&#x63CF;&#x6240;&#x6709;jar&#x5305;&#x5185;&#x540C;&#x540D;&#x7684;&#x8FD9;&#x4E2A;&#x6587;&#x4EF6;&#xFF0C;&#x7136;&#x540E;&#x8FDB;&#x884C;&#x5408;&#x5E76;</p>
-</blockquote>
-<h5 id="&#x6269;&#x5C55;dubbo&#x7684;&#x534F;&#x8BAE;&#x793A;&#x4F8B;&#xFF1A;">&#x6269;&#x5C55;Dubbo&#x7684;&#x534F;&#x8BAE;&#x793A;&#x4F8B;&#xFF1A;</h5>
-<p>&#x5728;&#x534F;&#x8BAE;&#x7684;&#x5B9E;&#x73B0;jar&#x5305;&#x5185;&#x653E;&#x7F6E;&#x6587;&#x672C;&#x6587;&#x4EF6;&#xFF1A;META-INF/dubbo/com.alibaba.dubbo.rpc.Protocol&#xFF0C;&#x5185;&#x5BB9;&#x4E3A;&#xFF1A;</p>
-<pre><code>xxx=com.alibaba.xxx.XxxProtocol
-</code></pre><h5 id="&#x5B9E;&#x73B0;&#x7C7B;&#x5185;&#x5BB9;&#xFF1A;">&#x5B9E;&#x73B0;&#x7C7B;&#x5185;&#x5BB9;&#xFF1A;</h5>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.alibaba.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Protocol;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxProtocol</span> <span class="hljs-title">implemenets</span> <span class="hljs-title">Protocol</span> </span>{
-
-    <span class="hljs-comment">// ...</span>
-
-}
-</code></pre>
-<blockquote>
-<p>&#x6CE8;&#x610F;&#xFF1A; &#x6269;&#x5C55;&#x70B9;&#x4F7F;&#x7528;&#x5355;&#x4E00;&#x5B9E;&#x4F8B;&#x52A0;&#x8F7D;&#xFF08;&#x8BF7;&#x786E;&#x4FDD;&#x6269;&#x5C55;&#x5B9E;&#x73B0;&#x7684;&#x7EBF;&#x7A0B;&#x5B89;&#x5168;&#x6027;&#xFF09;&#xFF0C;Cache&#x5728; <code>ExtensionLoader</code> &#x4E2D;&#x3002;</p>
-</blockquote>
-<h4 id="&#x6269;&#x5C55;&#x70B9;&#x81EA;&#x52A8;&#x5305;&#x88C5;">&#x6269;&#x5C55;&#x70B9;&#x81EA;&#x52A8;&#x5305;&#x88C5;</h4>
-<h5 id="&#x81EA;&#x52A8;wrap&#x6269;&#x5C55;&#x70B9;&#x7684;wrapper&#x7C7B;">&#x81EA;&#x52A8;Wrap&#x6269;&#x5C55;&#x70B9;&#x7684;Wrapper&#x7C7B;</h5>
-<p><code>ExtensionLoader</code> &#x4F1A;&#x628A;&#x52A0;&#x8F7D;&#x6269;&#x5C55;&#x70B9;&#x65F6;&#xFF08;&#x901A;&#x8FC7;&#x6269;&#x5C55;&#x70B9;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x4E2D;&#x5185;&#x5BB9;&#xFF09;&#xFF0C;&#x5982;&#x679C;&#x8BE5;&#x5B9E;&#x73B0;&#x6709;&#x62F7;&#x8D1D;&#x6784;&#x9020;&#x51FD;&#x6570;&#xFF0C;&#x5219;&#x5224;&#x5B9A;&#x4E3A;&#x6269;&#x5C55;&#x70B9;Wrapper&#x7C7B;&#x3002;Wrapper&#x7C7B;&#x540C;&#x6837;&#x5B9E;&#x73B0;&#x4E86;&#x6269;&#x5C55;&#x70B9;&#x63A5;&#x53E3;&#x3002;</p>
-<p>Wrapper&#x7C7B;&#x5185;&#x5BB9;&#xFF1A;</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.alibaba.xxx;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Protocol;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxProtocolWrapper</span> <span class="hljs-title">implemenets</span> <span class="hljs-title">Protocol</span> </span>{
-    Protocol impl;
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">XxxProtocol</span><span class="hljs-params">(Protocol protocol)</span> </span>{ impl = protocol; }
-
-    <span class="hljs-comment">// &#x63A5;&#x53E3;&#x65B9;&#x6CD5;&#x505A;&#x4E00;&#x4E2A;&#x64CD;&#x4F5C;&#x540E;&#xFF0C;&#x518D;&#x8C03;&#x7528;extension&#x7684;&#x65B9;&#x6CD5;</span>
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">refer</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-comment">//... &#x4E00;&#x4E9B;&#x64CD;&#x4F5C;</span>
-        impl.refer();
-        <span class="hljs-comment">// ... &#x4E00;&#x4E9B;&#x64CD;&#x4F5C;</span>
-    }
-
-    <span class="hljs-comment">// ...</span>
-}
-</code></pre>
-<p>Wrapper&#x4E0D;&#x662F;&#x6269;&#x5C55;&#x70B9;&#x5B9E;&#x73B0;&#xFF0C;&#x7528;&#x4E8E;&#x4ECE; <code>ExtensionLoader</code> &#x8FD4;&#x56DE;&#x6269;&#x5C55;&#x70B9;&#x65F6;&#xFF0C;Wrap&#x5728;&#x6269;&#x5C55;&#x70B9;&#x5B9E;&#x73B0;&#x5916;&#x3002;&#x5373;&#x4ECE; <code>ExtensionLoader</code> &#x4E2D;&#x8FD4;&#x56DE;&#x7684;&#x5B9E;&#x9645;&#x4E0A;&#x662F;Wrapper&#x7C7B;&#x7684;&#x5B9E;&#x4F8B;&#xFF0C;Wrapper&#x6301;&#x6709;&#x4E86;&#x5B9E;&#x9645;&#x7684;&#x6269;&#x5C55;&#x70B9;&#x5B9E;&#x73B0;&#x7C7B;&#x3002;</p>
-<p>&#x6269;&#x5C55;&#x70B9;&#x7684;Wrapper&#x7C7B;&#x53EF;&#x4EE5;&#x6709;&#x591A;&#x4E2A;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x9700;&#x8981;&#x65B0;&#x589E;&#x3002;</p>
-<p>&#x901A;&#x8FC7;Wrapper&#x7C7B;&#x53EF;&#x4EE5;&#x628A;&#x6240;&#x6709;&#x6269;&#x5C55;&#x70B9;&#x516C;&#x5171;&#x903B;&#x8F91;&#x79FB;&#x81F3;Wrapper&#x4E2D;&#x3002;&#x65B0;&#x52A0;&#x7684;Wrapper&#x5728;&#x6240;&#x6709;&#x7684;&#x6269;&#x5C55;&#x70B9;&#x4E0A;&#x6DFB;&#x52A0;&#x4E86;&#x903B;&#x8F91;&#xFF0C;&#x6709;&#x4E9B;&#x7C7B;&#x4F3C;AOP&#xFF08;Wraper&#x4EE3;&#x7406;&#x4E86;&#x6269;&#x5C55;&#x70B9;&#xFF09;&#x3002;</p>
-<h4 id="&#x6269;&#x5C55;&#x70B9;&#x81EA;&#x52A8;&#x88C5;&#x914D;">&#x6269;&#x5C55;&#x70B9;&#x81EA;&#x52A8;&#x88C5;&#x914D;</h4>
-<h5 id="&#x52A0;&#x8F7D;&#x6269;&#x5C55;&#x70B9;&#x65F6;&#xFF0C;&#x81EA;&#x52A8;&#x6CE8;&#x5165;&#x4F9D;&#x8D56;&#x7684;&#x6269;&#x5C55;&#x70B9;">&#x52A0;&#x8F7D;&#x6269;&#x5C55;&#x70B9;&#x65F6;&#xFF0C;&#x81EA;&#x52A8;&#x6CE8;&#x5165;&#x4F9D;&#x8D56;&#x7684;&#x6269;&#x5C55;&#x70B9;</h5>
-<p>&#x52A0;&#x8F7D;&#x6269;&#x5C55;&#x70B9;&#x65F6;&#xFF0C;&#x6269;&#x5C55;&#x70B9;&#x5B9E;&#x73B0;&#x7C7B;&#x7684;&#x6210;&#x5458;&#x5982;&#x679C;&#x4E3A;&#x5176;&#x5B83;&#x6269;&#x5C55;&#x70B9;&#x7C7B;&#x578B;&#xFF0C;<code>ExtensionLoader</code> &#x5728;&#x4F1A;&#x81EA;&#x52A8;&#x6CE8;&#x5165;&#x4F9D;&#x8D56;&#x7684;&#x6269;&#x5C55;&#x70B9;&#x3002;<code>ExtensionLoader</code> &#x901A;&#x8FC7;&#x626B;&#x63CF;&#x6269;&#x5C55;&#x70B9;&#x5B9E;&#x73B0;&#x7C7B;&#x7684;&#x6240;&#x6709;set&#x65B9;&#x6CD5;&#x6765;&#x5224;&#x5B9A;&#x5176;&#x6210;&#x5458;&#x3002;&#x5373; <code>ExtensionLoader</code> &#x4F1A;&#x6267;&#x884C;&#x6269;&#x5C55;&#x70B9;&#x7684;&#x62FC;&#x88C5;&#x64CD;&#x4F5C;&#x3002;</p>
-<p>&#x793A;&#x4F8B;&#xFF1A;&#x6709;&#x4E24;&#x4E2A;&#x4E3A;&#x6269;&#x5C55;&#x70B9; <code>CarMaker</code>&#xFF08;&#x9020;&#x8F66;&#x8005;&#xFF09;&#x3001;<code>WheelMaker</code> (&#x9020;&#x8F6E;&#x8005;)</p>
-<p>&#x63A5;&#x53E3;&#x7C7B;&#x5982;&#x4E0B;&#xFF1A;</p>
-<pre><code class="lang-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">CarMaker</span> </span>{
-    <span class="hljs-function">Car <span class="hljs-title">makeCar</span><span class="hljs-params">()</span></span>;
-}
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">WheelMaker</span> </span>{
-    <span class="hljs-function">Wheel <span class="hljs-title">makeWheel</span><span class="hljs-params">()</span></span>;
-}
-</code></pre>
-<p><code>CarMaker</code> &#x7684;&#x4E00;&#x4E2A;&#x5B9E;&#x73B0;&#x7C7B;&#xFF1A;</p>
-<pre><code class="lang-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">RaceCarMaker</span> <span class="hljs-title">implemenets</span> <span class="hljs-title">CarMaker</span> </span>{
-    WheelMaker wheelMaker;
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">setWheelMaker</span><span class="hljs-params">(WheelMaker wheelMaker)</span> </span>{
-        <span class="hljs-keyword">this</span>.wheelMaker = wheelMaker;
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Car <span class="hljs-title">makeCar</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-comment">// ...</span>
-        Wheel wheel = wheelMaker.makeWheel();
-        <span class="hljs-comment">// ...</span>
-        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> RaceCar(wheel, ...);
-    }
-}
-</code></pre>
-<p><code>ExtensionLoader</code> &#x52A0;&#x8F7D; <code>CarMaker</code> &#x7684;&#x6269;&#x5C55;&#x70B9;&#x5B9E;&#x73B0; <code>RaceCar</code> &#x65F6;&#xFF0C;<code>setWheelMaker</code> &#x65B9;&#x6CD5;&#x7684; <code>WheelMaker</code> &#x4E5F;&#x662F;&#x6269;&#x5C55;&#x70B9;&#x5219;&#x4F1A;&#x6CE8;&#x5165; <code>WheelMaker</code> &#x7684;&#x5B9E;&#x73B0;&#x3002;</p>
-<p>&#x8FD9;&#x91CC;&#x5E26;&#x6765;&#x53E6;&#x4E00;&#x4E2A;&#x95EE;&#x9898;&#xFF0C;<code>ExtensionLoader</code> &#x8981;&#x6CE8;&#x5165;&#x4F9D;&#x8D56;&#x6269;&#x5C55;&#x70B9;&#x65F6;&#xFF0C;&#x5982;&#x4F55;&#x51B3;&#x5B9A;&#x8981;&#x6CE8;&#x5165;&#x4F9D;&#x8D56;&#x6269;&#x5C55;&#x70B9;&#x7684;&#x54EA;&#x4E2A;&#x5B9E;&#x73B0;&#x3002;&#x5728;&#x8FD9;&#x4E2A;&#x793A;&#x4F8B;&#x4E2D;&#xFF0C;&#x5373;&#x662F;&#x5728;&#x591A;&#x4E2A;<code>WheelMaker</code> &#x7684;&#x5B9E;&#x73B0;&#x4E2D;&#x8981;&#x6CE8;&#x5165;&#x54EA;&#x4E2A;&#x3002;</p>
-<p>&#x8FD9;&#x4E2A;&#x95EE;&#x9898;&#x5728;&#x4E0B;&#x9762;&#x4E00;&#x70B9; <a href="#&#x6269;&#x5C55;&#x70B9;&#x81EA;&#x9002;&#x5E94;">Adaptive&#x5B9E;&#x4F8B;</a> &#x4E2D;&#x8BF4;&#x660E;&#x3002;</p>
-<h4 id="&#x6269;&#x5C55;&#x70B9;&#x81EA;&#x9002;&#x5E94;">&#x6269;&#x5C55;&#x70B9;&#x81EA;&#x9002;&#x5E94;</h4>
-<p><strong>&#x6269;&#x5C55;&#x70B9;&#x7684;Adaptive&#x5B9E;&#x4F8B;</strong> </p>
-<p><code>ExtensionLoader</code> &#x6CE8;&#x5165;&#x7684;&#x4F9D;&#x8D56;&#x6269;&#x5C55;&#x70B9;&#x662F;&#x4E00;&#x4E2A; <code>Adaptive</code> &#x5B9E;&#x4F8B;&#xFF0C;&#x76F4;&#x5230;&#x6269;&#x5C55;&#x70B9;&#x65B9;&#x6CD5;&#x6267;&#x884C;&#x65F6;&#x624D;&#x51B3;&#x5B9A;&#x8C03;&#x7528;&#x662F;&#x4E00;&#x4E2A;&#x6269;&#x5C55;&#x70B9;&#x5B9E;&#x73B0;&#x3002;</p>
-<p>Dubbo&#x4F7F;&#x7528;URL&#x5BF9;&#x8C61;&#xFF08;&#x5305;&#x542B;&#x4E86;Key-Value&#xFF09;&#x4F20;&#x9012;&#x914D;&#x7F6E;&#x4FE1;&#x606F;&#x3002;</p>
-<p>&#x6269;&#x5C55;&#x70B9;&#x65B9;&#x6CD5;&#x8C03;&#x7528;&#x4F1A;&#x6709;URL&#x53C2;&#x6570;&#xFF08;&#x6216;&#x662F;&#x53C2;&#x6570;&#x6709;URL&#x6210;&#x5458;&#xFF09;</p>
-<p>&#x8FD9;&#x6837;&#x4F9D;&#x8D56;&#x7684;&#x6269;&#x5C55;&#x70B9;&#x4E5F;&#x53EF;&#x4EE5;&#x4ECE;URL&#x62FF;&#x5230;&#x914D;&#x7F6E;&#x4FE1;&#x606F;&#xFF0C;&#x6240;&#x6709;&#x7684;&#x6269;&#x5C55;&#x70B9;&#x81EA;&#x5DF1;&#x5B9A;&#x597D;&#x914D;&#x7F6E;&#x7684;Key&#x540E;&#xFF0C;&#x914D;&#x7F6E;&#x4FE1;&#x606F;&#x4ECE;URL&#x4E0A;&#x4ECE;&#x6700;&#x5916;&#x5C42;&#x4F20;&#x5165;&#x3002;URL&#x5728;&#x914D;&#x7F6E;&#x4F20;&#x9012;&#x4E0A;&#x5373;&#x662F;&#x4E00;&#x6761;&#x603B;&#x7EBF;&#x3002;</p>
-<p>&#x793A;&#x4F8B;&#xFF1A;&#x6709;&#x4E24;&#x4E2A;&#x4E3A;&#x6269;&#x5C55;&#x70B9; <code>CarMaker</code>&#xFF08;&#x9020;&#x8F66;&#x8005;&#xFF09;&#x3001;<code>WheelMaker</code> (&#x9020;&#x8F6E;&#x8005;)</p>
-<p>&#x63A5;&#x53E3;&#x7C7B;&#x5982;&#x4E0B;&#xFF1A;</p>
-<pre><code class="lang-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">CarMaker</span> </span>{
-    <span class="hljs-function">Car <span class="hljs-title">makeCar</span><span class="hljs-params">(URL url)</span></span>;
-}
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">WheelMaker</span> </span>{
-    <span class="hljs-function">Wheel <span class="hljs-title">makeWheel</span><span class="hljs-params">(URL url)</span></span>;
-}
-</code></pre>
-<p><code>CarMaker</code> &#x7684;&#x4E00;&#x4E2A;&#x5B9E;&#x73B0;&#x7C7B;&#xFF1A;</p>
-<pre><code class="lang-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">RaceCarMaker</span> <span class="hljs-title">implemenets</span> <span class="hljs-title">CarMaker</span> </span>{
-    WheelMaker wheelMaker;
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">setWheelMaker</span><span class="hljs-params">(WheelMaker wheelMaker)</span> </span>{
-        <span class="hljs-keyword">this</span>.wheelMaker = wheelMaker;
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Car <span class="hljs-title">makeCar</span><span class="hljs-params">(URL url)</span> </span>{
-        <span class="hljs-comment">// ...</span>
-        Wheel wheel = wheelMaker.makeWheel(url);
-        <span class="hljs-comment">// ...</span>
-        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> RaceCar(wheel, ...);
-    }
-}
-</code></pre>
-<p>&#x5F53;&#x4E0A;&#x9762;&#x6267;&#x884C;</p>
-<pre><code class="lang-java"><span class="hljs-comment">// ...</span>
-Wheel wheel = wheelMaker.makeWheel(url);
-<span class="hljs-comment">// ...</span>
-</code></pre>
-<p>&#x65F6;&#xFF0C;&#x6CE8;&#x5165;&#x7684; <code>Adaptive</code> &#x5B9E;&#x4F8B;&#x53EF;&#x4EE5;&#x63D0;&#x53D6;&#x7EA6;&#x5B9A;Key&#x6765;&#x51B3;&#x5B9A;&#x4F7F;&#x7528;&#x54EA;&#x4E2A; <code>WheelMaker</code> &#x5B9E;&#x73B0;&#x6765;&#x8C03;&#x7528;&#x5BF9;&#x5E94;&#x5B9E;&#x73B0;&#x7684;&#x771F;&#x6B63;&#x7684; <code>makeWheel</code> &#x65B9;&#x6CD5;&#x3002;&#x5982;&#x63D0;&#x53D6; <code>wheel.type</code>, key&#x5373; <code>url.get(&quot;wheel.type&quot;)</code> &#x6765;&#x51B3;&#x5B9A; <code>WheelMake</code> &#x5B9E;&#x73B0;&#x3002;<code>Adaptive</code> &#x5B9E;&#x4F8B;&#x7684;&#x903B;&#x8F91;&#x662F;&#x56FA;&#x5B9A;&#xFF0C;&#x6307;&#x5B9A;&#x63D0;&#x53D6;&#x7684;URL&#x7684;Key&#xFF0C;&#x5373;&#x53EF;&#x4EE5;&#x4EE3;&#x7406;&#x771F;&#x6B63;&#x7684;&#x5B9E;&#x73B0;&#x7C7B;&#x4E0A;&#xFF0C;&#x53EF;&#x4EE5;&#x52A8;&#x6001;&#x751F;&#x6210;&#x3002;</p>
-<p>&#x5728;Dubbo&#x7684; <code>ExtensionLoader</code> &#x7684;&#x6269;&#x5C55;&#x70B9;&#x7C7B;&#x5F00;&#x5BF9;&#x5E94;&#x7684; <code>Adaptive</code> &#x5B9E;&#x73B0;&#x662F;&#x5728;&#x52A0;&#x8F7D;&#x6269;&#x5C55;&#x70B9;&#x91CC;&#x52A8;&#x6001;&#x751F;&#x6210;&#x3002;&#x6307;&#x5B9A;&#x63D0;&#x53D6;&#x7684;URL&#x7684;Key&#x901A;&#x8FC7; <code>@Adaptive</code> &#x6CE8;&#x89E3;&#x5728;&#x63A5;&#x53E3;&#x65B9;&#x6CD5;&#x4E0A;&#x63D0;&#x4F9B;&#x3002;</p>
-<p>&#x4E0B;&#x9762;&#x662F;Dubbo&#x7684;Transporter&#x6269;&#x5C55;&#x70B9;&#x7684;&#x4EE3;&#x7801;&#xFF1A;</p>
-<pre><code class="lang-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">Transporter</span> </span>{
-    <span class="hljs-meta">@Adaptive</span>({<span class="hljs-string">&quot;server&quot;</span>, <span class="hljs-string">&quot;transport&quot;</span>})
-    <span class="hljs-function">Server <span class="hljs-title">bind</span><span class="hljs-params">(URL url, ChannelHandler handler)</span> <span class="hljs-keyword">throws</span> RemotingException</span>;
-
-    <span class="hljs-meta">@Adaptive</span>({<span class="hljs-string">&quot;client&quot;</span>, <span class="hljs-string">&quot;transport&quot;</span>})
-    <span class="hljs-function">Client <span class="hljs-title">connect</span><span class="hljs-params">(URL url, ChannelHandler handler)</span> <span class="hljs-keyword">throws</span> RemotingException</span>;
-}
-</code></pre>
-<p>&#x5BF9;&#x4E8E;bind&#x65B9;&#x6CD5;&#x8868;&#x793A;&#xFF0C;Adaptive&#x5B9E;&#x73B0;&#x5148;&#x67E5;&#x627E;&quot;server&quot;key&#xFF0C;&#x5982;&#x679C;&#x8BE5;Key&#x6CA1;&#x6709;&#x503C;&#x5219;&#x627E;&quot;transport&quot;key&#x503C;&#xFF0C;&#x6765;&#x51B3;&#x5B9A;&#x4EE3;&#x7406;&#x5230;&#x54EA;&#x4E2A;&#x5B9E;&#x9645;&#x6269;&#x5C55;&#x70B9;&#x3002;</p>
-<p><strong>Dubbo&#x914D;&#x7F6E;&#x6A21;&#x5757;&#x4E2D;&#x6269;&#x5C55;&#x70B9;&#x7684;&#x914D;&#x7F6E;</strong></p>
-<p>Dubbo&#x914D;&#x7F6E;&#x6A21;&#x5757;&#x4E2D;&#xFF0C;&#x6269;&#x5C55;&#x70B9;&#x5747;&#x6709;&#x5BF9;&#x5E94;&#x914D;&#x7F6E;&#x5C5E;&#x6027;&#x6216;&#x6807;&#x7B7E;&#xFF0C;&#x901A;&#x8FC7;&#x914D;&#x7F6E;&#x6307;&#x5B9A;&#x4F7F;&#x7528;&#x54EA;&#x4E2A;&#x6269;&#x5C55;&#x5B9E;&#x73B0;&#x3002;&#x6BD4;&#x5982;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span>
-</code></pre>
-<h4 id="&#x6269;&#x5C55;&#x70B9;&#x81EA;&#x52A8;&#x6FC0;&#x6D3B;">&#x6269;&#x5C55;&#x70B9;&#x81EA;&#x52A8;&#x6FC0;&#x6D3B;</h4>
-<p>&#x5BF9;&#x4E8E;&#x96C6;&#x5408;&#x7C7B;&#x6269;&#x5C55;&#x70B9;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;<code>Filter</code>, <code>InvokerListener</code>, <code>ExportListener</code>, <code>TelnetHandler</code>, <code>StatusChecker</code> &#x7B49;&#xFF0C;&#x53EF;&#x4EE5;&#x540C;&#x65F6;&#x52A0;&#x8F7D;&#x591A;&#x4E2A;&#x5B9E;&#x73B0;&#xFF0C;&#x6B64;&#x65F6;&#xFF0C;&#x53EF;&#x4EE5;&#x7528;&#x81EA;&#x52A8;&#x6FC0;&#x6D3B;&#x6765;&#x7B80;&#x5316;&#x914D;&#x7F6E;&#xFF0C;&#x5982;&#xFF1A;</p>
-<pre><code class="lang-java"><span class="hljs-keyword">import</span> com.alibaba.dubbo.common.extension.Activate;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Filter;
-
-<span class="hljs-meta">@Activate</span> <span class="hljs-comment">// &#x65E0;&#x6761;&#x4EF6;&#x81EA;&#x52A8;&#x6FC0;&#x6D3B;</span>
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxFilter</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Filter</span> </span>{
-    <span class="hljs-comment">// ...</span>
-}
-</code></pre>
-<p>&#x6216;&#xFF1A;</p>
-<pre><code class="lang-java"><span class="hljs-keyword">import</span> com.alibaba.dubbo.common.extension.Activate;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Filter;
-
-<span class="hljs-meta">@Activate</span>(<span class="hljs-string">&quot;xxx&quot;</span>) <span class="hljs-comment">// &#x5F53;&#x914D;&#x7F6E;&#x4E86;xxx&#x53C2;&#x6570;&#xFF0C;&#x5E76;&#x4E14;&#x53C2;&#x6570;&#x4E3A;&#x6709;&#x6548;&#x503C;&#x65F6;&#x6FC0;&#x6D3B;&#xFF0C;&#x6BD4;&#x5982;&#x914D;&#x4E86;cache=&quot;lru&quot;&#xFF0C;&#x81EA;&#x52A8;&#x6FC0;&#x6D3B;CacheFilter&#x3002;</span>
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxFilter</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Filter</span> </span>{
-    <span class="hljs-comment">// ...</span>
-}
-</code></pre>
-<p>&#x6216;&#xFF1A;</p>
-<pre><code class="lang-java"><span class="hljs-keyword">import</span> com.alibaba.dubbo.common.extension.Activate;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.Filter;
-
-<span class="hljs-meta">@Activate</span>(group = <span class="hljs-string">&quot;provider&quot;</span>, value = <span class="hljs-string">&quot;xxx&quot;</span>) <span class="hljs-comment">// &#x53EA;&#x5BF9;&#x63D0;&#x4F9B;&#x65B9;&#x6FC0;&#x6D3B;&#xFF0C;group&#x53EF;&#x9009;&quot;provider&quot;&#x6216;&quot;consumer&quot;</span>
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxFilter</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Filter</span> </span>{
-    <span class="hljs-comment">// ...</span>
-}
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="框架设计.html" class="navigation navigation-prev " aria-label="Previous page: 4 框架设计">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="SPI参考手册/introduction.html" class="navigation navigation-next " aria-label="Next page: 6 SPI参考手册">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5 扩展点加载","level":"1.6","depth":1,"next":{"title":"6 SPI参考手册","level":"1.7","depth":1,"path":"SPI参考手册/introduction.md","ref":"./SPI参考手册/introduction.md","articles":[{"title":"6.1 协议扩展","level":"1.7.1","depth":2,"path":"SPI参考手册/协议扩展.md","ref":"./SPI参考手册/协议扩展.md","articles":[]},{"title":"6.2 调用拦截扩展","level":"1.7.2","depth":2,"path":"SPI参考手册/调用拦截扩展.md","ref":"./SPI参考手册/调用拦截扩展.md","articles":[]},{"title":"6.3 引用监听扩展","level":"1.7.3","depth":2,"path":"SPI参考手册/引用监听扩展.md","ref":"./SPI参考手册/引用监听扩展.md","articles":[]},{"title":"6.4 暴露监听扩展","level":"1.7.4","depth":2,"path":"SPI参考手册/暴露监听扩展.md","ref":"./SPI参考手册/暴露监听扩展.md","articles":[]},{"title":"6.5 集群扩展","level":"1.7.5","depth":2,"path":"SPI参考手册/集群扩展.md","ref":"./SPI参考手册/集群扩展.md","articles":[]},{"title":"6.6 路由扩展","level":"1.7.6","depth":2,"path":"SPI参考手册/路由扩展.md","ref":"./SPI参考手册/路由扩展.md","articles":[]},{"title":"6.7 负载均衡扩展","level":"1.7.7","depth":2,"path":"SPI参考手册/负载均衡扩展.md","ref":"./SPI参考手册/负载均衡扩展.md","articles":[]},{"title":"6.8 合并结果扩展","level":"1.7.8","depth":2,"path":"SPI参考手册/合并结果扩展.md","ref":"./SPI参考手册/合并结果扩展.md","articles":[]},{"title":"6.9 注册中心扩展","level":"1.7.9","depth":2,"path":"SPI参考手册/注册中心扩展.md","ref":"./SPI参考手册/注册中心扩展.md","articles":[]},{"title":"6.10 监控中心扩展","level":"1.7.10","depth":2,"path":"SPI参考手册/监控中心扩展.md","ref":"./SPI参考手册/监控中心扩展.md","articles":[]},{"title":"6.11 扩展点加载扩展","level":"1.7.11","depth":2,"path":"SPI参考手册/扩展点加载扩展.md","ref":"./SPI参考手册/扩展点加载扩展.md","articles":[]},{"title":"6.12 动态代理扩展","level":"1.7.12","depth":2,"path":"SPI参考手册/动态代理扩展.md","ref":"./SPI参考手册/动态代理扩展.md","articles":[]},{"title":"6.13 编译器扩展","level":"1.7.13","depth":2,"path":"SPI参考手册/编译器扩展.md","ref":"./SPI参考手册/编译器扩展.md","articles":[]},{"title":"6.14 消息派发扩展","level":"1.7.14","depth":2,"path":"SPI参考手册/消息派发扩展.md","ref":"./SPI参考手册/消息派发扩展.md","articles":[]},{"title":"6.15 线程池扩展","level":"1.7.15","depth":2,"path":"SPI参考手册/线程池扩展.md","ref":"./SPI参考手册/线程池扩展.md","articles":[]},{"title":"6.16 序列化扩展","level":"1.7.16","depth":2,"path":"SPI参考手册/序列化扩展.md","ref":"./SPI参考手册/序列化扩展.md","articles":[]},{"title":"6.17 网络传输扩展","level":"1.7.17","depth":2,"path":"SPI参考手册/网络传输扩展.md","ref":"./SPI参考手册/网络传输扩展.md","articles":[]},{"title":"6.18 信息交换扩展","level":"1.7.18","depth":2,"path":"SPI参考手册/信息交换扩展.md","ref":"./SPI参考手册/信息交换扩展.md","articles":[]},{"title":"6.19 组网扩展","level":"1.7.19","depth":2,"path":"SPI参考手册/组网扩展.md","ref":"./SPI参考手册/组网扩展.md","articles":[]},{"title":"6.20 Telnet命令扩展","level":"1.7.20","depth":2,"path":"SPI参考手册/Telnet命令扩展.md","ref":"./SPI参考手册/Telnet命令扩展.md","articles":[]},{"title":"6.21 状态检查扩展","level":"1.7.21","depth":2,"path":"SPI参考手册/状态检查扩展.md","ref":"./SPI参考手册/状态检查扩展.md","articles":[]},{"title":"6.22 容器扩展","level":"1.7.22","depth":2,"path":"SPI参考手册/容器扩展.md","ref":"./SPI参考手册/容器扩展.md","articles":[]},{"title":"6.23 页面扩展","level":"1.7.23","depth":2,"path":"SPI参考手册/页面扩展.md","ref":"./SPI参考手册/页面扩展.md","articles":[]},{"title":"6.24 缓存扩展","level":"1.7.24","depth":2,"path":"SPI参考手册/缓存扩展.md","ref":"./SPI参考手册/缓存扩展.md","articles":[]},{"title":"6.25 验证扩展","level":"1.7.25","depth":2,"path":"SPI参考手册/验证扩展.md","ref":"./SPI参考手册/验证扩展.md","articles":[]},{"title":"6.26 日志适配扩展","level":"1.7.26","depth":2,"path":"SPI参考手册/日志适配扩展.md","ref":"./SPI参考手册/日志适配扩展.md","articles":[]}]},"previous":{"title":"4 框架设计","level":"1.5","depth":1,"path":"框架设计.md","ref":"./框架设计.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"扩展点加载.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/\346\212\200\346\234\257\345\205\274\345\256\271\346\200\247\346\265\213\350\257\225.html" "b/developer-guide/\346\212\200\346\234\257\345\205\274\345\256\271\346\200\247\346\265\213\350\257\225.html"
deleted file mode 100644
index 9b985e5..0000000
--- "a/developer-guide/\346\212\200\346\234\257\345\205\274\345\256\271\346\200\247\346\265\213\350\257\225.html"
+++ /dev/null
@@ -1,742 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>7 技术兼容性测试 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="公共契约.html" />
-    
-    
-    <link rel="prev" href="SPI参考手册/日志适配扩展.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="contribution.html">
-            
-                <a href="contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="版本管理.html">
-            
-                <a href="版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="源码构建.html">
-            
-                <a href="源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="框架设计.html">
-            
-                <a href="框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="扩展点加载.html">
-            
-                <a href="扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="SPI参考手册/introduction.html">
-            
-                <a href="SPI参考手册/introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="SPI参考手册/协议扩展.html">
-            
-                <a href="SPI参考手册/协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="SPI参考手册/调用拦截扩展.html">
-            
-                <a href="SPI参考手册/调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="SPI参考手册/引用监听扩展.html">
-            
-                <a href="SPI参考手册/引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="SPI参考手册/暴露监听扩展.html">
-            
-                <a href="SPI参考手册/暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="SPI参考手册/集群扩展.html">
-            
-                <a href="SPI参考手册/集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="SPI参考手册/路由扩展.html">
-            
-                <a href="SPI参考手册/路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="SPI参考手册/负载均衡扩展.html">
-            
-                <a href="SPI参考手册/负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="SPI参考手册/合并结果扩展.html">
-            
-                <a href="SPI参考手册/合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="SPI参考手册/注册中心扩展.html">
-            
-                <a href="SPI参考手册/注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="SPI参考手册/监控中心扩展.html">
-            
-                <a href="SPI参考手册/监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="SPI参考手册/扩展点加载扩展.html">
-            
-                <a href="SPI参考手册/扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="SPI参考手册/动态代理扩展.html">
-            
-                <a href="SPI参考手册/动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="SPI参考手册/编译器扩展.html">
-            
-                <a href="SPI参考手册/编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="SPI参考手册/消息派发扩展.html">
-            
-                <a href="SPI参考手册/消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="SPI参考手册/线程池扩展.html">
-            
-                <a href="SPI参考手册/线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="SPI参考手册/序列化扩展.html">
-            
-                <a href="SPI参考手册/序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="SPI参考手册/网络传输扩展.html">
-            
-                <a href="SPI参考手册/网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="SPI参考手册/信息交换扩展.html">
-            
-                <a href="SPI参考手册/信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="SPI参考手册/组网扩展.html">
-            
-                <a href="SPI参考手册/组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="SPI参考手册/Telnet命令扩展.html">
-            
-                <a href="SPI参考手册/Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="SPI参考手册/状态检查扩展.html">
-            
-                <a href="SPI参考手册/状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="SPI参考手册/容器扩展.html">
-            
-                <a href="SPI参考手册/容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="SPI参考手册/页面扩展.html">
-            
-                <a href="SPI参考手册/页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="SPI参考手册/缓存扩展.html">
-            
-                <a href="SPI参考手册/缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="SPI参考手册/验证扩展.html">
-            
-                <a href="SPI参考手册/验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="SPI参考手册/日志适配扩展.html">
-            
-                <a href="SPI参考手册/日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.8" data-path="技术兼容性测试.html">
-            
-                <a href="技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="公共契约.html">
-            
-                <a href="公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="坏味道.html">
-            
-                <a href="坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="编码约定.html">
-            
-                <a href="编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="检查列表.html">
-            
-                <a href="检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="设计原则.html">
-            
-                <a href="设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >7 技术兼容性测试</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>Dubbo&#x7684;&#x534F;&#x8BAE;&#xFF0C;&#x901A;&#x8BAF;&#xFF0C;&#x5E8F;&#x5217;&#x5316;&#xFF0C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x8D1F;&#x8F7D;&#x5747;&#x7B56;&#x7B49;&#x6269;&#x5C55;&#x70B9;&#xFF0C;&#x90FD;&#x6709;&#x591A;&#x79CD;&#x53EF;&#x9009;&#x7B56;&#x7565;&#xFF0C;&#x4EE5;&#x5E94;&#x5BF9;&#x4E0D;&#x540C;&#x5E94;&#x7528;&#x573A;&#x666F;&#xFF0C;&#x800C;&#x6211;&#x4EEC;&#x7684;&#x6D4B;&#x8BD5;&#x7528;&#x4F8B;&#x5F88;&#x5206;&#x6563;&#xFF0C;&#x5F53;&#x7528;&#x6237;&#x81EA;&#x5DF1;&#x9700;&#x8981;&#x52A0;&#x4E00;&#x79CD;&#x65B0;&#x7684;&#x5B9E;&#x73B0;&#x65F6;&#xFF0C;&#x603B;&#x662F;&#x4E0D;&#x786E;&#x5B9A;&#x80FD;&#x5426;&#x6EE1;&#x8DB3;&#x6269;&#x5C55;&#x70B9;&#x7684;&#x5B8C;&#x6574;&#x5951;&#x7EA6;&#x3002;</p>
-<p>&#x6240;&#x4EE5;&#xFF0C;&#x6211;&#x4EEC;&#x9700;&#x8981;&#x5BF9;&#x6838;&#x5FC3;&#x6269;&#x5C55;&#x70B9;&#x5199; <a href="http://en.wikipedia.org/wiki/Technology_Compatibility_Kit" target="_blank">TCK</a> (Technology Compatibility Kit)&#xFF0C;&#x7528;&#x6237;&#x589E;&#x52A0;&#x4E00;&#x79CD;&#x6269;&#x5C55;&#x5B9E;&#x73B0;&#xFF0C;&#x53EA;&#x9700;&#x901A;&#x8FC7;TCK&#xFF0C;&#x5373;&#x53EF;&#x786E;&#x4FDD;&#x4E0E;&#x6846;&#x67B6;&#x7684;&#x5176;&#x5B83;&#x90E8;&#x5206;&#x517C;&#x5BB9;&#x8FD0;&#x884C;&#xFF0C;&#x53EF;&#x4EE5;&#x6709;&#x6548;&#x63D0;&#x9AD8;&#x6574;&#x4F53;&#x5065;&#x72B6;&#x6027;&#xFF0C;&#x4E5F;&#x65B9;&#x4FBF;&#x7B2C;&#x4E09;&#x65B9;&#x6269;&#x5C55;&#x8005;&#x63A5;&#x5165;&#xFF0C;&#x52A0;&#x901F;&#x5F00;&#x6E90;&#x793E;&#x533A;&#x7684;&#x6210;&#x719F;&#x3002;</p>
-<p>&#x5F00;&#x6E90;&#x793E;&#x533A;&#x7684;&#x884C;&#x77E5;&#x540C;&#x5B66;&#x5DF2;&#x7740;&#x624B;&#x7814;&#x7A76;&#x8FD9;&#x4E00;&#x5757;&#xFF0C;&#x4ED6;&#x7684;&#x521D;&#x6B65;&#x60F3;&#x6CD5;&#x662F;&#x501F;&#x9274;JBoss&#x7684;CDI-TCK&#xFF0C;&#x505A;&#x4E00;&#x4E2A;Dubbo&#x7684;TCK&#x57FA;&#x7840;&#x6846;&#x67B6;&#xFF0C;&#x5728;&#x6B64;&#x4E4B;&#x4E0A;&#x5B9E;&#x73B0;Dubbo&#x7684;&#x6269;&#x5C55;&#x70B9;TCK&#x7528;&#x4F8B;&#x3002;</p>
-<p>&#x53C2;&#x89C1;&#xFF1A;<a href="http://docs.jboss.org/cdi/tck/reference/1.0.1-Final/html/introduction.html" target="_blank">http://docs.jboss.org/cdi/tck/reference/1.0.1-Final/html/introduction.html</a></p>
-<p>&#x5982;&#x679C;&#x5927;&#x5BB6;&#x6709;&#x5174;&#x8DA3;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x4E00;&#x8D77;&#x7814;&#x7A76;&#xFF0C;&#x548C;&#x884C;&#x77E5;&#x4E00;&#x5757;&#x8BA8;&#x8BBA;&#x3002;</p>
-<h4 id="protocol-tck">Protocol TCK</h4>
-<blockquote>
-<p>TODO</p>
-</blockquote>
-<h4 id="registry-tck">Registry TCK</h4>
-<blockquote>
-<p>TODO</p>
-</blockquote>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="SPI参考手册/日志适配扩展.html" class="navigation navigation-prev " aria-label="Previous page: 6.26 日志适配扩展">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="公共契约.html" class="navigation navigation-next " aria-label="Next page: 8 公共契约">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"7 技术兼容性测试","level":"1.8","depth":1,"next":{"title":"8 公共契约","level":"1.9","depth":1,"path":"公共契约.md","ref":"./公共契约.md","articles":[]},"previous":{"title":"6.26 日志适配扩展","level":"1.7.26","depth":2,"path":"SPI参考手册/日志适配扩展.md","ref":"./SPI参考手册/日志适配扩展.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"技术兼容性测试.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/\346\241\206\346\236\266\350\256\276\350\256\241.html" "b/developer-guide/\346\241\206\346\236\266\350\256\276\350\256\241.html"
deleted file mode 100644
index 371985a..0000000
--- "a/developer-guide/\346\241\206\346\236\266\350\256\276\350\256\241.html"
+++ /dev/null
@@ -1,810 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4 框架设计 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="扩展点加载.html" />
-    
-    
-    <link rel="prev" href="源码构建.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="contribution.html">
-            
-                <a href="contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="版本管理.html">
-            
-                <a href="版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="源码构建.html">
-            
-                <a href="源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5" data-path="框架设计.html">
-            
-                <a href="框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="扩展点加载.html">
-            
-                <a href="扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="SPI参考手册/introduction.html">
-            
-                <a href="SPI参考手册/introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="SPI参考手册/协议扩展.html">
-            
-                <a href="SPI参考手册/协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="SPI参考手册/调用拦截扩展.html">
-            
-                <a href="SPI参考手册/调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="SPI参考手册/引用监听扩展.html">
-            
-                <a href="SPI参考手册/引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="SPI参考手册/暴露监听扩展.html">
-            
-                <a href="SPI参考手册/暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="SPI参考手册/集群扩展.html">
-            
-                <a href="SPI参考手册/集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="SPI参考手册/路由扩展.html">
-            
-                <a href="SPI参考手册/路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="SPI参考手册/负载均衡扩展.html">
-            
-                <a href="SPI参考手册/负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="SPI参考手册/合并结果扩展.html">
-            
-                <a href="SPI参考手册/合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="SPI参考手册/注册中心扩展.html">
-            
-                <a href="SPI参考手册/注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="SPI参考手册/监控中心扩展.html">
-            
-                <a href="SPI参考手册/监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="SPI参考手册/扩展点加载扩展.html">
-            
-                <a href="SPI参考手册/扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="SPI参考手册/动态代理扩展.html">
-            
-                <a href="SPI参考手册/动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="SPI参考手册/编译器扩展.html">
-            
-                <a href="SPI参考手册/编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="SPI参考手册/消息派发扩展.html">
-            
-                <a href="SPI参考手册/消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="SPI参考手册/线程池扩展.html">
-            
-                <a href="SPI参考手册/线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="SPI参考手册/序列化扩展.html">
-            
-                <a href="SPI参考手册/序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="SPI参考手册/网络传输扩展.html">
-            
-                <a href="SPI参考手册/网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="SPI参考手册/信息交换扩展.html">
-            
-                <a href="SPI参考手册/信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="SPI参考手册/组网扩展.html">
-            
-                <a href="SPI参考手册/组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="SPI参考手册/Telnet命令扩展.html">
-            
-                <a href="SPI参考手册/Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="SPI参考手册/状态检查扩展.html">
-            
-                <a href="SPI参考手册/状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="SPI参考手册/容器扩展.html">
-            
-                <a href="SPI参考手册/容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="SPI参考手册/页面扩展.html">
-            
-                <a href="SPI参考手册/页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="SPI参考手册/缓存扩展.html">
-            
-                <a href="SPI参考手册/缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="SPI参考手册/验证扩展.html">
-            
-                <a href="SPI参考手册/验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="SPI参考手册/日志适配扩展.html">
-            
-                <a href="SPI参考手册/日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="技术兼容性测试.html">
-            
-                <a href="技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="公共契约.html">
-            
-                <a href="公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="坏味道.html">
-            
-                <a href="坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="编码约定.html">
-            
-                <a href="编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="检查列表.html">
-            
-                <a href="检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="设计原则.html">
-            
-                <a href="设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >4 框架设计</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h4 id="&#x6574;&#x4F53;&#x8BBE;&#x8BA1;">&#x6574;&#x4F53;&#x8BBE;&#x8BA1;</h4>
-<p><img src="sources/images/dubbo-framework.jpg" alt="/dev-guide/images/dubbo-framework.jpg"></p>
-<p><strong>&#x56FE;&#x4F8B;&#x8BF4;&#x660E;</strong></p>
-<ul>
-<li>&#x56FE;&#x4E2D;&#x5DE6;&#x8FB9;&#x6DE1;&#x84DD;&#x80CC;&#x666F;&#x7684;&#x4E3A;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#x4F7F;&#x7528;&#x7684;&#x63A5;&#x53E3;&#xFF0C;&#x53F3;&#x8FB9;&#x6DE1;&#x7EFF;&#x8272;&#x80CC;&#x666F;&#x7684;&#x4E3A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x4F7F;&#x7528;&#x7684;&#x63A5;&#x53E3;&#xFF0C;&#x4F4D;&#x4E8E;&#x4E2D;&#x8F74;&#x7EBF;&#x4E0A;&#x7684;&#x4E3A;&#x53CC;&#x65B9;&#x90FD;&#x7528;&#x5230;&#x7684;&#x63A5;&#x53E3;&#x3002;</li>
-<li>&#x56FE;&#x4E2D;&#x4ECE;&#x4E0B;&#x81F3;&#x4E0A;&#x5206;&#x4E3A;&#x5341;&#x5C42;&#xFF0C;&#x5404;&#x5C42;&#x5747;&#x4E3A;&#x5355;&#x5411;&#x4F9D;&#x8D56;&#xFF0C;&#x53F3;&#x8FB9;&#x7684;&#x9ED1;&#x8272;&#x7BAD;&#x5934;&#x4EE3;&#x8868;&#x5C42;&#x4E4B;&#x95F4;&#x7684;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#xFF0C;&#x6BCF;&#x4E00;&#x5C42;&#x90FD;&#x53EF;&#x4EE5;&#x5265;&#x79BB;&#x4E0A;&#x5C42;&#x88AB;&#x590D;&#x7528;&#xFF0C;&#x5176;&#x4E2D;&#xFF0C;Service&#x548C;Config&#x5C42;&#x4E3A;API&#xFF0C;&#x5176;&#x5B83;&#x5404;&#x5C42;&#x5747;&#x4E3A;SPI&#x3002;</li>
-<li>&#x56FE;&#x4E2D;&#x7EFF;&#x8272;&#x5C0F;&#x5757;&#x7684;&#x4E3A;&#x6269;&#x5C55;&#x63A5;&#x53E3;&#xFF0C;&#x84DD;&#x8272;&#x5C0F;&#x5757;&#x4E3A;&#x5B9E;&#x73B0;&#x7C7B;&#xFF0C;&#x56FE;&#x4E2D;&#x53EA;&#x663E;&#x793A;&#x7528;&#x4E8E;&#x5173;&#x8054;&#x5404;&#x5C42;&#x7684;&#x5B9E;&#x73B0;&#x7C7B;&#x3002;</li>
-<li>&#x56FE;&#x4E2D;&#x84DD;&#x8272;&#x865A;&#x7EBF;&#x4E3A;&#x521D;&#x59CB;&#x5316;&#x8FC7;&#x7A0B;&#xFF0C;&#x5373;&#x542F;&#x52A8;&#x65F6;&#x7EC4;&#x88C5;&#x94FE;&#xFF0C;&#x7EA2;&#x8272;&#x5B9E;&#x7EBF;&#x4E3A;&#x65B9;&#x6CD5;&#x8C03;&#x7528;&#x8FC7;&#x7A0B;&#xFF0C;&#x5373;&#x8FD0;&#x884C;&#x65F6;&#x8C03;&#x65F6;&#x94FE;&#xFF0C;&#x7D2B;&#x8272;&#x4E09;&#x89D2;&#x7BAD;&#x5934;&#x4E3A;&#x7EE7;&#x627F;&#xFF0C;&#x53EF;&#x4EE5;&#x628A;&#x5B50;&#x7C7B;&#x770B;&#x4F5C;&#x7236;&#x7C7B;&#x7684;&#x540C;&#x4E00;&#x4E2A;&#x8282;&#x70B9;&#xFF0C;&#x7EBF;&#x4E0A;&#x7684;&#x6587;&#x5B57;&#x4E3A;&#x8C03;&#x7528;&#x7684;&#x65B9;&#x6CD5;&#x3002;</li>
-</ul>
-<p><strong>&#x5404;&#x5C42;&#x8BF4;&#x660E;</strong></p>
-<ul>
-<li><code>config</code> &#x914D;&#x7F6E;&#x5C42;&#xFF0C;&#x5BF9;&#x5916;&#x914D;&#x7F6E;&#x63A5;&#x53E3;&#xFF0C;&#x4EE5; <code>ServiceConfig</code>, <code>ReferenceConfig</code> &#x4E3A;&#x4E2D;&#x5FC3;&#xFF0C;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;new&#x914D;&#x7F6E;&#x7C7B;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;spring&#x89E3;&#x6790;&#x914D;&#x7F6E;&#x751F;&#x6210;&#x914D;&#x7F6E;&#x7C7B;</li>
-<li><code>proxy</code> &#x670D;&#x52A1;&#x4EE3;&#x7406;&#x5C42;&#xFF0C;&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x900F;&#x660E;&#x4EE3;&#x7406;&#xFF0C;&#x751F;&#x6210;&#x670D;&#x52A1;&#x7684;&#x5BA2;&#x6237;&#x7AEF;Stub&#x548C;&#x670D;&#x52A1;&#x5668;&#x7AEF;Skeleton, &#x4EE5; <code>ServiceProxy</code> &#x4E3A;&#x4E2D;&#x5FC3;&#xFF0C;&#x6269;&#x5C55;&#x63A5;&#x53E3;&#x4E3A; <code>ProxyFactory</code></li>
-<li><code>registry</code> &#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5C42;&#xFF0C;&#x5C01;&#x88C5;&#x670D;&#x52A1;&#x5730;&#x5740;&#x7684;&#x6CE8;&#x518C;&#x4E0E;&#x53D1;&#x73B0;&#xFF0C;&#x4EE5;&#x670D;&#x52A1;URL&#x4E3A;&#x4E2D;&#x5FC3;&#xFF0C;&#x6269;&#x5C55;&#x63A5;&#x53E3;&#x4E3A; <code>RegistryFactory</code>, <code>Registry</code>, <code>RegistryService</code></li>
-<li><code>cluster</code> &#x8DEF;&#x7531;&#x5C42;&#xFF0C;&#x5C01;&#x88C5;&#x591A;&#x4E2A;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x8DEF;&#x7531;&#x53CA;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#xFF0C;&#x5E76;&#x6865;&#x63A5;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x4EE5; <code>Invoker</code> &#x4E3A;&#x4E2D;&#x5FC3;&#xFF0C;&#x6269;&#x5C55;&#x63A5;&#x53E3;&#x4E3A; <code>Cluster</code>, <code>Directory</code>, <code>Router</code>, <code>LoadBalance</code></li>
-<li><code>monitor</code> &#x76D1;&#x63A7;&#x5C42;&#xFF0C;RPC&#x8C03;&#x7528;&#x6B21;&#x6570;&#x548C;&#x8C03;&#x7528;&#x65F6;&#x95F4;&#x76D1;&#x63A7;&#xFF0C;&#x4EE5;Statistics&#x4E3A;&#x4E2D;&#x5FC3;&#xFF0C;&#x6269;&#x5C55;&#x63A5;&#x53E3;&#x4E3A; <code>MonitorFactory</code>, <code>Monitor</code>, <code>MonitorService</code></li>
-<li><code>protocol</code> &#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x5C42;&#xFF0C;&#x5C01;&#x5C06;RPC&#x8C03;&#x7528;&#xFF0C;&#x4EE5; <code>Invocation</code>, <code>Result</code> &#x4E3A;&#x4E2D;&#x5FC3;&#xFF0C;&#x6269;&#x5C55;&#x63A5;&#x53E3;&#x4E3A; <code>Protocol</code>, <code>Invoker</code>, <code>Exporter</code></li>
-<li><code>exchange</code> &#x4FE1;&#x606F;&#x4EA4;&#x6362;&#x5C42;&#xFF0C;&#x5C01;&#x88C5;&#x8BF7;&#x6C42;&#x54CD;&#x5E94;&#x6A21;&#x5F0F;&#xFF0C;&#x540C;&#x6B65;&#x8F6C;&#x5F02;&#x6B65;&#xFF0C;&#x4EE5; <code>Request</code>, <code>Response</code> &#x4E3A;&#x4E2D;&#x5FC3;&#xFF0C;&#x6269;&#x5C55;&#x63A5;&#x53E3;&#x4E3A; <code>Exchanger</code>, <code>ExchangeChannel</code>, <code>ExchangeClient</code>, <code>ExchangeServer</code></li>
-<li><code>transport</code> &#x7F51;&#x7EDC;&#x4F20;&#x8F93;&#x5C42;&#xFF0C;&#x62BD;&#x8C61;mina&#x548C;netty&#x4E3A;&#x7EDF;&#x4E00;&#x63A5;&#x53E3;&#xFF0C;&#x4EE5;Message&#x4E3A;&#x4E2D;&#x5FC3;&#xFF0C;&#x6269;&#x5C55;&#x63A5;&#x53E3;&#x4E3A; <code>Channel</code>, <code>Transporter</code>, <code>Client</code>, <code>Server</code>, <code>Codec</code></li>
-<li><code>serialize</code> &#x6570;&#x636E;&#x5E8F;&#x5217;&#x5316;&#x5C42;&#xFF0C;&#x53EF;&#x590D;&#x7528;&#x7684;&#x4E00;&#x4E9B;&#x5DE5;&#x5177;&#xFF0C;&#x6269;&#x5C55;&#x63A5;&#x53E3;&#x4E3A;<code>Serialization</code>, <code>ObjectInput</code>, <code>ObjectOutput</code>, <code>ThreadPool</code></li>
-</ul>
-<p><strong>&#x5173;&#x7CFB;&#x8BF4;&#x660E;</strong></p>
-<ul>
-<li>&#x5728;RPC&#x4E2D;&#xFF0C;Protocol&#x662F;&#x6838;&#x5FC3;&#x5C42;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x53EA;&#x8981;&#x6709;Protocol + Invoker + Exporter&#x5C31;&#x53EF;&#x4EE5;&#x5B8C;&#x6210;&#x975E;&#x900F;&#x660E;&#x7684;RPC&#x8C03;&#x7528;&#xFF0C;&#x7136;&#x540E;&#x5728;Invoker&#x7684;&#x4E3B;&#x8FC7;&#x7A0B;&#x4E0A;Filter&#x62E6;&#x622A;&#x70B9;&#x3002;</li>
-<li>&#x56FE;&#x4E2D;&#x7684;Consumer&#x548C;Provider&#x662F;&#x62BD;&#x8C61;&#x6982;&#x5FF5;&#xFF0C;&#x53EA;&#x662F;&#x60F3;&#x8BA9;&#x770B;&#x56FE;&#x8005;&#x66F4;&#x76F4;&#x89C2;&#x7684;&#x4E86;&#x89E3;&#x54EA;&#x4E9B;&#x7C7B;&#x5206;&#x5C5E;&#x4E8E;&#x5BA2;&#x6237;&#x7AEF;&#x4E0E;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#xFF0C;&#x4E0D;&#x7528;Client&#x548C;Server&#x7684;&#x539F;&#x56E0;&#x662F;Dubbo&#x5728;&#x5F88;&#x591A;&#x573A;&#x666F;&#x4E0B;&#x90FD;&#x4F7F;&#x7528;Provider, Consumer, Registry, Monitor&#x5212;&#x5206;&#x903B;&#x8F91;&#x62D3;&#x666E;&#x8282;&#x70B9;&#xFF0C;&#x4FDD;&#x6301;&#x7EDF;&#x4E00;&#x6982;&#x5FF5;&#x3002;</li>
-<li>&#x800C;Cluster&#x662F;&#x5916;&#x56F4;&#x6982;&#x5FF5;&#xFF0C;&#x6240;&#x4EE5;Cluster&#x7684;&#x76EE;&#x7684;&#x662F;&#x5C06;&#x591A;&#x4E2A;Invoker&#x4F2A;&#x88C5;&#x6210;&#x4E00;&#x4E2A;Invoker&#xFF0C;&#x8FD9;&#x6837;&#x5176;&#x5B83;&#x4EBA;&#x53EA;&#x8981;&#x5173;&#x6CE8;Protocol&#x5C42;Invoker&#x5373;&#x53EF;&#xFF0C;&#x52A0;&#x4E0A;Cluster&#x6216;&#x8005;&#x53BB;&#x6389;Cluster&#x5BF9;&#x5176;&#x5B83;&#x5C42;&#x90FD;&#x4E0D;&#x4F1A;&#x9020;&#x6210;&#x5F71;&#x54CD;&#xFF0C;&#x56E0;&#x4E3A;&#x53EA;&#x6709;&#x4E00;&#x4E2A;&#x63D0;&#x4F9B;&#x8005;&#x65F6;&#xFF0C;&#x662F;&#x4E0D;&#x9700;&#x8981;Cluster&#x7684;&#x3002;</li>
-<li>Proxy&#x5C42;&#x5C01;&#x88C5;&#x4E86;&#x6240;&#x6709;&#x63A5;&#x53E3;&#x7684;&#x900F;&#x660E;&#x5316;&#x4EE3;&#x7406;&#xFF0C;&#x800C;&#x5728;&#x5176;&#x5B83;&#x5C42;&#x90FD;&#x4EE5;Invoker&#x4E3A;&#x4E2D;&#x5FC3;&#xFF0C;&#x53EA;&#x6709;&#x5230;&#x4E86;&#x66B4;&#x9732;&#x7ED9;&#x7528;&#x6237;&#x4F7F;&#x7528;&#x65F6;&#xFF0C;&#x624D;&#x7528;Proxy&#x5C06;Invoker&#x8F6C;&#x6210;&#x63A5;&#x53E3;&#xFF0C;&#x6216;&#x5C06;&#x63A5;&#x53E3;&#x5B9E;&#x73B0;&#x8F6C;&#x6210;Invoker&#xFF0C;&#x4E5F;&#x5C31;&#x662F;&#x53BB;&#x6389;Proxy&#x5C42;RPC&#x662F;&#x53EF;&#x4EE5;Run&#x7684;&#xFF0C;&#x53EA;&#x662F;&#x4E0D;&#x90A3;&#x4E48;&#x900F;&#x660E;&#xFF0C;&#x4E0D;&#x90A3;&#x4E48;&#x770B;&#x8D77;&#x6765;&#x50CF;&#x8C03;&#x672C;&#x5730;&#x670D;&#x52A1;&#x4E00;&#x6837;&#x8C03;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x3002;</li>
-<li>&#x800C;Remoting&#x5B9E;&#x73B0;&#x662F;Dubbo&#x534F;&#x8BAE;&#x7684;&#x5B9E;&#x73B0;&#xFF0C;&#x5982;&#x679C;&#x4F60;&#x9009;&#x62E9;RMI&#x534F;&#x8BAE;&#xFF0C;&#x6574;&#x4E2A;Remoting&#x90FD;&#x4E0D;&#x4F1A;&#x7528;&#x4E0A;&#xFF0C;Remoting&#x5185;&#x90E8;&#x518D;&#x5212;&#x4E3A;Transport&#x4F20;&#x8F93;&#x5C42;&#x548C;Exchange&#x4FE1;&#x606F;&#x4EA4;&#x6362;&#x5C42;&#xFF0C;Transport&#x5C42;&#x53EA;&#x8D1F;&#x8D23;&#x5355;&#x5411;&#x6D88;&#x606F;&#x4F20;&#x8F93;&#xFF0C;&#x662F;&#x5BF9;Mina,Netty,Grizzly&#x7684;&#x62BD;&#x8C61;&#xFF0C;&#x5B83;&#x4E5F;&#x53EF;&#x4EE5;&#x6269;&#x5C55;UDP&#x4F20;&#x8F93;&#xFF0C;&#x800C;Exchange&#x5C42;&#x662F;&#x5728;&#x4F20;&#x8F93;&#x5C42;&#x4E4B;&#x4E0A;&#x5C01;&#x88C5;&#x4E86;Request-Response&#x8BED;&#x4E49;&#x3002;</li>
-<li>Registry&#x548C;Monitor&#x5B9E;&#x9645;&#x4E0A;&#x4E0D;&#x7B97;&#x4E00;&#x5C42;&#xFF0C;&#x800C;&#x662F;&#x4E00;&#x4E2A;&#x72EC;&#x7ACB;&#x7684;&#x8282;&#x70B9;&#xFF0C;&#x53EA;&#x662F;&#x4E3A;&#x4E86;&#x5168;&#x5C40;&#x6982;&#x89C8;&#xFF0C;&#x7528;&#x5C42;&#x7684;&#x65B9;&#x5F0F;&#x753B;&#x5728;&#x4E00;&#x8D77;&#x3002;</li>
-</ul>
-<h4 id="&#x6A21;&#x5757;&#x5206;&#x5305;">&#x6A21;&#x5757;&#x5206;&#x5305;</h4>
-<p><img src="sources/images/dubbo-modules.jpg" alt="/dev-guide/images/dubbo-modules.jpg"></p>
-<p><strong>&#x6A21;&#x5757;&#x8BF4;&#x660E;</strong></p>
-<ul>
-<li>dubbo-common &#x516C;&#x5171;&#x903B;&#x8F91;&#x6A21;&#x5757;&#xFF0C;&#x5305;&#x62EC;Util&#x7C7B;&#x548C;&#x901A;&#x7528;&#x6A21;&#x578B;&#x3002;</li>
-<li>dubbo-remoting &#x8FDC;&#x7A0B;&#x901A;&#x8BAF;&#x6A21;&#x5757;&#xFF0C;&#x76F8;&#x5F53;&#x4E8E;Dubbo&#x534F;&#x8BAE;&#x7684;&#x5B9E;&#x73B0;&#xFF0C;&#x5982;&#x679C;RPC&#x7528;RMI&#x534F;&#x8BAE;&#x5219;&#x4E0D;&#x9700;&#x8981;&#x4F7F;&#x7528;&#x6B64;&#x5305;&#x3002;</li>
-<li>dubbo-rpc &#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x6A21;&#x5757;&#xFF0C;&#x62BD;&#x8C61;&#x5404;&#x79CD;&#x534F;&#x8BAE;&#xFF0C;&#x4EE5;&#x53CA;&#x52A8;&#x6001;&#x4EE3;&#x7406;&#xFF0C;&#x53EA;&#x5305;&#x542B;&#x4E00;&#x5BF9;&#x4E00;&#x7684;&#x8C03;&#x7528;&#xFF0C;&#x4E0D;&#x5173;&#x5FC3;&#x96C6;&#x7FA4;&#x7684;&#x7BA1;&#x7406;&#x3002;</li>
-<li>dubbo-cluster &#x96C6;&#x7FA4;&#x6A21;&#x5757;&#xFF0C;&#x5C06;&#x591A;&#x4E2A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x4F2A;&#x88C5;&#x4E3A;&#x4E00;&#x4E2A;&#x63D0;&#x4F9B;&#x65B9;&#xFF0C;&#x5305;&#x62EC;&#xFF1A;&#x8D1F;&#x8F7D;&#x5747;&#x8861;, &#x5BB9;&#x9519;&#xFF0C;&#x8DEF;&#x7531;&#x7B49;&#xFF0C;&#x96C6;&#x7FA4;&#x7684;&#x5730;&#x5740;&#x5217;&#x8868;&#x53EF;&#x4EE5;&#x662F;&#x9759;&#x6001;&#x914D;&#x7F6E;&#x7684;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x662F;&#x7531;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4E0B;&#x53D1;&#x3002;</li>
-<li>dubbo-registry &#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6A21;&#x5757;&#xFF0C;&#x57FA;&#x4E8E;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4E0B;&#x53D1;&#x5730;&#x5740;&#x7684;&#x96C6;&#x7FA4;&#x65B9;&#x5F0F;&#xFF0C;&#x4EE5;&#x53CA;&#x5BF9;&#x5404;&#x79CD;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x62BD;&#x8C61;&#x3002;</li>
-<li>dubbo-monitor &#x76D1;&#x63A7;&#x6A21;&#x5757;&#xFF0C;&#x7EDF;&#x8BA1;&#x670D;&#x52A1;&#x8C03;&#x7528;&#x6B21;&#x6570;&#xFF0C;&#x8C03;&#x7528;&#x65F6;&#x95F4;&#x7684;&#xFF0C;&#x8C03;&#x7528;&#x94FE;&#x8DDF;&#x8E2A;&#x7684;&#x670D;&#x52A1;&#x3002;</li>
-<li>dubbo-config &#x914D;&#x7F6E;&#x6A21;&#x5757;&#xFF0C;&#x662F;Dubbo&#x5BF9;&#x5916;&#x7684;API&#xFF0C;&#x7528;&#x6237;&#x901A;&#x8FC7;Config&#x4F7F;&#x7528;Dubbo&#xFF0C;&#x9690;&#x85CF;Dubbo&#x6240;&#x6709;&#x7EC6;&#x8282;&#x3002;</li>
-<li>dubbo-container &#x5BB9;&#x5668;&#x6A21;&#x5757;&#xFF0C;&#x662F;&#x4E00;&#x4E2A;Standlone&#x7684;&#x5BB9;&#x5668;&#xFF0C;&#x4EE5;&#x7B80;&#x5355;&#x7684;Main&#x52A0;&#x8F7D;Spring&#x542F;&#x52A8;&#xFF0C;&#x56E0;&#x4E3A;&#x670D;&#x52A1;&#x901A;&#x5E38;&#x4E0D;&#x9700;&#x8981;Tomcat/JBoss&#x7B49;Web&#x5BB9;&#x5668;&#x7684;&#x7279;&#x6027;&#xFF0C;&#x6CA1;&#x5FC5;&#x8981;&#x7528;Web&#x5BB9;&#x5668;&#x53BB;&#x52A0;&#x8F7D;&#x670D;&#x52A1;&#x3002;</li>
-</ul>
-<p>&#x6574;&#x4F53;&#x4E0A;&#x6309;&#x7167;&#x5206;&#x5C42;&#x7ED3;&#x6784;&#x8FDB;&#x884C;&#x5206;&#x5305;&#xFF0C;&#x4E0E;&#x5206;&#x5C42;&#x7684;&#x4E0D;&#x540C;&#x70B9;&#x5728;&#x4E8E;&#xFF1A;</p>
-<ul>
-<li>container&#x4E3A;&#x670D;&#x52A1;&#x5BB9;&#x5668;&#xFF0C;&#x7528;&#x4E8E;&#x90E8;&#x7F72;&#x8FD0;&#x884C;&#x670D;&#x52A1;&#xFF0C;&#x6CA1;&#x6709;&#x5728;&#x5C42;&#x4E2D;&#x753B;&#x51FA;&#x3002;</li>
-<li>protocol&#x5C42;&#x548C;proxy&#x5C42;&#x90FD;&#x653E;&#x5728;rpc&#x6A21;&#x5757;&#x4E2D;&#xFF0C;&#x8FD9;&#x4E24;&#x5C42;&#x662F;rpc&#x7684;&#x6838;&#x5FC3;&#xFF0C;&#x5728;&#x4E0D;&#x9700;&#x8981;&#x96C6;&#x7FA4;&#x65F6;(&#x53EA;&#x6709;&#x4E00;&#x4E2A;&#x63D0;&#x4F9B;&#x8005;)&#xFF0C;&#x53EF;&#x4EE5;&#x53EA;&#x4F7F;&#x7528;&#x8FD9;&#x4E24;&#x5C42;&#x5B8C;&#x6210;rpc&#x8C03;&#x7528;&#x3002;</li>
-<li>transport&#x5C42;&#x548C;exchange&#x5C42;&#x90FD;&#x653E;&#x5728;remoting&#x6A21;&#x5757;&#x4E2D;&#xFF0C;&#x4E3A;rpc&#x8C03;&#x7528;&#x7684;&#x901A;&#x8BAF;&#x57FA;&#x7840;&#x3002;</li>
-<li>serialize&#x5C42;&#x653E;&#x5728;common&#x6A21;&#x5757;&#x4E2D;&#xFF0C;&#x4EE5;&#x4FBF;&#x66F4;&#x5927;&#x7A0B;&#x5EA6;&#x590D;&#x7528;&#x3002;</li>
-</ul>
-<h4 id="&#x4F9D;&#x8D56;&#x5173;&#x7CFB;">&#x4F9D;&#x8D56;&#x5173;&#x7CFB;</h4>
-<p><img src="sources/images/dubbo-relation.jpg" alt="/dev-guide/images/dubbo-relation.jpg"></p>
-<p><strong>&#x56FE;&#x4F8B;&#x8BF4;&#x660E;</strong></p>
-<ul>
-<li>&#x56FE;&#x4E2D;&#x5C0F;&#x65B9;&#x5757;Protocol, Cluster, Proxy, Service, Container, Registry, Monitor&#x4EE3;&#x8868;&#x5C42;&#x6216;&#x6A21;&#x5757;&#xFF0C;&#x84DD;&#x8272;&#x7684;&#x8868;&#x793A;&#x4E0E;&#x4E1A;&#x52A1;&#x6709;&#x4EA4;&#x4E92;&#xFF0C;&#x7EFF;&#x8272;&#x7684;&#x8868;&#x793A;&#x53EA;&#x5BF9;Dubbo&#x5185;&#x90E8;&#x4EA4;&#x4E92;&#x3002;</li>
-<li>&#x56FE;&#x4E2D;&#x80CC;&#x666F;&#x65B9;&#x5757;Consumer, Provider, Registry, Monitor&#x4EE3;&#x8868;&#x90E8;&#x7F72;&#x903B;&#x8F91;&#x62D3;&#x666E;&#x8282;&#x70B9;&#x3002;</li>
-<li>&#x56FE;&#x4E2D;&#x84DD;&#x8272;&#x865A;&#x7EBF;&#x4E3A;&#x521D;&#x59CB;&#x5316;&#x65F6;&#x8C03;&#x7528;&#xFF0C;&#x7EA2;&#x8272;&#x865A;&#x7EBF;&#x4E3A;&#x8FD0;&#x884C;&#x65F6;&#x5F02;&#x6B65;&#x8C03;&#x7528;&#xFF0C;&#x7EA2;&#x8272;&#x5B9E;&#x7EBF;&#x4E3A;&#x8FD0;&#x884C;&#x65F6;&#x540C;&#x6B65;&#x8C03;&#x7528;&#x3002;</li>
-<li>&#x56FE;&#x4E2D;&#x53EA;&#x5305;&#x542B;RPC&#x7684;&#x5C42;&#xFF0C;&#x4E0D;&#x5305;&#x542B;Remoting&#x7684;&#x5C42;&#xFF0C;Remoting&#x6574;&#x4F53;&#x90FD;&#x9690;&#x542B;&#x5728;Protocol&#x4E2D;&#x3002;</li>
-</ul>
-<h4 id="&#x8C03;&#x7528;&#x94FE;">&#x8C03;&#x7528;&#x94FE;</h4>
-<p>&#x5C55;&#x5F00;&#x603B;&#x8BBE;&#x8BA1;&#x56FE;&#x7684;&#x7EA2;&#x8272;&#x8C03;&#x7528;&#x94FE;&#xFF0C;&#x5982;&#x4E0B;&#xFF1A;</p>
-<p><img src="sources/images/dubbo-extension.jpg" alt="/dev-guide/images/dubbo-extension.jpg"></p>
-<h4 id="&#x66B4;&#x9732;&#x670D;&#x52A1;&#x65F6;&#x5E8F;">&#x66B4;&#x9732;&#x670D;&#x52A1;&#x65F6;&#x5E8F;</h4>
-<p>&#x5C55;&#x5F00;&#x603B;&#x8BBE;&#x8BA1;&#x56FE;&#x5DE6;&#x8FB9;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x66B4;&#x9732;&#x670D;&#x52A1;&#x7684;&#x84DD;&#x8272;&#x521D;&#x59CB;&#x5316;&#x94FE;&#xFF0C;&#x65F6;&#x5E8F;&#x56FE;&#x5982;&#x4E0B;&#xFF1A;</p>
-<p><img src="sources/images/dubbo-export.jpg" alt="/dev-guide/images/dubbo-export.jpg"></p>
-<h4 id="&#x5F15;&#x7528;&#x670D;&#x52A1;&#x65F6;&#x5E8F;">&#x5F15;&#x7528;&#x670D;&#x52A1;&#x65F6;&#x5E8F;</h4>
-<p>&#x5C55;&#x5F00;&#x603B;&#x8BBE;&#x8BA1;&#x56FE;&#x53F3;&#x8FB9;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#x5F15;&#x7528;&#x670D;&#x52A1;&#x7684;&#x84DD;&#x8272;&#x521D;&#x59CB;&#x5316;&#x94FE;&#xFF0C;&#x65F6;&#x5E8F;&#x56FE;&#x5982;&#x4E0B;&#xFF1A;</p>
-<p><img src="sources/images/dubbo-refer.jpg" alt="/dev-guide/images/dubbo-refer.jpg"></p>
-<h4 id="&#x9886;&#x57DF;&#x6A21;&#x578B;">&#x9886;&#x57DF;&#x6A21;&#x578B;</h4>
-<p>&#x5728;Dubbo&#x7684;&#x6838;&#x5FC3;&#x9886;&#x57DF;&#x6A21;&#x578B;&#x4E2D;&#xFF1A;</p>
-<ul>
-<li>Protocol&#x662F;&#x670D;&#x52A1;&#x57DF;&#xFF0C;&#x5B83;&#x662F;Invoker&#x66B4;&#x9732;&#x548C;&#x5F15;&#x7528;&#x7684;&#x4E3B;&#x529F;&#x80FD;&#x5165;&#x53E3;&#xFF0C;&#x5B83;&#x8D1F;&#x8D23;Invoker&#x7684;&#x751F;&#x547D;&#x5468;&#x671F;&#x7BA1;&#x7406;&#x3002;</li>
-<li>Invoker&#x662F;&#x5B9E;&#x4F53;&#x57DF;&#xFF0C;&#x5B83;&#x662F;Dubbo&#x7684;&#x6838;&#x5FC3;&#x6A21;&#x578B;&#xFF0C;&#x5176;&#x5B83;&#x6A21;&#x578B;&#x90FD;&#x5411;&#x5B83;&#x9760;&#x6270;&#xFF0C;&#x6216;&#x8F6C;&#x6362;&#x6210;&#x5B83;&#xFF0C;&#x5B83;&#x4EE3;&#x8868;&#x4E00;&#x4E2A;&#x53EF;&#x6267;&#x884C;&#x4F53;&#xFF0C;&#x53EF;&#x5411;&#x5B83;&#x53D1;&#x8D77;invoke&#x8C03;&#x7528;&#xFF0C;&#x5B83;&#x6709;&#x53EF;&#x80FD;&#x662F;&#x4E00;&#x4E2A;&#x672C;&#x5730;&#x7684;&#x5B9E;&#x73B0;&#xFF0C;&#x4E5F;&#x53EF;&#x80FD;&#x662F;&#x4E00;&#x4E2A;&#x8FDC;&#x7A0B;&#x7684;&#x5B9E;&#x73B0;&#xFF0C;&#x4E5F;&#x53EF;&#x80FD;&#x4E00;&#x4E2A;&#x96C6;&#x7FA4;&#x5B9E;&#x73B0;&#x3002;</li>
-<li>Invocation&#x662F;&#x4F1A;&#x8BDD;&#x57DF;&#xFF0C;&#x5B83;&#x6301;&#x6709;&#x8C03;&#x7528;&#x8FC7;&#x7A0B;&#x4E2D;&#x7684;&#x53D8;&#x91CF;&#xFF0C;&#x6BD4;&#x5982;&#x65B9;&#x6CD5;&#x540D;&#xFF0C;&#x53C2;&#x6570;&#x7B49;&#x3002;</li>
-</ul>
-<h4 id="&#x57FA;&#x672C;&#x539F;&#x5219;">&#x57FA;&#x672C;&#x539F;&#x5219;</h4>
-<ul>
-<li>&#x91C7;&#x7528;Microkernel + Plugin&#x6A21;&#x5F0F;&#xFF0C;Microkernel&#x53EA;&#x8D1F;&#x8D23;&#x7EC4;&#x88C5;Plugin&#xFF0C;Dubbo&#x81EA;&#x8EAB;&#x7684;&#x529F;&#x80FD;&#x4E5F;&#x662F;&#x901A;&#x8FC7;&#x6269;&#x5C55;&#x70B9;&#x5B9E;&#x73B0;&#x7684;&#xFF0C;&#x4E5F;&#x5C31;&#x662F;Dubbo&#x7684;&#x6240;&#x6709;&#x529F;&#x80FD;&#x70B9;&#x90FD;&#x53EF;&#x88AB;&#x7528;&#x6237;&#x81EA;&#x5B9A;&#x4E49;&#x6269;&#x5C55;&#x6240;&#x66FF;&#x6362;&#x3002;</li>
-<li>&#x91C7;&#x7528;URL&#x4F5C;&#x4E3A;&#x914D;&#x7F6E;&#x4FE1;&#x606F;&#x7684;&#x7EDF;&#x4E00;&#x683C;&#x5F0F;&#xFF0C;&#x6240;&#x6709;&#x6269;&#x5C55;&#x70B9;&#x90FD;&#x901A;&#x8FC7;&#x4F20;&#x9012;URL&#x643A;&#x5E26;&#x914D;&#x7F6E;&#x4FE1;&#x606F;&#x3002;</li>
-</ul>
-<p>&#x66F4;&#x591A;&#x8BBE;&#x8BA1;&#x539F;&#x5219;&#x53C2;&#x89C1;&#xFF1A;<a href="http://dubbo.io/Training-zh.htm#Training-zh-&#x300A;&#x6846;&#x67B6;&#x8BBE;&#x8BA1;&#x539F;&#x5219;&#x300B;" target="_blank">&#x6846;&#x67B6;&#x8BBE;&#x8BA1;&#x539F;&#x5219;</a></p>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="源码构建.html" class="navigation navigation-prev " aria-label="Previous page: 3 源码构建">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="扩展点加载.html" class="navigation navigation-next " aria-label="Next page: 5 扩展点加载">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4 框架设计","level":"1.5","depth":1,"next":{"title":"5 扩展点加载","level":"1.6","depth":1,"path":"扩展点加载.md","ref":"./扩展点加载.md","articles":[]},"previous":{"title":"3 源码构建","level":"1.4","depth":1,"path":"源码构建.md","ref":"./源码构建.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"框架设计.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/\346\243\200\346\237\245\345\210\227\350\241\250.html" "b/developer-guide/\346\243\200\346\237\245\345\210\227\350\241\250.html"
deleted file mode 100644
index f04ecd9..0000000
--- "a/developer-guide/\346\243\200\346\237\245\345\210\227\350\241\250.html"
+++ /dev/null
@@ -1,755 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>11 检查列表 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="设计原则.html" />
-    
-    
-    <link rel="prev" href="编码约定.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="contribution.html">
-            
-                <a href="contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="版本管理.html">
-            
-                <a href="版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="源码构建.html">
-            
-                <a href="源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="框架设计.html">
-            
-                <a href="框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="扩展点加载.html">
-            
-                <a href="扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="SPI参考手册/introduction.html">
-            
-                <a href="SPI参考手册/introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="SPI参考手册/协议扩展.html">
-            
-                <a href="SPI参考手册/协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="SPI参考手册/调用拦截扩展.html">
-            
-                <a href="SPI参考手册/调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="SPI参考手册/引用监听扩展.html">
-            
-                <a href="SPI参考手册/引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="SPI参考手册/暴露监听扩展.html">
-            
-                <a href="SPI参考手册/暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="SPI参考手册/集群扩展.html">
-            
-                <a href="SPI参考手册/集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="SPI参考手册/路由扩展.html">
-            
-                <a href="SPI参考手册/路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="SPI参考手册/负载均衡扩展.html">
-            
-                <a href="SPI参考手册/负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="SPI参考手册/合并结果扩展.html">
-            
-                <a href="SPI参考手册/合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="SPI参考手册/注册中心扩展.html">
-            
-                <a href="SPI参考手册/注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="SPI参考手册/监控中心扩展.html">
-            
-                <a href="SPI参考手册/监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="SPI参考手册/扩展点加载扩展.html">
-            
-                <a href="SPI参考手册/扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="SPI参考手册/动态代理扩展.html">
-            
-                <a href="SPI参考手册/动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="SPI参考手册/编译器扩展.html">
-            
-                <a href="SPI参考手册/编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="SPI参考手册/消息派发扩展.html">
-            
-                <a href="SPI参考手册/消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="SPI参考手册/线程池扩展.html">
-            
-                <a href="SPI参考手册/线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="SPI参考手册/序列化扩展.html">
-            
-                <a href="SPI参考手册/序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="SPI参考手册/网络传输扩展.html">
-            
-                <a href="SPI参考手册/网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="SPI参考手册/信息交换扩展.html">
-            
-                <a href="SPI参考手册/信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="SPI参考手册/组网扩展.html">
-            
-                <a href="SPI参考手册/组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="SPI参考手册/Telnet命令扩展.html">
-            
-                <a href="SPI参考手册/Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="SPI参考手册/状态检查扩展.html">
-            
-                <a href="SPI参考手册/状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="SPI参考手册/容器扩展.html">
-            
-                <a href="SPI参考手册/容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="SPI参考手册/页面扩展.html">
-            
-                <a href="SPI参考手册/页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="SPI参考手册/缓存扩展.html">
-            
-                <a href="SPI参考手册/缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="SPI参考手册/验证扩展.html">
-            
-                <a href="SPI参考手册/验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="SPI参考手册/日志适配扩展.html">
-            
-                <a href="SPI参考手册/日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="技术兼容性测试.html">
-            
-                <a href="技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="公共契约.html">
-            
-                <a href="公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="坏味道.html">
-            
-                <a href="坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="编码约定.html">
-            
-                <a href="编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.12" data-path="检查列表.html">
-            
-                <a href="检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="设计原则.html">
-            
-                <a href="设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >11 检查列表</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h4 id="&#x53D1;&#x5E03;&#x524D;checklist">&#x53D1;&#x5E03;&#x524D;checklist</h4>
-<ul>
-<li>jira ticket &#x8FC7;&#x4E00;&#x904D;</li>
-<li>svn change list</li>
-<li>ticket&#x5173;&#x8054;code</li>
-<li>test code</li>
-<li>find bugs</li>
-</ul>
-<h4 id="&#x4FEE;&#x590D;&#x65F6;checklist">&#x4FEE;&#x590D;&#x65F6;checklist</h4>
-<ul>
-<li>&#x4FEE;&#x590D;&#x4EE3;&#x7801;&#x524D;&#x5148;&#x5EFA;ticket </li>
-<li>&#x4FEE;&#x590D;&#x4EE3;&#x7801;&#x524D;&#x5148;&#x5199;&#x6D4B;&#x8BD5;&#x7528;&#x4F8B;</li>
-<li>&#x9700;&#x8981;&#x4F19;&#x4F34;&#x68C0;&#x67E5;</li>
-<li>test code(&#x6B63;&#x5E38;&#x6D41;&#x7A0B;/&#x5F02;&#x5E38;&#x6D41;&#x7A0B;)</li>
-<li>&#x8BB2;&#x4E00;&#x904D;&#x903B;&#x8F91;</li>
-<li>&#x5951;&#x7EA6;&#x6587;&#x6863;&#x5316;</li>
-<li>&#x4EE5;&#x4E0A;&#x5185;&#x5BB9;&#x90FD;&#x5199;&#x5230;ticket&#x7684;&#x8BC4;&#x8BBA;&#x4E0A;</li>
-<li>&#x4EE3;&#x7801;&#x6CE8;&#x91CA;&#x5199;&#x6E05;&#x695A;&#xFF0C;&#x7528;&#x4E2D;&#x6587;&#x65E0;&#x59A8;</li>
-<li>&#x6BCF;&#x4E2A;&#x7248;&#x672C;&#x8981;&#x6709;owner&#xFF0C;&#x786E;&#x4FDD;scope&#x548C;check</li>
-</ul>
-<h4 id="partner-check">Partner Check</h4>
-<ul>
-<li>Partner&#x4EE5;&#x7528;&#x6237;&#x7684;&#x65B9;&#x5F0F;&#x8FD0;&#x884C;&#x4E00;&#x4E0B;&#x529F;&#x80FD;</li>
-<li>Partner&#x53D1;&#x73B0;&#x95EE;&#x9898;&#x3001;&#x6DFB;&#x52A0;&#x6D4B;&#x8BD5;&#xFF08;&#x96C6;&#x6210;&#x6D4B;&#x8BD5;&#xFF09;&#x590D;&#x73B0;&#x603B;&#x662F;&#xFF1B;Owner&#x5B8C;&#x6210;&#x5B9E;&#x73B0;&#x3002;&#xFF08;&#x4FDD;&#x8BC1;&#x4E24;&#x65B9;&#x7684;&#x65F6;&#x95F4;&#x6295;&#x5165;PatternerCheck &#x7684;&#x7ED9;&#x4E88;&#x65F6;&#x95F4;&#x4FDD;&#x8BC1;&#xFF09;</li>
-<li>Owner&#x5411;Partner&#x8BB2;&#x8FF0;&#x4E00;&#x904D;&#x5B9E;&#x73B0;&#x3002;</li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="编码约定.html" class="navigation navigation-prev " aria-label="Previous page: 10 编码约定">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="设计原则.html" class="navigation navigation-next " aria-label="Next page: 12 设计原则">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"11 检查列表","level":"1.12","depth":1,"next":{"title":"12 设计原则","level":"1.13","depth":1,"path":"设计原则.md","ref":"./设计原则.md","articles":[]},"previous":{"title":"10 编码约定","level":"1.11","depth":1,"path":"编码约定.md","ref":"./编码约定.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"检查列表.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/\346\272\220\347\240\201\346\236\204\345\273\272.html" "b/developer-guide/\346\272\220\347\240\201\346\236\204\345\273\272.html"
deleted file mode 100644
index 2be2294..0000000
--- "a/developer-guide/\346\272\220\347\240\201\346\236\204\345\273\272.html"
+++ /dev/null
@@ -1,770 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>3 源码构建 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="框架设计.html" />
-    
-    
-    <link rel="prev" href="版本管理.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="contribution.html">
-            
-                <a href="contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="版本管理.html">
-            
-                <a href="版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.4" data-path="源码构建.html">
-            
-                <a href="源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="框架设计.html">
-            
-                <a href="框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="扩展点加载.html">
-            
-                <a href="扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="SPI参考手册/introduction.html">
-            
-                <a href="SPI参考手册/introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="SPI参考手册/协议扩展.html">
-            
-                <a href="SPI参考手册/协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="SPI参考手册/调用拦截扩展.html">
-            
-                <a href="SPI参考手册/调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="SPI参考手册/引用监听扩展.html">
-            
-                <a href="SPI参考手册/引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="SPI参考手册/暴露监听扩展.html">
-            
-                <a href="SPI参考手册/暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="SPI参考手册/集群扩展.html">
-            
-                <a href="SPI参考手册/集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="SPI参考手册/路由扩展.html">
-            
-                <a href="SPI参考手册/路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="SPI参考手册/负载均衡扩展.html">
-            
-                <a href="SPI参考手册/负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="SPI参考手册/合并结果扩展.html">
-            
-                <a href="SPI参考手册/合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="SPI参考手册/注册中心扩展.html">
-            
-                <a href="SPI参考手册/注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="SPI参考手册/监控中心扩展.html">
-            
-                <a href="SPI参考手册/监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="SPI参考手册/扩展点加载扩展.html">
-            
-                <a href="SPI参考手册/扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="SPI参考手册/动态代理扩展.html">
-            
-                <a href="SPI参考手册/动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="SPI参考手册/编译器扩展.html">
-            
-                <a href="SPI参考手册/编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="SPI参考手册/消息派发扩展.html">
-            
-                <a href="SPI参考手册/消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="SPI参考手册/线程池扩展.html">
-            
-                <a href="SPI参考手册/线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="SPI参考手册/序列化扩展.html">
-            
-                <a href="SPI参考手册/序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="SPI参考手册/网络传输扩展.html">
-            
-                <a href="SPI参考手册/网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="SPI参考手册/信息交换扩展.html">
-            
-                <a href="SPI参考手册/信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="SPI参考手册/组网扩展.html">
-            
-                <a href="SPI参考手册/组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="SPI参考手册/Telnet命令扩展.html">
-            
-                <a href="SPI参考手册/Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="SPI参考手册/状态检查扩展.html">
-            
-                <a href="SPI参考手册/状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="SPI参考手册/容器扩展.html">
-            
-                <a href="SPI参考手册/容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="SPI参考手册/页面扩展.html">
-            
-                <a href="SPI参考手册/页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="SPI参考手册/缓存扩展.html">
-            
-                <a href="SPI参考手册/缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="SPI参考手册/验证扩展.html">
-            
-                <a href="SPI参考手册/验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="SPI参考手册/日志适配扩展.html">
-            
-                <a href="SPI参考手册/日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="技术兼容性测试.html">
-            
-                <a href="技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="公共契约.html">
-            
-                <a href="公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="坏味道.html">
-            
-                <a href="坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="编码约定.html">
-            
-                <a href="编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="检查列表.html">
-            
-                <a href="检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="设计原则.html">
-            
-                <a href="设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >3 源码构建</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x5728; <a href="https://github.com/alibaba/dubbo" target="_blank">https://github.com/alibaba/dubbo</a> &#x4E0A;&#x6D4F;&#x89C8;&#x6E90;&#x4EE3;&#x7801;&#x3002;</p>
-<h4 id="&#x4EE3;&#x7801;&#x7B7E;&#x51FA;">&#x4EE3;&#x7801;&#x7B7E;&#x51FA;</h4>
-<p>&#x901A;&#x8FC7;&#x4EE5;&#x4E0B;&#x7684;&#x8FD9;&#x4E2A;&#x547D;&#x4EE4;&#x7B7E;&#x51FA;&#x6700;&#x65B0;&#x7684;&#x9879;&#x76EE;&#x6E90;&#x7801;&#xFF1A;</p>
-<pre><code class="lang-sh">git <span class="hljs-built_in">clone</span> https://github.com/alibaba/dubbo dubbo
-</code></pre>
-<h4 id="&#x5206;&#x652F;">&#x5206;&#x652F;</h4>
-<p>&#x6211;&#x4EEC;&#x4F7F;&#x7528; master &#x4F5C;&#x4E3A;&#x4E3B;&#x5E72;&#x7248;&#x672C;&#x7684;&#x5F00;&#x53D1;&#xFF0C;&#x4F7F;&#x7528;&#x5206;&#x652F;&#x4F5C;&#x4E3A;&#x7EF4;&#x62A4;&#x7248;&#x672C;&#x3002;&#x53EF;&#x4EE5;&#x901A;&#x8FC7; <a href="https://github.com/alibaba/dubbo/tags" target="_blank">https://github.com/alibaba/dubbo/tags</a> &#x6765;&#x67E5;&#x770B;&#x6240;&#x6709;&#x7248;&#x672C;&#x7684;&#x6807;&#x7B7E;</p>
-<h4 id="&#x6784;&#x5EFA;">&#x6784;&#x5EFA;</h4>
-<p>Dubbo &#x4F7F;&#x7528; <a href="http://maven.apache.org" target="_blank">maven</a> &#x4F5C;&#x4E3A;&#x6784;&#x5EFA;&#x5DE5;&#x5177;&#x3002;</p>
-<p>&#x8981;&#x6C42;</p>
-<ul>
-<li>Java 1.5 &#x4EE5;&#x4E0A;&#x7684;&#x7248;&#x672C;</li>
-<li>Maven 2.2.1 &#x6216;&#x8005;&#x4EE5;&#x4E0A;&#x7684;&#x7248;&#x672C;   </li>
-</ul>
-<p>&#x6784;&#x5EFA;&#x4E4B;&#x524D;&#x9700;&#x8981;&#x914D;&#x7F6E;&#x4EE5;&#x4E0B;&#x7684; MAVEN_OPTS</p>
-<pre><code class="lang-sh"><span class="hljs-built_in">export</span> MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=512m
-</code></pre>
-<p>&#x4F7F;&#x7528;&#x4EE5;&#x4E0B;&#x547D;&#x4EE4;&#x505A;&#x4E00;&#x6B21;&#x6784;&#x5EFA;</p>
-<pre><code class="lang-sh">mvn clean install
-</code></pre>
-<p>&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x4EE5;&#x4E0B;&#x7684;&#x6784;&#x5EFA;&#x547D;&#x4EE4;&#x6765;&#x8DF3;&#x8FC7;&#x5355;&#x5143;&#x6D4B;&#x8BD5;</p>
-<pre><code class="lang-sh">mvn install -Dmaven.test.skip
-</code></pre>
-<h4 id="ide-&#x652F;&#x6301;">IDE &#x652F;&#x6301;</h4>
-<h5 id="&#x4F7F;&#x7528;&#x4EE5;&#x4E0B;&#x547D;&#x4EE4;&#x6765;&#x751F;&#x6210;-ide-&#x7684;&#x5DE5;&#x7A0B;">&#x4F7F;&#x7528;&#x4EE5;&#x4E0B;&#x547D;&#x4EE4;&#x6765;&#x751F;&#x6210; IDE &#x7684;&#x5DE5;&#x7A0B;</h5>
-<p>eclipse:</p>
-<pre><code>mvn eclipse:eclipse
-</code></pre><p>Intellij Idea:</p>
-<pre><code>mvn idea:idea
-</code></pre><p>&#x5728; eclipse &#x4E2D;&#x5BFC;&#x5165;</p>
-<p>&#x9996;&#x5148;&#xFF0C;&#x9700;&#x8981;&#x5728; eclipse &#x4E2D;&#x914D;&#x7F6E; maven &#x4ED3;&#x5E93;&#x3002;&#x901A;&#x8FC7; Preferences -&gt; Java -&gt; Build Path -&gt; Classpath &#x5B9A;&#x4E49; M2_REPO &#x7684; classpath &#x53D8;&#x91CF;&#x6307;&#x5411;&#x672C;&#x5730;&#x7684; maven &#x4ED3;&#x5E93; </p>
-<blockquote>
-<p>UNIX &#x4E0B;&#x7684;&#x8DEF;&#x5F84;&#x662F; ${HOME}/.m2/repository, Windows &#x4E0B;&#x7684;&#x8DEF;&#x5F84;&#x662F; C:\Documents and Settings\<user>.m2\repository</user></p>
-</blockquote>
-<p>&#x4E5F;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x4EE5;&#x4E0B;&#x7684; maven &#x547D;&#x4EE4;&#x914D;&#x7F6E;&#xFF1A;</p>
-<pre><code class="lang-sh">mvn eclipse:configure-workspace -Declipse.workspace=/path/to/the/workspace/
-</code></pre>
-<h5 id="&#x6784;&#x5EFA;&#x6E90;&#x4EE3;&#x7801;-jar-&#x5305;">&#x6784;&#x5EFA;&#x6E90;&#x4EE3;&#x7801; jar &#x5305;</h5>
-<p>&#x901A;&#x8FC7;&#x4EE5;&#x4E0B;&#x547D;&#x4EE4;&#x4EE5;&#x6784;&#x5EFA; Dubbo &#x7684;&#x6E90;&#x4EE3;&#x7801; jar &#x5305;&#xFF0C;&#x65B9;&#x4FBF;&#x7528;&#x6765;&#x8C03;&#x8BD5; Dubbo &#x6E90;&#x4EE3;&#x7801;</p>
-<pre><code class="lang-sh">mvn clean <span class="hljs-built_in">source</span>:jar install -Dmaven.test.skip
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="版本管理.html" class="navigation navigation-prev " aria-label="Previous page: 2 版本管理">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="框架设计.html" class="navigation navigation-next " aria-label="Next page: 4 框架设计">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"3 源码构建","level":"1.4","depth":1,"next":{"title":"4 框架设计","level":"1.5","depth":1,"path":"框架设计.md","ref":"./框架设计.md","articles":[]},"previous":{"title":"2 版本管理","level":"1.3","depth":1,"path":"版本管理.md","ref":"./版本管理.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"源码构建.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/\347\211\210\346\234\254\347\256\241\347\220\206.html" "b/developer-guide/\347\211\210\346\234\254\347\256\241\347\220\206.html"
deleted file mode 100644
index 4807629..0000000
--- "a/developer-guide/\347\211\210\346\234\254\347\256\241\347\220\206.html"
+++ /dev/null
@@ -1,761 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>2 版本管理 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="源码构建.html" />
-    
-    
-    <link rel="prev" href="contribution.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="contribution.html">
-            
-                <a href="contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.3" data-path="版本管理.html">
-            
-                <a href="版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="源码构建.html">
-            
-                <a href="源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="框架设计.html">
-            
-                <a href="框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="扩展点加载.html">
-            
-                <a href="扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="SPI参考手册/introduction.html">
-            
-                <a href="SPI参考手册/introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="SPI参考手册/协议扩展.html">
-            
-                <a href="SPI参考手册/协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="SPI参考手册/调用拦截扩展.html">
-            
-                <a href="SPI参考手册/调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="SPI参考手册/引用监听扩展.html">
-            
-                <a href="SPI参考手册/引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="SPI参考手册/暴露监听扩展.html">
-            
-                <a href="SPI参考手册/暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="SPI参考手册/集群扩展.html">
-            
-                <a href="SPI参考手册/集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="SPI参考手册/路由扩展.html">
-            
-                <a href="SPI参考手册/路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="SPI参考手册/负载均衡扩展.html">
-            
-                <a href="SPI参考手册/负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="SPI参考手册/合并结果扩展.html">
-            
-                <a href="SPI参考手册/合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="SPI参考手册/注册中心扩展.html">
-            
-                <a href="SPI参考手册/注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="SPI参考手册/监控中心扩展.html">
-            
-                <a href="SPI参考手册/监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="SPI参考手册/扩展点加载扩展.html">
-            
-                <a href="SPI参考手册/扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="SPI参考手册/动态代理扩展.html">
-            
-                <a href="SPI参考手册/动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="SPI参考手册/编译器扩展.html">
-            
-                <a href="SPI参考手册/编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="SPI参考手册/消息派发扩展.html">
-            
-                <a href="SPI参考手册/消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="SPI参考手册/线程池扩展.html">
-            
-                <a href="SPI参考手册/线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="SPI参考手册/序列化扩展.html">
-            
-                <a href="SPI参考手册/序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="SPI参考手册/网络传输扩展.html">
-            
-                <a href="SPI参考手册/网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="SPI参考手册/信息交换扩展.html">
-            
-                <a href="SPI参考手册/信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="SPI参考手册/组网扩展.html">
-            
-                <a href="SPI参考手册/组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="SPI参考手册/Telnet命令扩展.html">
-            
-                <a href="SPI参考手册/Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="SPI参考手册/状态检查扩展.html">
-            
-                <a href="SPI参考手册/状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="SPI参考手册/容器扩展.html">
-            
-                <a href="SPI参考手册/容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="SPI参考手册/页面扩展.html">
-            
-                <a href="SPI参考手册/页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="SPI参考手册/缓存扩展.html">
-            
-                <a href="SPI参考手册/缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="SPI参考手册/验证扩展.html">
-            
-                <a href="SPI参考手册/验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="SPI参考手册/日志适配扩展.html">
-            
-                <a href="SPI参考手册/日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="技术兼容性测试.html">
-            
-                <a href="技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="公共契约.html">
-            
-                <a href="公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="坏味道.html">
-            
-                <a href="坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="编码约定.html">
-            
-                <a href="编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="检查列表.html">
-            
-                <a href="检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="设计原则.html">
-            
-                <a href="设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >2 版本管理</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p><strong>&#x65B0;&#x529F;&#x80FD;&#x7684;&#x5F00;&#x53D1;</strong> &#x548C; <strong>&#x7A33;&#x5B9A;&#x6027;&#x7684;&#x63D0;&#x9AD8;</strong> &#x5BF9;&#x4EA7;&#x54C1;&#x90FD;&#x5F88;&#x91CD;&#x8981;&#x3002;</p>
-<p>&#x4F46;&#x662F;&#x6DFB;&#x52A0;&#x65B0;&#x529F;&#x80FD;&#x4F1A;&#x5F71;&#x54CD;&#x7A33;&#x5B9A;&#x6027;&#xFF0C;Dubbo&#x4F7F;&#x7528;&#x5982;&#x4E0B;&#x7684;&#x7248;&#x672C;&#x5F00;&#x53D1;&#x6A21;&#x5F0F;&#x6765;&#x4FDD;&#x969C;&#x4E24;&#x8005;&#x3002;</p>
-<h4 id="2&#x4E2A;&#x7248;&#x672C;&#x5E76;&#x884C;&#x5F00;&#x53D1;">2&#x4E2A;&#x7248;&#x672C;&#x5E76;&#x884C;&#x5F00;&#x53D1;</h4>
-<ul>
-<li>BugFix&#x7248;&#x672C;&#xFF1A;&#x4F4E;&#x7248;&#x672C;&#xFF0C;&#x6BD4;&#x5982;2.4.x&#x3002;&#x662F;GA&#x7248;&#x672C;&#xFF0C;&#x7EBF;&#x4E0A;&#x4F7F;&#x7528;&#x7684;&#x7248;&#x672C;&#xFF0C;&#x53EA;&#x4F1A;BugFix&#xFF0C;&#x5347;&#x7EA7;&#x7B2C;&#x4E09;&#x4F4D;&#x7248;&#x672C;&#x53F7;&#x3002;</li>
-<li>&#x65B0;&#x529F;&#x80FD;&#x7248;&#x672C;&#xFF1A;&#x9AD8;&#x7248;&#x672C;&#xFF0C;&#x6BD4;&#x5982;2.5.x&#x3002;&#x52A0;&#x65B0;&#x529F;&#x80FD;&#x7684;&#x7248;&#x672C;&#xFF0C;&#x4F1A;&#x7ED9;&#x5BF9;&#x65B0;&#x529F;&#x80FD;&#x6709;&#x9700;&#x6C42;&#x7684;&#x5E94;&#x7528;&#x8BD5;&#x7528;&#x3002;</li>
-</ul>
-<p>2.5.x&#x7684;&#x65B0;&#x529F;&#x80FD;&#x57FA;&#x672C;&#x7A33;&#x5B9A;&#x540E;&#xFF0C;&#x8FDB;&#x5165;2.5.x&#x8BD5;&#x7528;&#x9636;&#x6BB5;&#x3002;&#x627E;&#x8DB3;&#x591F;&#x591A;&#x7684;&#x5E94;&#x7528;&#x8BD5;&#x7528;2.5.x&#x7248;&#x672C;&#x3002;</p>
-<p>&#x5728;2.5.x&#x591F;&#x7A33;&#x5B9A;&#x540E;&#xFF1A;</p>
-<ul>
-<li>2.5.x&#x6210;&#x4E3A;GA&#x7248;&#x672C;&#xFF0C;&#x53EA;BugFix&#xFF0C;&#x63A8;&#x5E7F;&#x4F7F;&#x7528;&#x6B64;&#x7248;&#x672C;&#x3002;&#x5982;&#x4F55;&#x53EF;&#x884C;&#xFF0C;&#x53EF;&#x4EE5;&#x63A8;&#x8FDB;&#x5E94;&#x7528;&#x5728;&#x671F;&#x671B;&#x7684;&#x65F6;&#x95F4;&#x70B9;&#x5185;&#x5347;&#x7EA7;&#x5230;GA&#x7248;&#x672C;&#x3002;</li>
-<li>2.4.x&#x4E0D;&#x518D;&#x5F00;&#x53D1;&#xFF0C;&#x5E94;&#x7528;&#x78B0;&#x5230;Bug&#x8BA9;&#x76F4;&#x63A5;&#x5347;&#x7EA7;&#x3002;&#xFF08;&#x8FD9;&#x4E2A;&#x79F0;&#x4E3A;&#x201C;&#x5915;&#x9633;&#x6761;&#x6B3E;&#x201D;&#xFF09;</li>
-<li>&#x4ECE;2.5.x&#x62C9;&#x6210;&#x5206;&#x652F;2.6.0&#xFF0C;&#x4F5C;&#x4E3A;&#x65B0;&#x529F;&#x80FD;&#x5F00;&#x53D1;&#x7248;&#x672C;&#x3002;</li>
-</ul>
-<h4 id="&#x4F18;&#x52BF;">&#x4F18;&#x52BF;</h4>
-<ul>
-<li>&#x4FDD;&#x6301;GA&#x7248;&#x672C;&#x662F;&#x7A33;&#x5B9A;&#x7684;&#xFF01;&#x56E0;&#x4E3A;&#xFF1A;<ul>
-<li>&#x53EA;&#x4F1A;&#x4F5C;BugFix</li>
-<li>&#x6210;&#x4E3A;GA&#x7248;&#x672C;&#x524D;&#x6709;&#x8BD5;&#x7528;&#x9636;&#x6BB5;</li>
-</ul>
-</li>
-<li>&#x65B0;&#x529F;&#x80FD;&#x53EF;&#x4EE5;&#x9AD8;&#x7248;&#x672C;&#x4E2D;&#x5FEB;&#x901F;&#x54CD;&#x5E94;&#xFF0C;&#x5E76;&#x8BA9;&#x5E94;&#x7528;&#x80FD;&#x8BD5;&#x7528;&#x65B0;&#x529F;&#x80FD;&#x3002;</li>
-<li>&#x4E0D;&#x4F1A;&#x7248;&#x672C;&#x8FC7;&#x591A;&#xFF0C;&#x5BFC;&#x81F4;&#x5F00;&#x53D1;&#x548C;&#x7EF4;&#x62A4;&#x6210;&#x672C;&#x5267;&#x589E;</li>
-</ul>
-<h4 id="&#x7528;&#x6237;&#x8981;&#x914D;&#x5408;&#x7684;&#x804C;&#x8D23;">&#x7528;&#x6237;&#x8981;&#x914D;&#x5408;&#x7684;&#x804C;&#x8D23;</h4>
-<p>&#x7531;&#x4E8E;&#x5F00;&#x53D1;&#x53EA;&#x4F1A;BugFix GA&#x7248;&#x672C;&#xFF0C;&#x6240;&#x4EE5;&#x7528;&#x6237;&#x9700;&#x8981;&#x79EF;&#x6781;&#x8DDF;&#x8FDB;&#x5347;&#x7EA7;&#x5230;GA&#x7248;&#x672C;&#xFF0C;&#x4EE5;Fix&#x53D1;&#x73B0;&#x7684;&#x95EE;&#x9898;&#x3002;</p>
-<p>&#x5B9A;&#x671F;&#x5347;&#x7EA7;&#x7248;&#x672C;&#x7528;&#x6237;&#x5E26;&#x6765;&#x4E86;&#x4E0D;&#x5B89;&#x3002;&#x8FD9;&#x662F;&#x4E00;&#x4E2A;&#x5047;&#x547D;&#x9898;&#xFF0C;&#x8BF4;&#x660E;&#x5982;&#x4E0B;&#xFF1A;</p>
-<ul>
-<li>GA&#x7ECF;&#x8FC7;&#x4E00;&#x4E2A;&#x8BD5;&#x7528;&#x9636;&#x6BB5;&#x4FDD;&#x6301;&#x7A33;&#x5B9A;&#x3002;</li>
-<li>GA&#x7248;&#x672C;&#x6709;Bug&#x4F1A;&#x706B;&#x901F;Fix</li>
-<li>&#x76F8;&#x5BF9;&#x51FA;&#x95EE;&#x9898;&#x624D;&#x5347;&#x7EA7;&#x5230;GA&#x7248;&#x672C;&#xFF08;&#x53EF;&#x4EE5;&#x8DE8;&#x4E86;&#x591A;&#x4E2A;&#x7248;&#x672C;&#xFF09;&#x5B9A;&#x671F;&#x5347;&#x7EA7;&#x5E73;&#x644A;&#x98CE;&#x9669;&#xFF08;&#x7C7B;&#x4F3C;&#x5C0F;&#x6B65;&#x5FEB;&#x8DD1;&#xFF09;&#x3002;&#x7ECF;&#x5386;&#x8FC7;&#x5468;&#x671F;&#x957F;&#x7684;&#x5927;&#x9879;&#x76EE;&#x7684;&#x540C;&#x5B66;&#x4F1A;&#x6709;&#x8FD9;&#x6837;&#x7684;&#x7ECF;&#x5386;&#xFF0C;&#x4E09;&#x65B9;&#x5E93;&#x7248;&#x672C;&#x957F;&#x65F6;&#x95F4;&#x4E0D;&#x5347;&#x7EA7;&#xFF0C;&#x7ED3;&#x679C;&#x51FA;&#x4E86;&#x95EE;&#x9898;&#x4E0D;&#x5F97;&#x4E0D;&#x5347;&#x7EA7;&#x5230;&#x65B0;&#x7248;&#x672C;&#xFF08;&#x8DE8;&#x4E86;&#x591A;&#x4E2A;&#x7248;&#x672C;&#xFF09;&#x98CE;&#x9669;&#x5DE8;&#x5927;&#x3002;</li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="contribution.html" class="navigation navigation-prev " aria-label="Previous page: 1 contribution">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="源码构建.html" class="navigation navigation-next " aria-label="Next page: 3 源码构建">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"2 版本管理","level":"1.3","depth":1,"next":{"title":"3 源码构建","level":"1.4","depth":1,"path":"源码构建.md","ref":"./源码构建.md","articles":[]},"previous":{"title":"1 contribution","level":"1.2","depth":1,"path":"contribution.md","ref":"./contribution.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"版本管理.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/\347\274\226\347\240\201\347\272\246\345\256\232.html" "b/developer-guide/\347\274\226\347\240\201\347\272\246\345\256\232.html"
deleted file mode 100644
index 56d0d81..0000000
--- "a/developer-guide/\347\274\226\347\240\201\347\272\246\345\256\232.html"
+++ /dev/null
@@ -1,775 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>10 编码约定 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="检查列表.html" />
-    
-    
-    <link rel="prev" href="坏味道.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="contribution.html">
-            
-                <a href="contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="版本管理.html">
-            
-                <a href="版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="源码构建.html">
-            
-                <a href="源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="框架设计.html">
-            
-                <a href="框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="扩展点加载.html">
-            
-                <a href="扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="SPI参考手册/introduction.html">
-            
-                <a href="SPI参考手册/introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="SPI参考手册/协议扩展.html">
-            
-                <a href="SPI参考手册/协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="SPI参考手册/调用拦截扩展.html">
-            
-                <a href="SPI参考手册/调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="SPI参考手册/引用监听扩展.html">
-            
-                <a href="SPI参考手册/引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="SPI参考手册/暴露监听扩展.html">
-            
-                <a href="SPI参考手册/暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="SPI参考手册/集群扩展.html">
-            
-                <a href="SPI参考手册/集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="SPI参考手册/路由扩展.html">
-            
-                <a href="SPI参考手册/路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="SPI参考手册/负载均衡扩展.html">
-            
-                <a href="SPI参考手册/负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="SPI参考手册/合并结果扩展.html">
-            
-                <a href="SPI参考手册/合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="SPI参考手册/注册中心扩展.html">
-            
-                <a href="SPI参考手册/注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="SPI参考手册/监控中心扩展.html">
-            
-                <a href="SPI参考手册/监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="SPI参考手册/扩展点加载扩展.html">
-            
-                <a href="SPI参考手册/扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="SPI参考手册/动态代理扩展.html">
-            
-                <a href="SPI参考手册/动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="SPI参考手册/编译器扩展.html">
-            
-                <a href="SPI参考手册/编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="SPI参考手册/消息派发扩展.html">
-            
-                <a href="SPI参考手册/消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="SPI参考手册/线程池扩展.html">
-            
-                <a href="SPI参考手册/线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="SPI参考手册/序列化扩展.html">
-            
-                <a href="SPI参考手册/序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="SPI参考手册/网络传输扩展.html">
-            
-                <a href="SPI参考手册/网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="SPI参考手册/信息交换扩展.html">
-            
-                <a href="SPI参考手册/信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="SPI参考手册/组网扩展.html">
-            
-                <a href="SPI参考手册/组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="SPI参考手册/Telnet命令扩展.html">
-            
-                <a href="SPI参考手册/Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="SPI参考手册/状态检查扩展.html">
-            
-                <a href="SPI参考手册/状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="SPI参考手册/容器扩展.html">
-            
-                <a href="SPI参考手册/容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="SPI参考手册/页面扩展.html">
-            
-                <a href="SPI参考手册/页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="SPI参考手册/缓存扩展.html">
-            
-                <a href="SPI参考手册/缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="SPI参考手册/验证扩展.html">
-            
-                <a href="SPI参考手册/验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="SPI参考手册/日志适配扩展.html">
-            
-                <a href="SPI参考手册/日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="技术兼容性测试.html">
-            
-                <a href="技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="公共契约.html">
-            
-                <a href="公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="坏味道.html">
-            
-                <a href="坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.11" data-path="编码约定.html">
-            
-                <a href="编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="检查列表.html">
-            
-                <a href="检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="设计原则.html">
-            
-                <a href="设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >10 编码约定</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>Dubbo &#x7684;&#x6E90;&#x4EE3;&#x7801;&#x548C; JavaDoc &#x9075;&#x5FAA;&#x4EE5;&#x4E0B;&#x7684;&#x89C4;&#x8303;&#xFF1A;</p>
-<ul>
-<li><a href="http://www.oracle.com/technetwork/java/codeconvtoc-136057.html" target="_blank">Code Conventions for the Java Programming Language</a></li>
-<li><a href="http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html" target="_blank">How to Write Doc Comments for the Javadoc Tool</a></li>
-</ul>
-<p>&#x5F02;&#x5E38;&#x548C;&#x65E5;&#x5FD7;&#xFF1A;</p>
-<ul>
-<li>&#x5C3D;&#x53EF;&#x80FD;&#x643A;&#x5E26;&#x5B8C;&#x6574;&#x7684;&#x4E0A;&#x4E0B;&#x6587;&#x4FE1;&#x606F;&#xFF0C;&#x6BD4;&#x5982;&#x51FA;&#x9519;&#x539F;&#x56E0;&#xFF0C;&#x51FA;&#x9519;&#x7684;&#x673A;&#x5668;&#x5730;&#x5740;&#xFF0C;&#x8C03;&#x7528;&#x5BF9;&#x65B9;&#x7684;&#x5730;&#x5740;&#xFF0C;&#x8FDE;&#x7684;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5730;&#x5740;&#xFF0C;&#x4F7F;&#x7528;Dubbo&#x7684;&#x7248;&#x672C;&#x7B49;&#x3002;</li>
-<li>&#x5C3D;&#x91CF;&#x5C06;&#x76F4;&#x63A5;&#x539F;&#x56E0;&#x5199;&#x5728;&#x6700;&#x524D;&#x9762;&#xFF0C;&#x6240;&#x6709;&#x4E0A;&#x4E0B;&#x6587;&#x4FE1;&#x606F;&#xFF0C;&#x5728;&#x539F;&#x56E0;&#x540E;&#x7528;&#x952E;&#x503C;&#x5BF9;&#x663E;&#x793A;&#x3002;</li>
-<li>&#x629B;&#x51FA;&#x5F02;&#x5E38;&#x7684;&#x5730;&#x65B9;&#x4E0D;&#x7528;&#x6253;&#x5370;&#x65E5;&#x5FD7;&#xFF0C;&#x7531;&#x6700;&#x7EC8;&#x5904;&#x7406;&#x5F02;&#x5E38;&#x8005;&#x51B3;&#x5B9A;&#x6253;&#x5370;&#x65E5;&#x5FD7;&#x7684;&#x7EA7;&#x522B;&#xFF0C;&#x5403;&#x6389;&#x5F02;&#x5E38;&#x5FC5;&#x9700;&#x6253;&#x5370;&#x65E5;&#x5FD7;&#x3002;</li>
-<li>&#x6253;&#x5370;ERROR&#x65E5;&#x5FD7;&#x8868;&#x793A;&#x9700;&#x8981;&#x62A5;&#x8B66;&#xFF0C;&#x6253;&#x5370;WARN&#x65E5;&#x5FD7;&#x8868;&#x793A;&#x53EF;&#x4EE5;&#x81EA;&#x52A8;&#x6062;&#x590D;&#xFF0C;&#x6253;&#x5370;INFO&#x8868;&#x793A;&#x6B63;&#x5E38;&#x4FE1;&#x606F;&#x6216;&#x5B8C;&#x5168;&#x4E0D;&#x5F71;&#x54CD;&#x8FD0;&#x884C;&#x3002;</li>
-<li>&#x5EFA;&#x8BAE;&#x5E94;&#x7528;&#x65B9;&#x5728;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E;ERROR&#x65E5;&#x5FD7;&#x5B9E;&#x65F6;&#x62A5;&#x8B66;&#xFF0C;WARN&#x65E5;&#x5FD7;&#x6BCF;&#x5468;&#x6C47;&#x603B;&#x53D1;&#x9001;&#x901A;&#x77E5;&#x3002;</li>
-<li>RpcException&#x662F;Dubbo&#x5BF9;&#x5916;&#x7684;&#x552F;&#x4E00;&#x5F02;&#x5E38;&#x7C7B;&#x578B;&#xFF0C;&#x6240;&#x6709;&#x5185;&#x90E8;&#x5F02;&#x5E38;&#xFF0C;&#x5982;&#x679C;&#x8981;&#x629B;&#x51FA;&#x7ED9;&#x7528;&#x6237;&#xFF0C;&#x5FC5;&#x987B;&#x8F6C;&#x4E3A;RpcException&#x3002;</li>
-<li>RpcException&#x4E0D;&#x80FD;&#x6709;&#x5B50;&#x7C7B;&#x578B;&#xFF0C;&#x6240;&#x6709;&#x7C7B;&#x578B;&#x4FE1;&#x606F;&#x7528;ErrorCode&#x6807;&#x8BC6;&#xFF0C;&#x4EE5;&#x4FBF;&#x4FDD;&#x6301;&#x517C;&#x5BB9;&#x3002;</li>
-</ul>
-<p>&#x914D;&#x7F6E;&#x548C;URL&#xFF1A;</p>
-<ul>
-<li>&#x914D;&#x7F6E;&#x5BF9;&#x8C61;&#x5C5E;&#x6027;&#x9996;&#x5B57;&#x6BCD;&#x5C0F;&#x5199;&#xFF0C;&#x591A;&#x4E2A;&#x5355;&#x8BCD;&#x7528;&#x9A7C;&#x5CF0;&#x547D;&#x540D;(Java&#x7EA6;&#x5B9A;)&#x3002;</li>
-<li>&#x914D;&#x7F6E;&#x5C5E;&#x6027;&#x5168;&#x90E8;&#x7528;&#x5C0F;&#x5199;&#xFF0C;&#x591A;&#x4E2A;&#x5355;&#x8BCD;&#x7528;&quot;-&quot;&#x53F7;&#x5206;&#x9694;(Spring&#x7EA6;&#x5B9A;)&#x3002;</li>
-<li>URL&#x53C2;&#x6570;&#x5168;&#x90E8;&#x7528;&#x5C0F;&#x5199;&#xFF0C;&#x591A;&#x4E2A;&#x5355;&#x8BCD;&#x7528;&quot;.&quot;&#x53F7;&#x5206;&#x9694;(Dubbo&#x7EA6;&#x5B9A;)&#x3002;</li>
-<li>&#x5C3D;&#x53EF;&#x80FD;&#x7528;URL&#x4F20;&#x53C2;&#xFF0C;&#x4E0D;&#x8981;&#x81EA;&#x5B9A;&#x4E49;Map&#x6216;&#x5176;&#x5B83;&#x4E0A;&#x4E0B;&#x6587;&#x683C;&#x5F0F;&#xFF0C;&#x914D;&#x7F6E;&#x4FE1;&#x606F;&#x4E5F;&#x8F6C;&#x6210;URL&#x683C;&#x5F0F;&#x4F7F;&#x7528;&#x3002;</li>
-<li>&#x5C3D;&#x91CF;&#x51CF;&#x5C11;URL&#x5D4C;&#x5957;&#xFF0C;&#x4FDD;&#x6301;URL&#x7684;&#x7B80;&#x6D01;&#x6027;&#x3002;</li>
-</ul>
-<p>&#x5355;&#x5143;&#x548C;&#x96C6;&#x6210;&#x6D4B;&#x8BD5;&#xFF1A;</p>
-<ul>
-<li>&#x5355;&#x5143;&#x6D4B;&#x8BD5;&#x7EDF;&#x4E00;&#x7528;JUnit&#x548C;EasyMock&#xFF0C;&#x96C6;&#x6210;&#x6D4B;&#x8BD5;&#x7528;TestNG&#xFF0C;&#x6570;&#x636E;&#x5E93;&#x6D4B;&#x8BD5;&#x7528;DBUnit&#x3002;</li>
-<li>&#x4FDD;&#x6301;&#x5355;&#x5143;&#x6D4B;&#x8BD5;&#x7528;&#x4F8B;&#x7684;&#x8FD0;&#x884C;&#x901F;&#x5EA6;&#xFF0C;&#x4E0D;&#x8981;&#x5C06;&#x6027;&#x80FD;&#x548C;&#x5927;&#x7684;&#x96C6;&#x6210;&#x7528;&#x4F8B;&#x653E;&#x5728;&#x5355;&#x5143;&#x6D4B;&#x8BD5;&#x4E2D;&#x3002;</li>
-<li>&#x4FDD;&#x6301;&#x5355;&#x5143;&#x6D4B;&#x8BD5;&#x7684;&#x6BCF;&#x4E2A;&#x7528;&#x4F8B;&#x90FD;&#x7528;try...finally&#x6216;tearDown&#x91CA;&#x653E;&#x8D44;&#x6E90;&#x3002;</li>
-<li>&#x51CF;&#x5C11;while&#x5FAA;&#x73AF;&#x7B49;&#x5F85;&#x7ED3;&#x679C;&#x7684;&#x6D4B;&#x8BD5;&#x7528;&#x4F8B;&#xFF0C;&#x5BF9;&#x5B9A;&#x65F6;&#x5668;&#x548C;&#x7F51;&#x7EDC;&#x7684;&#x6D4B;&#x8BD5;&#xFF0C;&#x7528;&#x4EE5;&#x5C06;&#x5B9A;&#x65F6;&#x5668;&#x4E2D;&#x7684;&#x903B;&#x8F91;&#x62BD;&#x4E3A;&#x65B9;&#x6CD5;&#x6D4B;&#x8BD5;&#x3002;</li>
-<li>&#x5BF9;&#x4E8E;&#x5BB9;&#x9519;&#x884C;&#x4E3A;&#x7684;&#x6D4B;&#x8BD5;&#xFF0C;&#x6BD4;&#x5982;failsafe&#x7684;&#x6D4B;&#x8BD5;&#xFF0C;&#x7EDF;&#x4E00;&#x7528;LogUtil&#x65AD;&#x8A00;&#x65E5;&#x5FD7;&#x8F93;&#x51FA;&#x3002;</li>
-</ul>
-<p>&#x6269;&#x5C55;&#x70B9;&#x57FA;&#x7C7B;&#x4E0E;AOP&#xFF1A;</p>
-<ul>
-<li>AOP&#x7C7B;&#x90FD;&#x547D;&#x540D;&#x4E3A;XxxWrapper&#xFF0C;&#x57FA;&#x7C7B;&#x90FD;&#x547D;&#x540D;&#x4E3A;AbstractXxx&#x3002;</li>
-<li>&#x6269;&#x5C55;&#x70B9;&#x4E4B;&#x95F4;&#x7684;&#x7EC4;&#x5408;&#x5C06;&#x5173;&#x7CFB;&#x7531;AOP&#x5B8C;&#x6210;&#xFF0C;ExtensionLoader&#x53EA;&#x8D1F;&#x8F7D;&#x52A0;&#x8F7D;&#x6269;&#x5C55;&#x70B9;&#xFF0C;&#x5305;&#x62EC;AOP&#x6269;&#x5C55;&#x3002;</li>
-<li>&#x5C3D;&#x91CF;&#x91C7;&#x7528;IoC&#x6CE8;&#x5165;&#x6269;&#x5C55;&#x70B9;&#x4E4B;&#x95F4;&#x7684;&#x4F9D;&#x8D56;&#xFF0C;&#x4E0D;&#x8981;&#x76F4;&#x63A5;&#x4F9D;&#x8D56;ExtensionLoader&#x7684;&#x5DE5;&#x5382;&#x65B9;&#x6CD5;&#x3002;</li>
-<li>&#x5C3D;&#x91CF;&#x91C7;&#x7528;AOP&#x5B9E;&#x73B0;&#x6269;&#x5C55;&#x70B9;&#x7684;&#x901A;&#x7528;&#x884C;&#x4E3A;&#xFF0C;&#x800C;&#x4E0D;&#x8981;&#x7528;&#x57FA;&#x7C7B;&#xFF0C;&#x6BD4;&#x5982;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x4E4B;&#x524D;&#x7684;isAvailable&#x68C0;&#x67E5;&#xFF0C;&#x5B83;&#x662F;&#x72EC;&#x7ACB;&#x4E8E;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x4E4B;&#x5916;&#x7684;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x68C0;&#x67E5;&#x7684;&#x662F;URL&#x53C2;&#x6570;&#x5173;&#x95ED;&#x3002;</li>
-<li>&#x5BF9;&#x591A;&#x79CD;&#x76F8;&#x4F3C;&#x7C7B;&#x578B;&#x7684;&#x62BD;&#x8C61;&#xFF0C;&#x7528;&#x57FA;&#x7C7B;&#x5B9E;&#x73B0;&#xFF0C;&#x6BD4;&#x5982;RMI,Hessian&#x7B49;&#x7B2C;&#x4E09;&#x65B9;&#x534F;&#x8BAE;&#x90FD;&#x5DF2;&#x751F;&#x6210;&#x4E86;&#x63A5;&#x53E3;&#x4EE3;&#x7406;&#xFF0C;&#x53EA;&#x9700;&#x5C06;&#x5C06;&#x63A5;&#x53E3;&#x4EE3;&#x7406;&#x8F6C;&#x6210;Invoker&#x5373;&#x53EF;&#x5B8C;&#x6210;&#x6865;&#x63A5;&#xFF0C;&#x5B83;&#x4EEC;&#x53EF;&#x4EE5;&#x7528;&#x516C;&#x5171;&#x57FA;&#x7C7B;&#x5B9E;&#x73B0;&#x6B64;&#x903B;&#x8F91;&#x3002;</li>
-<li>&#x57FA;&#x7C7B;&#x4E5F;&#x662F;SPI&#x7684;&#x4E00;&#x90E8;&#x5206;&#xFF0C;&#x6BCF;&#x4E2A;&#x6269;&#x5C55;&#x70B9;&#x90FD;&#x5E94;&#x8BE5;&#x6709;&#x65B9;&#x4FBF;&#x4F7F;&#x7528;&#x7684;&#x57FA;&#x7C7B;&#x652F;&#x6301;&#x3002;</li>
-</ul>
-<p>&#x6A21;&#x5757;&#x4E0E;&#x5206;&#x5305;&#xFF1A;</p>
-<ul>
-<li>&#x57FA;&#x4E8E;&#x590D;&#x7528;&#x5EA6;&#x5206;&#x5305;&#xFF0C;&#x603B;&#x662F;&#x4E00;&#x8D77;&#x4F7F;&#x7528;&#x7684;&#x653E;&#x5728;&#x540C;&#x4E00;&#x5305;&#x4E0B;&#xFF0C;&#x5C06;&#x63A5;&#x53E3;&#x548C;&#x57FA;&#x7C7B;&#x5206;&#x6210;&#x72EC;&#x7ACB;&#x6A21;&#x5757;&#xFF0C;&#x5927;&#x7684;&#x5B9E;&#x73B0;&#x4E5F;&#x4F7F;&#x7528;&#x72EC;&#x7ACB;&#x6A21;&#x5757;&#x3002;</li>
-<li>&#x6240;&#x6709;&#x63A5;&#x53E3;&#x90FD;&#x653E;&#x5728;&#x6A21;&#x5757;&#x7684;&#x6839;&#x5305;&#x4E0B;&#xFF0C;&#x57FA;&#x7C7B;&#x653E;&#x5728;support&#x5B50;&#x5305;&#x4E0B;&#xFF0C;&#x4E0D;&#x540C;&#x5B9E;&#x73B0;&#x7528;&#x653E;&#x5728;&#x4EE5;&#x6269;&#x5C55;&#x70B9;&#x540D;&#x5B57;&#x547D;&#x540D;&#x7684;&#x5B50;&#x5305;&#x4E0B;&#x3002;</li>
-<li>&#x5C3D;&#x91CF;&#x4FDD;&#x6301;&#x5B50;&#x5305;&#x4F9D;&#x8D56;&#x7236;&#x5305;&#xFF0C;&#x800C;&#x4E0D;&#x8981;&#x53CD;&#x5411;&#x3002;</li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="坏味道.html" class="navigation navigation-prev " aria-label="Previous page: 9 坏味道">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="检查列表.html" class="navigation navigation-next " aria-label="Next page: 11 检查列表">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"10 编码约定","level":"1.11","depth":1,"next":{"title":"11 检查列表","level":"1.12","depth":1,"path":"检查列表.md","ref":"./检查列表.md","articles":[]},"previous":{"title":"9 坏味道","level":"1.10","depth":1,"path":"坏味道.md","ref":"./坏味道.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"编码约定.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/developer-guide/\350\256\276\350\256\241\345\216\237\345\210\231.html" "b/developer-guide/\350\256\276\350\256\241\345\216\237\345\210\231.html"
deleted file mode 100644
index 6dad7dc..0000000
--- "a/developer-guide/\350\256\276\350\256\241\345\216\237\345\210\231.html"
+++ /dev/null
@@ -1,732 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>12 设计原则 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    
-    <link rel="prev" href="检查列表.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" data-path="contribution.html">
-            
-                <a href="contribution.html">
-            
-                    
-                    1 contribution
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" data-path="版本管理.html">
-            
-                <a href="版本管理.html">
-            
-                    
-                    2 版本管理
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" data-path="源码构建.html">
-            
-                <a href="源码构建.html">
-            
-                    
-                    3 源码构建
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" data-path="框架设计.html">
-            
-                <a href="框架设计.html">
-            
-                    
-                    4 框架设计
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="扩展点加载.html">
-            
-                <a href="扩展点加载.html">
-            
-                    
-                    5 扩展点加载
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="SPI参考手册/introduction.html">
-            
-                <a href="SPI参考手册/introduction.html">
-            
-                    
-                    6 SPI参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="SPI参考手册/协议扩展.html">
-            
-                <a href="SPI参考手册/协议扩展.html">
-            
-                    
-                    6.1 协议扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="SPI参考手册/调用拦截扩展.html">
-            
-                <a href="SPI参考手册/调用拦截扩展.html">
-            
-                    
-                    6.2 调用拦截扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="SPI参考手册/引用监听扩展.html">
-            
-                <a href="SPI参考手册/引用监听扩展.html">
-            
-                    
-                    6.3 引用监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="SPI参考手册/暴露监听扩展.html">
-            
-                <a href="SPI参考手册/暴露监听扩展.html">
-            
-                    
-                    6.4 暴露监听扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="SPI参考手册/集群扩展.html">
-            
-                <a href="SPI参考手册/集群扩展.html">
-            
-                    
-                    6.5 集群扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="SPI参考手册/路由扩展.html">
-            
-                <a href="SPI参考手册/路由扩展.html">
-            
-                    
-                    6.6 路由扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="SPI参考手册/负载均衡扩展.html">
-            
-                <a href="SPI参考手册/负载均衡扩展.html">
-            
-                    
-                    6.7 负载均衡扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="SPI参考手册/合并结果扩展.html">
-            
-                <a href="SPI参考手册/合并结果扩展.html">
-            
-                    
-                    6.8 合并结果扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="SPI参考手册/注册中心扩展.html">
-            
-                <a href="SPI参考手册/注册中心扩展.html">
-            
-                    
-                    6.9 注册中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="SPI参考手册/监控中心扩展.html">
-            
-                <a href="SPI参考手册/监控中心扩展.html">
-            
-                    
-                    6.10 监控中心扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="SPI参考手册/扩展点加载扩展.html">
-            
-                <a href="SPI参考手册/扩展点加载扩展.html">
-            
-                    
-                    6.11 扩展点加载扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="SPI参考手册/动态代理扩展.html">
-            
-                <a href="SPI参考手册/动态代理扩展.html">
-            
-                    
-                    6.12 动态代理扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.13" data-path="SPI参考手册/编译器扩展.html">
-            
-                <a href="SPI参考手册/编译器扩展.html">
-            
-                    
-                    6.13 编译器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.14" data-path="SPI参考手册/消息派发扩展.html">
-            
-                <a href="SPI参考手册/消息派发扩展.html">
-            
-                    
-                    6.14 消息派发扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.15" data-path="SPI参考手册/线程池扩展.html">
-            
-                <a href="SPI参考手册/线程池扩展.html">
-            
-                    
-                    6.15 线程池扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.16" data-path="SPI参考手册/序列化扩展.html">
-            
-                <a href="SPI参考手册/序列化扩展.html">
-            
-                    
-                    6.16 序列化扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.17" data-path="SPI参考手册/网络传输扩展.html">
-            
-                <a href="SPI参考手册/网络传输扩展.html">
-            
-                    
-                    6.17 网络传输扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.18" data-path="SPI参考手册/信息交换扩展.html">
-            
-                <a href="SPI参考手册/信息交换扩展.html">
-            
-                    
-                    6.18 信息交换扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.19" data-path="SPI参考手册/组网扩展.html">
-            
-                <a href="SPI参考手册/组网扩展.html">
-            
-                    
-                    6.19 组网扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.20" data-path="SPI参考手册/Telnet命令扩展.html">
-            
-                <a href="SPI参考手册/Telnet命令扩展.html">
-            
-                    
-                    6.20 Telnet命令扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.21" data-path="SPI参考手册/状态检查扩展.html">
-            
-                <a href="SPI参考手册/状态检查扩展.html">
-            
-                    
-                    6.21 状态检查扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.22" data-path="SPI参考手册/容器扩展.html">
-            
-                <a href="SPI参考手册/容器扩展.html">
-            
-                    
-                    6.22 容器扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.23" data-path="SPI参考手册/页面扩展.html">
-            
-                <a href="SPI参考手册/页面扩展.html">
-            
-                    
-                    6.23 页面扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.24" data-path="SPI参考手册/缓存扩展.html">
-            
-                <a href="SPI参考手册/缓存扩展.html">
-            
-                    
-                    6.24 缓存扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.25" data-path="SPI参考手册/验证扩展.html">
-            
-                <a href="SPI参考手册/验证扩展.html">
-            
-                    
-                    6.25 验证扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.26" data-path="SPI参考手册/日志适配扩展.html">
-            
-                <a href="SPI参考手册/日志适配扩展.html">
-            
-                    
-                    6.26 日志适配扩展
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="技术兼容性测试.html">
-            
-                <a href="技术兼容性测试.html">
-            
-                    
-                    7 技术兼容性测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="公共契约.html">
-            
-                <a href="公共契约.html">
-            
-                    
-                    8 公共契约
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="坏味道.html">
-            
-                <a href="坏味道.html">
-            
-                    
-                    9 坏味道
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="编码约定.html">
-            
-                <a href="编码约定.html">
-            
-                    
-                    10 编码约定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="检查列表.html">
-            
-                <a href="检查列表.html">
-            
-                    
-                    11 检查列表
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.13" data-path="设计原则.html">
-            
-                <a href="设计原则.html">
-            
-                    
-                    12 设计原则
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >12 设计原则</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <ul>
-<li><a href="http://javatar.iteye.com/blog/1056664" target="_blank">&#x9B54;&#x9B3C;&#x5728;&#x7EC6;&#x8282;&#x4E2D;</a></li>
-<li><a href="http://javatar.iteye.com/blog/706098" target="_blank">&#x4E00;&#x4E9B;&#x8BBE;&#x8BA1;&#x4E0A;&#x7684;&#x57FA;&#x672C;&#x5E38;&#x8BC6;</a></li>
-<li><a href="http://javatar.iteye.com/blog/690845" target="_blank">&#x8C08;&#x8C08;&#x6269;&#x5145;&#x5F0F;&#x6269;&#x5C55;&#x4E0E;&#x589E;&#x91CF;&#x5F0F;&#x6269;&#x5C55;</a></li>
-<li><a href="http://javatar.iteye.com/blog/949527" target="_blank">&#x914D;&#x7F6E;&#x8BBE;&#x8BA1;</a></li>
-<li><a href="http://oldratlee.com/380/tech/java/robustness-of-implement.html" target="_blank">&#x8BBE;&#x8BA1;&#x5B9E;&#x73B0;&#x7684;&#x5065;&#x58EE;&#x6027;</a></li>
-<li><a href="http://javatar.iteye.com/blog/804187" target="_blank">&#x9632;&#x75F4;&#x5446;&#x8BBE;&#x8BA1;</a></li>
-<li><a href="http://javatar.iteye.com/blog/1041832" target="_blank">&#x6269;&#x5C55;&#x70B9;&#x91CD;&#x6784;</a></li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="检查列表.html" class="navigation navigation-prev navigation-unique" aria-label="Previous page: 11 检查列表">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"12 设计原则","level":"1.13","depth":1,"previous":{"title":"11 检查列表","level":"1.12","depth":1,"path":"检查列表.md","ref":"./检查列表.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"设计原则.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:46.950Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/benchmark.html b/user-guide/benchmark.html
deleted file mode 100644
index 992acce..0000000
--- a/user-guide/benchmark.html
+++ /dev/null
@@ -1,1491 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>14 基准测试工具包 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="perf-test.html" />
-    
-    
-    <link rel="prev" href="capacity-plan.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="preface/background.html">
-            
-                <a href="preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="preface/requirements.html">
-            
-                <a href="preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="preface/architacture.html">
-            
-                <a href="preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="preface/usage.html">
-            
-                <a href="preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="dependencies/dependencies.html">
-            
-                <a href="dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="maturity/maturity.html">
-            
-                <a href="maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="configuration/xml.html">
-            
-                <a href="configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="configuration/properties.html">
-            
-                <a href="configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="configuration/api.html">
-            
-                <a href="configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="configuration/annotation.html">
-            
-                <a href="configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="demos/启动时检查.html">
-            
-                <a href="demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="demos/集群容错.html">
-            
-                <a href="demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="demos/负载均衡.html">
-            
-                <a href="demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="demos/线程模型.html">
-            
-                <a href="demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="demos/直连提供者.html">
-            
-                <a href="demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="demos/只订阅.html">
-            
-                <a href="demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="demos/只注册.html">
-            
-                <a href="demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="demos/静态服务.html">
-            
-                <a href="demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="demos/多协议.html">
-            
-                <a href="demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="demos/多注册中心.html">
-            
-                <a href="demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="demos/服务分组.html">
-            
-                <a href="demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="demos/多版本.html">
-            
-                <a href="demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="demos/分组聚合.html">
-            
-                <a href="demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="demos/参数验证.html">
-            
-                <a href="demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="demos/结果缓存.html">
-            
-                <a href="demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="demos/泛化引用.html">
-            
-                <a href="demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="demos/泛化实现.html">
-            
-                <a href="demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="demos/回声测试.html">
-            
-                <a href="demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="demos/上下文信息.html">
-            
-                <a href="demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="demos/隐式传参.html">
-            
-                <a href="demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="demos/异步调用.html">
-            
-                <a href="demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="demos/本地调用.html">
-            
-                <a href="demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="demos/参数回调.html">
-            
-                <a href="demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="demos/事件通知.html">
-            
-                <a href="demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="demos/本地存根.html">
-            
-                <a href="demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="demos/本地伪装.html">
-            
-                <a href="demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="demos/延迟暴露.html">
-            
-                <a href="demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="demos/并发控制.html">
-            
-                <a href="demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="demos/连接控制.html">
-            
-                <a href="demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="demos/延迟连接.html">
-            
-                <a href="demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="demos/粘滞连接.html">
-            
-                <a href="demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="demos/令牌验证.html">
-            
-                <a href="demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="demos/路由规则.html">
-            
-                <a href="demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="demos/配置规则.html">
-            
-                <a href="demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="demos/服务降级.html">
-            
-                <a href="demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="demos/优雅停机.html">
-            
-                <a href="demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="demos/主机绑定.html">
-            
-                <a href="demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="demos/日志适配.html">
-            
-                <a href="demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="demos/访问日志.html">
-            
-                <a href="demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="demos/服务容器.html">
-            
-                <a href="demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="demos/ReferenceConfig缓存.html">
-            
-                <a href="demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="demos/分布式事务.html">
-            
-                <a href="demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="reference-apiconf/api.html">
-            
-                <a href="reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="reference-xmlconf/introduction.html">
-            
-                <a href="reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="reference-xmlconf/dubbo-service.html">
-            
-                <a href="reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="reference-xmlconf/dubbo-reference.html">
-            
-                <a href="reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="reference-xmlconf/dubbo-registry.html">
-            
-                <a href="reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="reference-xmlconf/dubbo-application.html">
-            
-                <a href="reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="reference-xmlconf/dubbo-module.html">
-            
-                <a href="reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="reference-xmlconf/dubbo-provider.html">
-            
-                <a href="reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="reference-xmlconf/dubbo-method.html">
-            
-                <a href="reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="reference-xmlconf/dubbo-argument.html">
-            
-                <a href="reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="reference-protocol/introduction.html">
-            
-                <a href="reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="reference-protocol/dubbo.html">
-            
-                <a href="reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="reference-protocol/rmi.html">
-            
-                <a href="reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="reference-protocol/hessian.html">
-            
-                <a href="reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="reference-protocol/http.html">
-            
-                <a href="reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="reference-protocol/webservice.html">
-            
-                <a href="reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="reference-protocol/thrift.html">
-            
-                <a href="reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="reference-protocol/memcached.html">
-            
-                <a href="reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="reference-protocol/redis.html">
-            
-                <a href="reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="reference-registry/introduction.html">
-            
-                <a href="reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="reference-registry/multicast.html">
-            
-                <a href="reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="reference-registry/zookeeper.html">
-            
-                <a href="reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="reference-registry/redis.html">
-            
-                <a href="reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="reference-registry/simple.html">
-            
-                <a href="reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="reference-telnet/telnet.html">
-            
-                <a href="reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="reference-maven/maven.html">
-            
-                <a href="reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="best-practice.html">
-            
-                <a href="best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="recommend.html">
-            
-                <a href="recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="capacity-plan.html">
-            
-                <a href="capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.15" data-path="benchmark.html">
-            
-                <a href="benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="perf-test.html">
-            
-                <a href="perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="coveragence.html">
-            
-                <a href="coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >14 基准测试工具包</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h3 id="&#x57FA;&#x51C6;&#x6D4B;&#x8BD5;&#x5DE5;&#x5177;&#x5305;">&#x57FA;&#x51C6;&#x6D4B;&#x8BD5;&#x5DE5;&#x5177;&#x5305;</h3>
-<p>&#x4E0B;&#x8F7D; <a href="http://code.alibabatech.com/wiki/download/attachments/7669075/dubbo.benchmark-2.0.14.tar.gz" target="_blank">benchmark&#x538B;&#x7F29;&#x5305;</a>&#xFF0C;&#x5E76;&#x89E3;&#x538B; </p>
-<p>&#x9605;&#x8BFB;ReadMe.txt&#xFF08;&#x5185;&#x5BB9;&#x5982;&#x4E0B;&#xFF0C;&#x8BF7;&#x4EE5;&#x538B;&#x7F29;&#x5305;&#x5185;&#x7684;&#x4E3A;&#x51C6;&#xFF09;</p>
-<ul>
-<li>&#x65B0;&#x5EFA;&#x4E00;&#x4E2A;benchmark&#x5DE5;&#x7A0B;&#xFF0C;&#x5982;demo.benchmark</li>
-<li>&#x5BFC;&#x5165;&#x81EA;&#x5DF1;&#x670D;&#x52A1;&#x7684;&#x63A5;&#x53E3;api&#x5305;&#x548C;dubbo.benchmark.jar(&#x89E3;&#x538B;dubbo.benchmark.tar.gz&#xFF0C;&#x5728;lib&#x76EE;&#x5F55;&#x4E0B;)</li>
-<li><p>&#x65B0;&#x5EFA;&#x4E00;&#x4E2A;&#x7C7B;&#xFF0C;&#x5B9E;&#x73B0;AbstractClientRunnable</p>
-<ul>
-<li>&#x5B9E;&#x73B0;&#x7236;&#x7C7B;&#x7684;&#x6784;&#x9020;&#x51FD;&#x6570;</li>
-<li><p>&#x5B9E;&#x73B0;invoke&#x65B9;&#x6CD5;&#xFF0C;&#x901A;&#x8FC7;serviceFactory&#x521B;&#x5EFA;&#x672C;&#x5730;&#x63A5;&#x53E3;&#x4EE3;&#x7406;&#xFF0C;&#x5E76;&#x5B9E;&#x73B0;&#x81EA;&#x5DF1;&#x7684;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#xFF0C;&#x5982;&#x4E0B;</p>
-<pre><code class="lang-java">  <span class="hljs-function"><span class="hljs-keyword">public</span> Object <span class="hljs-title">invoke</span><span class="hljs-params">(ServiceFactory serviceFactory)</span> </span>{
-      DemoService demoService = (DemoService) serviceFactory.get(DemoService.class);
-      <span class="hljs-keyword">return</span> demoService.sendRequest(<span class="hljs-string">&quot;hello&quot;</span>);
-  }
-</code></pre>
-</li>
-</ul>
-</li>
-<li>&#x5C06;&#x81EA;&#x5DF1;&#x7684;benchmark&#x5DE5;&#x7A0B;&#x6253;&#x6210;jar&#x5305;,&#x5982;demo.benchmark.jar</li>
-<li>&#x5C06;demo.benchmark.jar &#x548C;&#x670D;&#x52A1;&#x7684;api&#x5305;&#x653E;&#x5230;dubbo.benchmark/lib&#x76EE;&#x5F55;&#x4E0B;</li>
-<li>&#x914D;&#x7F6E;duubo.properties</li>
-<li>&#x8FD0;&#x884C;run.bat(windows)&#x6216;run.sh(linux)</li>
-</ul>
-<p>&#x5982;&#x60F3;&#x6D4B;&#x8BD5;dubbo&#x7684;&#x4E0D;&#x540C;&#x7248;&#x672C;&#xFF0C;&#x76F4;&#x63A5;&#x66FF;&#x6362;lib&#x4E0B;&#x7684;dubbo&#x7684;jar&#x5305;&#x5373;&#x53EF;&#x3002; </p>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="capacity-plan.html" class="navigation navigation-prev " aria-label="Previous page: 13 容量规划">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="perf-test.html" class="navigation navigation-next " aria-label="Next page: 15 性能测试报告">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"14 基准测试工具包","level":"1.15","depth":1,"next":{"title":"15 性能测试报告","level":"1.16","depth":1,"path":"perf-test.md","ref":"perf-test.md","articles":[]},"previous":{"title":"13 容量规划","level":"1.14","depth":1,"path":"capacity-plan.md","ref":"capacity-plan.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"benchmark.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/best-practice.html b/user-guide/best-practice.html
deleted file mode 100644
index 44c30d0..0000000
--- a/user-guide/best-practice.html
+++ /dev/null
@@ -1,1514 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>11 服务化最佳实践 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="recommend.html" />
-    
-    
-    <link rel="prev" href="reference-maven/maven.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="preface/background.html">
-            
-                <a href="preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="preface/requirements.html">
-            
-                <a href="preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="preface/architacture.html">
-            
-                <a href="preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="preface/usage.html">
-            
-                <a href="preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="dependencies/dependencies.html">
-            
-                <a href="dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="maturity/maturity.html">
-            
-                <a href="maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="configuration/xml.html">
-            
-                <a href="configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="configuration/properties.html">
-            
-                <a href="configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="configuration/api.html">
-            
-                <a href="configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="configuration/annotation.html">
-            
-                <a href="configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="demos/启动时检查.html">
-            
-                <a href="demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="demos/集群容错.html">
-            
-                <a href="demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="demos/负载均衡.html">
-            
-                <a href="demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="demos/线程模型.html">
-            
-                <a href="demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="demos/直连提供者.html">
-            
-                <a href="demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="demos/只订阅.html">
-            
-                <a href="demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="demos/只注册.html">
-            
-                <a href="demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="demos/静态服务.html">
-            
-                <a href="demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="demos/多协议.html">
-            
-                <a href="demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="demos/多注册中心.html">
-            
-                <a href="demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="demos/服务分组.html">
-            
-                <a href="demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="demos/多版本.html">
-            
-                <a href="demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="demos/分组聚合.html">
-            
-                <a href="demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="demos/参数验证.html">
-            
-                <a href="demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="demos/结果缓存.html">
-            
-                <a href="demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="demos/泛化引用.html">
-            
-                <a href="demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="demos/泛化实现.html">
-            
-                <a href="demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="demos/回声测试.html">
-            
-                <a href="demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="demos/上下文信息.html">
-            
-                <a href="demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="demos/隐式传参.html">
-            
-                <a href="demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="demos/异步调用.html">
-            
-                <a href="demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="demos/本地调用.html">
-            
-                <a href="demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="demos/参数回调.html">
-            
-                <a href="demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="demos/事件通知.html">
-            
-                <a href="demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="demos/本地存根.html">
-            
-                <a href="demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="demos/本地伪装.html">
-            
-                <a href="demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="demos/延迟暴露.html">
-            
-                <a href="demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="demos/并发控制.html">
-            
-                <a href="demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="demos/连接控制.html">
-            
-                <a href="demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="demos/延迟连接.html">
-            
-                <a href="demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="demos/粘滞连接.html">
-            
-                <a href="demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="demos/令牌验证.html">
-            
-                <a href="demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="demos/路由规则.html">
-            
-                <a href="demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="demos/配置规则.html">
-            
-                <a href="demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="demos/服务降级.html">
-            
-                <a href="demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="demos/优雅停机.html">
-            
-                <a href="demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="demos/主机绑定.html">
-            
-                <a href="demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="demos/日志适配.html">
-            
-                <a href="demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="demos/访问日志.html">
-            
-                <a href="demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="demos/服务容器.html">
-            
-                <a href="demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="demos/ReferenceConfig缓存.html">
-            
-                <a href="demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="demos/分布式事务.html">
-            
-                <a href="demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="reference-apiconf/api.html">
-            
-                <a href="reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="reference-xmlconf/introduction.html">
-            
-                <a href="reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="reference-xmlconf/dubbo-service.html">
-            
-                <a href="reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="reference-xmlconf/dubbo-reference.html">
-            
-                <a href="reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="reference-xmlconf/dubbo-registry.html">
-            
-                <a href="reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="reference-xmlconf/dubbo-application.html">
-            
-                <a href="reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="reference-xmlconf/dubbo-module.html">
-            
-                <a href="reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="reference-xmlconf/dubbo-provider.html">
-            
-                <a href="reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="reference-xmlconf/dubbo-method.html">
-            
-                <a href="reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="reference-xmlconf/dubbo-argument.html">
-            
-                <a href="reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="reference-protocol/introduction.html">
-            
-                <a href="reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="reference-protocol/dubbo.html">
-            
-                <a href="reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="reference-protocol/rmi.html">
-            
-                <a href="reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="reference-protocol/hessian.html">
-            
-                <a href="reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="reference-protocol/http.html">
-            
-                <a href="reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="reference-protocol/webservice.html">
-            
-                <a href="reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="reference-protocol/thrift.html">
-            
-                <a href="reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="reference-protocol/memcached.html">
-            
-                <a href="reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="reference-protocol/redis.html">
-            
-                <a href="reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="reference-registry/introduction.html">
-            
-                <a href="reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="reference-registry/multicast.html">
-            
-                <a href="reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="reference-registry/zookeeper.html">
-            
-                <a href="reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="reference-registry/redis.html">
-            
-                <a href="reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="reference-registry/simple.html">
-            
-                <a href="reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="reference-telnet/telnet.html">
-            
-                <a href="reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="reference-maven/maven.html">
-            
-                <a href="reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.12" data-path="best-practice.html">
-            
-                <a href="best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="recommend.html">
-            
-                <a href="recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="capacity-plan.html">
-            
-                <a href="capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="benchmark.html">
-            
-                <a href="benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="perf-test.html">
-            
-                <a href="perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="coveragence.html">
-            
-                <a href="coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >11 服务化最佳实践</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h4 id="&#x5206;&#x5305;">&#x5206;&#x5305;</h4>
-<ul>
-<li>&#x5EFA;&#x8BAE;&#x5C06;&#x670D;&#x52A1;&#x63A5;&#x53E3;&#xFF0C;&#x670D;&#x52A1;&#x6A21;&#x578B;&#xFF0C;&#x670D;&#x52A1;&#x5F02;&#x5E38;&#x7B49;&#x5747;&#x653E;&#x5728;API&#x5305;&#x4E2D;&#xFF0C;&#x56E0;&#x4E3A;&#x670D;&#x52A1;&#x6A21;&#x578B;&#x53CA;&#x5F02;&#x5E38;&#x4E5F;&#x662F;API&#x7684;&#x4E00;&#x90E8;&#x5206;&#xFF0C;&#x540C;&#x65F6;&#xFF0C;&#x8FD9;&#x6837;&#x505A;&#x4E5F;&#x7B26;&#x5408;&#x5206;&#x5305;&#x539F;&#x5219;&#xFF1A;&#x91CD;&#x7528;&#x53D1;&#x5E03;&#x7B49;&#x4EF7;&#x539F;&#x5219;(REP)&#xFF0C;&#x5171;&#x540C;&#x91CD;&#x7528;&#x539F;&#x5219;(CRP)</li>
-<li>&#x5982;&#x679C;&#x9700;&#x8981;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x8003;&#x8651;&#x5728;API&#x5305;&#x4E2D;&#x653E;&#x7F6E;&#x4E00;&#x4EFD;spring&#x7684;&#x5F15;&#x7528;&#x914D;&#x7F6E;&#xFF0C;&#x8FD9;&#x6837;&#x4F7F;&#x7528;&#x65B9;&#xFF0C;&#x53EA;&#x9700;&#x5728;Spring&#x52A0;&#x8F7D;&#x8FC7;&#x7A0B;&#x4E2D;&#x5F15;&#x7528;&#x6B64;&#x914D;&#x7F6E;&#x5373;&#x53EF;&#xFF0C;&#x914D;&#x7F6E;&#x5EFA;&#x8BAE;&#x653E;&#x5728;&#x6A21;&#x5757;&#x7684;&#x5305;&#x76EE;&#x5F55;&#x4E0B;&#xFF0C;&#x4EE5;&#x514D;&#x51B2;&#x7A81;&#xFF0C;&#x5982;&#xFF1A;com/alibaba/china/xxx/dubbo-reference.xml</li>
-</ul>
-<h4 id="&#x7C92;&#x5EA6;">&#x7C92;&#x5EA6;</h4>
-<ul>
-<li>&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x5C3D;&#x53EF;&#x80FD;&#x5927;&#x7C92;&#x5EA6;&#xFF0C;&#x6BCF;&#x4E2A;&#x670D;&#x52A1;&#x65B9;&#x6CD5;&#x5E94;&#x4EE3;&#x8868;&#x4E00;&#x4E2A;&#x529F;&#x80FD;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x67D0;&#x529F;&#x80FD;&#x7684;&#x4E00;&#x4E2A;&#x6B65;&#x9AA4;&#xFF0C;&#x5426;&#x5219;&#x5C06;&#x9762;&#x4E34;&#x5206;&#x5E03;&#x5F0F;&#x4E8B;&#x52A1;&#x95EE;&#x9898;&#xFF0C;Dubbo&#x6682;&#x672A;&#x63D0;&#x4F9B;&#x5206;&#x5E03;&#x5F0F;&#x4E8B;&#x52A1;&#x652F;&#x6301;&#x3002;</li>
-<li>&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x5EFA;&#x8BAE;&#x4EE5;&#x4E1A;&#x52A1;&#x573A;&#x666F;&#x4E3A;&#x5355;&#x4F4D;&#x5212;&#x5206;&#xFF0C;&#x5E76;&#x5BF9;&#x76F8;&#x8FD1;&#x4E1A;&#x52A1;&#x505A;&#x62BD;&#x8C61;&#xFF0C;&#x9632;&#x6B62;&#x63A5;&#x53E3;&#x6570;&#x91CF;&#x7206;&#x70B8;</li>
-<li>&#x4E0D;&#x5EFA;&#x8BAE;&#x4F7F;&#x7528;&#x8FC7;&#x4E8E;&#x62BD;&#x8C61;&#x7684;&#x901A;&#x7528;&#x63A5;&#x53E3;&#xFF0C;&#x5982;&#xFF1A;Map query(Map)&#xFF0C;&#x8FD9;&#x6837;&#x7684;&#x63A5;&#x53E3;&#x6CA1;&#x6709;&#x660E;&#x786E;&#x8BED;&#x4E49;&#xFF0C;&#x4F1A;&#x7ED9;&#x540E;&#x671F;&#x7EF4;&#x62A4;&#x5E26;&#x6765;&#x4E0D;&#x4FBF;&#x3002;</li>
-</ul>
-<h4 id="&#x7248;&#x672C;">&#x7248;&#x672C;</h4>
-<ul>
-<li>&#x6BCF;&#x4E2A;&#x63A5;&#x53E3;&#x90FD;&#x5E94;&#x5B9A;&#x4E49;&#x7248;&#x672C;&#x53F7;&#xFF0C;&#x4E3A;&#x540E;&#x7EED;&#x4E0D;&#x517C;&#x5BB9;&#x5347;&#x7EA7;&#x63D0;&#x4F9B;&#x53EF;&#x80FD;&#xFF0C;&#x5982;&#xFF1A; <code>&lt;dubbo:service interface=&quot;com.xxx.XxxService&quot; version=&quot;1.0&quot; /&gt;</code></li>
-<li>&#x5EFA;&#x8BAE;&#x4F7F;&#x7528;&#x4E24;&#x4F4D;&#x7248;&#x672C;&#x53F7;&#xFF0C;&#x56E0;&#x4E3A;&#x7B2C;&#x4E09;&#x4F4D;&#x7248;&#x672C;&#x53F7;&#x901A;&#x5E38;&#x8868;&#x793A;&#x517C;&#x5BB9;&#x5347;&#x7EA7;&#xFF0C;&#x53EA;&#x6709;&#x4E0D;&#x517C;&#x5BB9;&#x65F6;&#x624D;&#x9700;&#x8981;&#x53D8;&#x66F4;&#x670D;&#x52A1;&#x7248;&#x672C;&#x3002;</li>
-<li>&#x5F53;&#x4E0D;&#x517C;&#x5BB9;&#x65F6;&#xFF0C;&#x5148;&#x5347;&#x7EA7;&#x4E00;&#x534A;&#x63D0;&#x4F9B;&#x8005;&#x4E3A;&#x65B0;&#x7248;&#x672C;&#xFF0C;&#x518D;&#x5C06;&#x6D88;&#x8D39;&#x8005;&#x5168;&#x90E8;&#x5347;&#x4E3A;&#x65B0;&#x7248;&#x672C;&#xFF0C;&#x7136;&#x540E;&#x5C06;&#x5269;&#x4E0B;&#x7684;&#x4E00;&#x534A;&#x63D0;&#x4F9B;&#x8005;&#x5347;&#x4E3A;&#x65B0;&#x7248;&#x672C;&#x3002;</li>
-</ul>
-<h4 id="&#x517C;&#x5BB9;&#x6027;">&#x517C;&#x5BB9;&#x6027;</h4>
-<ul>
-<li>&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x589E;&#x52A0;&#x65B9;&#x6CD5;&#xFF0C;&#x6216;&#x670D;&#x52A1;&#x6A21;&#x578B;&#x589E;&#x52A0;&#x5B57;&#x6BB5;&#xFF0C;&#x53EF;&#x5411;&#x540E;&#x517C;&#x5BB9;&#xFF0C;&#x5220;&#x9664;&#x65B9;&#x6CD5;&#x6216;&#x5220;&#x9664;&#x5B57;&#x6BB5;&#xFF0C;&#x5C06;&#x4E0D;&#x517C;&#x5BB9;&#xFF0C;&#x679A;&#x4E3E;&#x7C7B;&#x578B;&#x65B0;&#x589E;&#x5B57;&#x6BB5;&#x4E5F;&#x4E0D;&#x517C;&#x5BB9;&#xFF0C;&#x9700;&#x901A;&#x8FC7;&#x53D8;&#x66F4;&#x7248;&#x672C;&#x53F7;&#x5347;&#x7EA7;&#x3002;</li>
-<li>&#x5404;&#x534F;&#x8BAE;&#x7684;&#x517C;&#x5BB9;&#x6027;&#x4E0D;&#x540C;&#xFF0C;&#x53C2;&#x89C1;&#xFF1A; <a href="reference-protocol/introduction.html">&#x670D;&#x52A1;&#x534F;&#x8BAE;</a></li>
-</ul>
-<h4 id="&#x679A;&#x4E3E;&#x503C;">&#x679A;&#x4E3E;&#x503C;</h4>
-<ul>
-<li>&#x5982;&#x679C;&#x662F;&#x5B8C;&#x5907;&#x96C6;&#xFF0C;&#x53EF;&#x4EE5;&#x7528;Enum&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;ENABLE, DISABLE&#x3002;</li>
-<li>&#x5982;&#x679C;&#x662F;&#x4E1A;&#x52A1;&#x79CD;&#x7C7B;&#xFF0C;&#x4EE5;&#x540E;&#x660E;&#x663E;&#x4F1A;&#x6709;&#x7C7B;&#x578B;&#x589E;&#x52A0;&#xFF0C;&#x4E0D;&#x5EFA;&#x8BAE;&#x7528;Enum&#xFF0C;&#x53EF;&#x4EE5;&#x7528;String&#x4EE3;&#x66FF;&#x3002;</li>
-<li>&#x5982;&#x679C;&#x662F;&#x5728;&#x8FD4;&#x56DE;&#x503C;&#x4E2D;&#x7528;&#x4E86;Enum&#xFF0C;&#x5E76;&#x65B0;&#x589E;&#x4E86;Enum&#x503C;&#xFF0C;&#x5EFA;&#x8BAE;&#x5148;&#x5347;&#x7EA7;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#xFF0C;&#x8FD9;&#x6837;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x4E0D;&#x4F1A;&#x8FD4;&#x56DE;&#x65B0;&#x503C;&#x3002;</li>
-<li>&#x5982;&#x679C;&#x662F;&#x5728;&#x4F20;&#x5165;&#x53C2;&#x6570;&#x4E2D;&#x7528;&#x4E86;Enum&#xFF0C;&#x5E76;&#x65B0;&#x589E;&#x4E86;Enum&#x503C;&#xFF0C;&#x5EFA;&#x8BAE;&#x5148;&#x5347;&#x7EA7;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#xFF0C;&#x8FD9;&#x6837;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#x4E0D;&#x4F1A;&#x4F20;&#x5165;&#x65B0;&#x503C;&#x3002;</li>
-</ul>
-<h4 id="&#x5E8F;&#x5217;&#x5316;">&#x5E8F;&#x5217;&#x5316;</h4>
-<ul>
-<li>&#x670D;&#x52A1;&#x53C2;&#x6570;&#x53CA;&#x8FD4;&#x56DE;&#x503C;&#x5EFA;&#x8BAE;&#x4F7F;&#x7528;POJO&#x5BF9;&#x8C61;&#xFF0C;&#x5373;&#x901A;&#x8FC7;set,get&#x65B9;&#x6CD5;&#x8868;&#x793A;&#x5C5E;&#x6027;&#x7684;&#x5BF9;&#x8C61;&#x3002;</li>
-<li>&#x670D;&#x52A1;&#x53C2;&#x6570;&#x53CA;&#x8FD4;&#x56DE;&#x503C;&#x4E0D;&#x5EFA;&#x8BAE;&#x4F7F;&#x7528;&#x63A5;&#x53E3;&#xFF0C;&#x56E0;&#x4E3A;&#x6570;&#x636E;&#x6A21;&#x578B;&#x62BD;&#x8C61;&#x7684;&#x610F;&#x4E49;&#x4E0D;&#x5927;&#xFF0C;&#x5E76;&#x4E14;&#x5E8F;&#x5217;&#x5316;&#x9700;&#x8981;&#x63A5;&#x53E3;&#x5B9E;&#x73B0;&#x7C7B;&#x7684;&#x5143;&#x4FE1;&#x606F;&#xFF0C;&#x5E76;&#x4E0D;&#x80FD;&#x8D77;&#x5230;&#x9690;&#x85CF;&#x5B9E;&#x73B0;&#x7684;&#x610F;&#x56FE;&#x3002;</li>
-<li>&#x670D;&#x52A1;&#x53C2;&#x6570;&#x53CA;&#x8FD4;&#x56DE;&#x503C;&#x90FD;&#x5FC5;&#x9700;&#x662F;byValue&#x7684;&#xFF0C;&#x800C;&#x4E0D;&#x80FD;&#x662F;byRef&#x7684;&#xFF0C;&#x6D88;&#x8D39;&#x65B9;&#x548C;&#x63D0;&#x4F9B;&#x65B9;&#x7684;&#x53C2;&#x6570;&#x6216;&#x8FD4;&#x56DE;&#x503C;&#x5F15;&#x7528;&#x5E76;&#x4E0D;&#x662F;&#x540C;&#x4E00;&#x4E2A;&#xFF0C;&#x53EA;&#x662F;&#x503C;&#x76F8;&#x540C;&#xFF0C;Dubbo&#x4E0D;&#x652F;&#x6301;&#x5F15;&#x7528;&#x8FDC;&#x7A0B;&#x5BF9;&#x8C61;&#x3002;</li>
-</ul>
-<h4 id="&#x5F02;&#x5E38;">&#x5F02;&#x5E38;</h4>
-<ul>
-<li>&#x5EFA;&#x8BAE;&#x4F7F;&#x7528;&#x5F02;&#x5E38;&#x6C47;&#x62A5;&#x9519;&#x8BEF;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x8FD4;&#x56DE;&#x9519;&#x8BEF;&#x7801;&#xFF0C;&#x5F02;&#x5E38;&#x4FE1;&#x606F;&#x80FD;&#x643A;&#x5E26;&#x66F4;&#x591A;&#x4FE1;&#x606F;&#xFF0C;&#x4EE5;&#x53CA;&#x8BED;&#x4E49;&#x66F4;&#x53CB;&#x597D;&#xFF0C;</li>
-<li>&#x5982;&#x679C;&#x62C5;&#x5FC3;&#x6027;&#x80FD;&#x95EE;&#x9898;&#xFF0C;&#x5728;&#x5FC5;&#x8981;&#x65F6;&#xFF0C;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;override&#x6389;&#x5F02;&#x5E38;&#x7C7B;&#x7684;fillInStackTrace()&#x65B9;&#x6CD5;&#x4E3A;&#x7A7A;&#x65B9;&#x6CD5;&#xFF0C;&#x4F7F;&#x5176;&#x4E0D;&#x62F7;&#x8D1D;&#x6808;&#x4FE1;&#x606F;&#xFF0C;</li>
-<li>&#x67E5;&#x8BE2;&#x65B9;&#x6CD5;&#x4E0D;&#x5EFA;&#x8BAE;&#x629B;&#x51FA;checked&#x5F02;&#x5E38;&#xFF0C;&#x5426;&#x5219;&#x8C03;&#x7528;&#x65B9;&#x5728;&#x67E5;&#x8BE2;&#x65F6;&#x5C06;&#x8FC7;&#x591A;&#x7684;try...catch&#xFF0C;&#x5E76;&#x4E14;&#x4E0D;&#x80FD;&#x8FDB;&#x884C;&#x6709;&#x6548;&#x5904;&#x7406;&#xFF0C;</li>
-<li>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x4E0D;&#x5E94;&#x5C06;DAO&#x6216;SQL&#x7B49;&#x5F02;&#x5E38;&#x629B;&#x7ED9;&#x6D88;&#x8D39;&#x65B9;&#xFF0C;&#x5E94;&#x5728;&#x670D;&#x52A1;&#x5B9E;&#x73B0;&#x4E2D;&#x5BF9;&#x6D88;&#x8D39;&#x65B9;&#x4E0D;&#x5173;&#x5FC3;&#x7684;&#x5F02;&#x5E38;&#x8FDB;&#x884C;&#x5305;&#x88C5;&#xFF0C;&#x5426;&#x5219;&#x53EF;&#x80FD;&#x51FA;&#x73B0;&#x6D88;&#x8D39;&#x65B9;&#x65E0;&#x6CD5;&#x53CD;&#x5E8F;&#x5217;&#x5316;&#x76F8;&#x5E94;&#x5F02;&#x5E38;&#x3002;</li>
-</ul>
-<h4 id="&#x8C03;&#x7528;">&#x8C03;&#x7528;</h4>
-<ul>
-<li>&#x4E0D;&#x8981;&#x53EA;&#x662F;&#x56E0;&#x4E3A;&#x662F;Dubbo&#x8C03;&#x7528;&#xFF0C;&#x800C;&#x628A;&#x8C03;&#x7528;Try-Catch&#x8D77;&#x6765;&#x3002;Try-Catch&#x5E94;&#x8BE5;&#x52A0;&#x4E0A;&#x5408;&#x9002;&#x7684;&#x56DE;&#x6EDA;&#x8FB9;&#x754C;&#x4E0A;&#x3002;</li>
-<li>&#x5BF9;&#x4E8E;&#x8F93;&#x5165;&#x53C2;&#x6570;&#x7684;&#x6821;&#x9A8C;&#x903B;&#x8F91;&#x5728;Provider&#x7AEF;&#x8981;&#x6709;&#x3002;&#x5982;&#x6709;&#x6027;&#x80FD;&#x4E0A;&#x7684;&#x8003;&#x8651;&#xFF0C;&#x670D;&#x52A1;&#x5B9E;&#x73B0;&#x8005;&#x53EF;&#x4EE5;&#x8003;&#x8651;&#x5728;API&#x5305;&#x4E0A;&#x52A0;&#x4E0A;&#x670D;&#x52A1;Stub&#x7C7B;&#x6765;&#x5B8C;&#x6210;&#x68C0;&#x9A8C;&#x3002;</li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="reference-maven/maven.html" class="navigation navigation-prev " aria-label="Previous page: 10 maven插件参考手册">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="recommend.html" class="navigation navigation-next " aria-label="Next page: 12 推荐用法">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"11 服务化最佳实践","level":"1.12","depth":1,"next":{"title":"12 推荐用法","level":"1.13","depth":1,"path":"recommend.md","ref":"recommend.md","articles":[]},"previous":{"title":"10 maven插件参考手册","level":"1.11","depth":1,"path":"reference-maven/maven.md","ref":"reference-maven/maven.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"best-practice.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/capacity-plan.html b/user-guide/capacity-plan.html
deleted file mode 100644
index ec24d3b..0000000
--- a/user-guide/capacity-plan.html
+++ /dev/null
@@ -1,1482 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>13 容量规划 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="benchmark.html" />
-    
-    
-    <link rel="prev" href="recommend.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="preface/background.html">
-            
-                <a href="preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="preface/requirements.html">
-            
-                <a href="preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="preface/architacture.html">
-            
-                <a href="preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="preface/usage.html">
-            
-                <a href="preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="dependencies/dependencies.html">
-            
-                <a href="dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="maturity/maturity.html">
-            
-                <a href="maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="configuration/xml.html">
-            
-                <a href="configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="configuration/properties.html">
-            
-                <a href="configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="configuration/api.html">
-            
-                <a href="configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="configuration/annotation.html">
-            
-                <a href="configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="demos/启动时检查.html">
-            
-                <a href="demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="demos/集群容错.html">
-            
-                <a href="demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="demos/负载均衡.html">
-            
-                <a href="demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="demos/线程模型.html">
-            
-                <a href="demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="demos/直连提供者.html">
-            
-                <a href="demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="demos/只订阅.html">
-            
-                <a href="demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="demos/只注册.html">
-            
-                <a href="demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="demos/静态服务.html">
-            
-                <a href="demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="demos/多协议.html">
-            
-                <a href="demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="demos/多注册中心.html">
-            
-                <a href="demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="demos/服务分组.html">
-            
-                <a href="demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="demos/多版本.html">
-            
-                <a href="demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="demos/分组聚合.html">
-            
-                <a href="demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="demos/参数验证.html">
-            
-                <a href="demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="demos/结果缓存.html">
-            
-                <a href="demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="demos/泛化引用.html">
-            
-                <a href="demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="demos/泛化实现.html">
-            
-                <a href="demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="demos/回声测试.html">
-            
-                <a href="demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="demos/上下文信息.html">
-            
-                <a href="demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="demos/隐式传参.html">
-            
-                <a href="demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="demos/异步调用.html">
-            
-                <a href="demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="demos/本地调用.html">
-            
-                <a href="demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="demos/参数回调.html">
-            
-                <a href="demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="demos/事件通知.html">
-            
-                <a href="demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="demos/本地存根.html">
-            
-                <a href="demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="demos/本地伪装.html">
-            
-                <a href="demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="demos/延迟暴露.html">
-            
-                <a href="demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="demos/并发控制.html">
-            
-                <a href="demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="demos/连接控制.html">
-            
-                <a href="demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="demos/延迟连接.html">
-            
-                <a href="demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="demos/粘滞连接.html">
-            
-                <a href="demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="demos/令牌验证.html">
-            
-                <a href="demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="demos/路由规则.html">
-            
-                <a href="demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="demos/配置规则.html">
-            
-                <a href="demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="demos/服务降级.html">
-            
-                <a href="demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="demos/优雅停机.html">
-            
-                <a href="demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="demos/主机绑定.html">
-            
-                <a href="demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="demos/日志适配.html">
-            
-                <a href="demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="demos/访问日志.html">
-            
-                <a href="demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="demos/服务容器.html">
-            
-                <a href="demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="demos/ReferenceConfig缓存.html">
-            
-                <a href="demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="demos/分布式事务.html">
-            
-                <a href="demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="reference-apiconf/api.html">
-            
-                <a href="reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="reference-xmlconf/introduction.html">
-            
-                <a href="reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="reference-xmlconf/dubbo-service.html">
-            
-                <a href="reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="reference-xmlconf/dubbo-reference.html">
-            
-                <a href="reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="reference-xmlconf/dubbo-registry.html">
-            
-                <a href="reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="reference-xmlconf/dubbo-application.html">
-            
-                <a href="reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="reference-xmlconf/dubbo-module.html">
-            
-                <a href="reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="reference-xmlconf/dubbo-provider.html">
-            
-                <a href="reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="reference-xmlconf/dubbo-method.html">
-            
-                <a href="reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="reference-xmlconf/dubbo-argument.html">
-            
-                <a href="reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="reference-protocol/introduction.html">
-            
-                <a href="reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="reference-protocol/dubbo.html">
-            
-                <a href="reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="reference-protocol/rmi.html">
-            
-                <a href="reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="reference-protocol/hessian.html">
-            
-                <a href="reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="reference-protocol/http.html">
-            
-                <a href="reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="reference-protocol/webservice.html">
-            
-                <a href="reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="reference-protocol/thrift.html">
-            
-                <a href="reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="reference-protocol/memcached.html">
-            
-                <a href="reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="reference-protocol/redis.html">
-            
-                <a href="reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="reference-registry/introduction.html">
-            
-                <a href="reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="reference-registry/multicast.html">
-            
-                <a href="reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="reference-registry/zookeeper.html">
-            
-                <a href="reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="reference-registry/redis.html">
-            
-                <a href="reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="reference-registry/simple.html">
-            
-                <a href="reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="reference-telnet/telnet.html">
-            
-                <a href="reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="reference-maven/maven.html">
-            
-                <a href="reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="best-practice.html">
-            
-                <a href="best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="recommend.html">
-            
-                <a href="recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.14" data-path="capacity-plan.html">
-            
-                <a href="capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="benchmark.html">
-            
-                <a href="benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="perf-test.html">
-            
-                <a href="perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="coveragence.html">
-            
-                <a href="coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >13 容量规划</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x4EE5;&#x4E0B;&#x6570;&#x636E;&#x4F9B;&#x53C2;&#x8003;&#xFF1A;</p>
-<h4 id="&#x4F7F;&#x7528;dubbo&#x7684;&#x4F1A;&#x5458;&#x670D;&#x52A1;&#x9879;&#x76EE;">&#x4F7F;&#x7528;Dubbo&#x7684;&#x4F1A;&#x5458;&#x670D;&#x52A1;&#x9879;&#x76EE;</h4>
-<ul>
-<li>&#x6BCF;&#x5929;&#x63A5;&#x6536;4&#x4EBF;&#x6B21;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;</li>
-<li>&#x4F7F;&#x7528;12&#x53F0;&#x7F51;&#x7AD9;&#x6807;&#x914D;&#x673A;&#x5668;&#x63D0;&#x4F9B;&#x670D;&#x52A1;(8&#x6838;CPU,8G&#x5185;&#x5B58;)</li>
-<li>&#x5E73;&#x5747;&#x8D1F;&#x8F7D;&#x5728;1&#x4EE5;&#x4E0B;(&#x5BF9;&#x4E8E;8&#x6838;CPU&#x8D1F;&#x8F7D;&#x5F88;&#x4F4E;)</li>
-<li>&#x5E73;&#x5747;&#x54CD;&#x5E94;&#x65F6;&#x95F4;2.3&#x5230;2.5&#x6BEB;&#x79D2;&#xFF0C;&#x7F51;&#x7EDC;&#x5F00;&#x9500;&#x7EA6;&#x5360;1.5&#x5230;1.6&#x6BEB;&#x79D2;(&#x548C;&#x6570;&#x636E;&#x5305;&#x5927;&#x5C0F;&#x6709;&#x5173;)</li>
-</ul>
-<h4 id="&#x4F7F;&#x7528;dubbo&#x7684;&#x4EA7;&#x54C1;&#x6388;&#x6743;&#x670D;&#x52A1;&#x9879;&#x76EE;">&#x4F7F;&#x7528;Dubbo&#x7684;&#x4EA7;&#x54C1;&#x6388;&#x6743;&#x670D;&#x52A1;&#x9879;&#x76EE;</h4>
-<ul>
-<li>&#x6BCF;&#x5929;&#x63A5;&#x6536;3&#x4EBF;&#x6B21;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;</li>
-<li>&#x4F7F;&#x7528;8&#x53F0;&#x7F51;&#x7AD9;&#x6807;&#x914D;&#x673A;&#x5668;&#x63D0;&#x4F9B;&#x670D;&#x52A1;(8&#x6838;CPU,8G&#x5185;&#x5B58;)</li>
-<li>&#x5E73;&#x5747;&#x8D1F;&#x8F7D;&#x5728;1&#x4EE5;&#x4E0B;(&#x5BF9;&#x4E8E;8&#x6838;CPU&#x8D1F;&#x8F7D;&#x5F88;&#x4F4E;)</li>
-<li>&#x5E73;&#x5747;&#x54CD;&#x5E94;&#x65F6;&#x95F4;1.4&#x5230;2.8&#x6BEB;&#x79D2;&#xFF0C;&#x7F51;&#x7EDC;&#x5F00;&#x9500;&#x7EA6;&#x5360;1.0&#x5230;1.1&#x6BEB;&#x79D2;(&#x548C;&#x6570;&#x636E;&#x5305;&#x5927;&#x5C0F;&#x6709;&#x5173;)</li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="recommend.html" class="navigation navigation-prev " aria-label="Previous page: 12 推荐用法">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="benchmark.html" class="navigation navigation-next " aria-label="Next page: 14 基准测试工具包">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"13 容量规划","level":"1.14","depth":1,"next":{"title":"14 基准测试工具包","level":"1.15","depth":1,"path":"benchmark.md","ref":"benchmark.md","articles":[]},"previous":{"title":"12 推荐用法","level":"1.13","depth":1,"path":"recommend.md","ref":"recommend.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"capacity-plan.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/configuration/annotation.html b/user-guide/configuration/annotation.html
deleted file mode 100644
index ce6bbe6..0000000
--- a/user-guide/configuration/annotation.html
+++ /dev/null
@@ -1,1515 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>3.4 注解配置 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    
-    <link rel="prev" href="api.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="xml.html">
-            
-                <a href="xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="properties.html">
-            
-                <a href="properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="api.html">
-            
-                <a href="api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.4.4" data-path="annotation.html">
-            
-                <a href="annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >3.4 注解配置</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning"> 2.2.1&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;  </p>
-</blockquote>
-<p><strong>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x6CE8;&#x89E3;&#xFF1A;</strong></p>
-<pre><code class="lang-java"><span class="hljs-keyword">import</span> com.alibaba.dubbo.config.annotation.Service;
-
-<span class="hljs-meta">@Service</span>(version=<span class="hljs-string">&quot;1.0.0&quot;</span>)
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">FooServiceImpl</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">FooService</span> </span>{
-
-    <span class="hljs-comment">// ......</span>
-
-}
-</code></pre>
-<p><strong>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x914D;&#x7F6E;&#xFF1A;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-comment">&lt;!-- &#x516C;&#x5171;&#x4FE1;&#x606F;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x7528;dubbo.properties&#x914D;&#x7F6E; --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;annotation-provider&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;127.0.0.1:4548&quot;</span> /&gt;</span>
-
-<span class="hljs-comment">&lt;!-- &#x626B;&#x63CF;&#x6CE8;&#x89E3;&#x5305;&#x8DEF;&#x5F84;&#xFF0C;&#x591A;&#x4E2A;&#x5305;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;&#xFF0C;&#x4E0D;&#x586B;pacakge&#x8868;&#x793A;&#x626B;&#x63CF;&#x5F53;&#x524D;ApplicationContext&#x4E2D;&#x6240;&#x6709;&#x7684;&#x7C7B; --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:annotation</span> <span class="hljs-attr">package</span>=<span class="hljs-string">&quot;com.foo.bar.service&quot;</span> /&gt;</span>
-</code></pre>
-<p><strong>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#x6CE8;&#x89E3;&#xFF1A;</strong></p>
-<pre><code class="lang-java"><span class="hljs-keyword">import</span> com.alibaba.dubbo.config.annotation.Reference;
-<span class="hljs-keyword">import</span> org.springframework.stereotype.Component;
-
-<span class="hljs-meta">@Component</span>
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">BarAction</span> </span>{
-
-    <span class="hljs-meta">@Reference</span>(version=<span class="hljs-string">&quot;1.0.0&quot;</span>)
-    <span class="hljs-keyword">private</span> FooService fooService;
-
-}
-</code></pre>
-<p><strong>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#x914D;&#x7F6E;&#xFF1A;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-comment">&lt;!-- &#x516C;&#x5171;&#x4FE1;&#x606F;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x7528;dubbo.properties&#x914D;&#x7F6E; --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;annotation-consumer&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;127.0.0.1:4548&quot;</span> /&gt;</span>
-
-<span class="hljs-comment">&lt;!-- &#x626B;&#x63CF;&#x6CE8;&#x89E3;&#x5305;&#x8DEF;&#x5F84;&#xFF0C;&#x591A;&#x4E2A;&#x5305;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;&#xFF0C;&#x4E0D;&#x586B;pacakge&#x8868;&#x793A;&#x626B;&#x63CF;&#x5F53;&#x524D;ApplicationContext&#x4E2D;&#x6240;&#x6709;&#x7684;&#x7C7B; --&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:annotation</span> <span class="hljs-attr">package</span>=<span class="hljs-string">&quot;com.foo.bar.action&quot;</span> /&gt;</span>
-</code></pre>
-<p><strong>&#x4E5F;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#xFF1A;</strong>(&#x7B49;&#x4EF7;&#x4E8E;&#x524D;&#x9762;&#x7684;&#xFF1A;<dubbo:annotation package="com.foo.bar.service">)</dubbo:annotation></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:annotation</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">context:component-scan</span> <span class="hljs-attr">base-package</span>=<span class="hljs-string">&quot;com.foo.bar.service&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">context:include-filter</span> <span class="hljs-attr">type</span>=<span class="hljs-string">&quot;annotation&quot;</span> <span class="hljs-attr">expression</span>=<span class="hljs-string">&quot;com.alibaba.dubbo.config.annotation.Service&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">context:component-scan</span>&gt;</span>
-</code></pre>
-<blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning"> Spring2.5&#x53CA;&#x4EE5;&#x540E;&#x7248;&#x672C;&#x652F;&#x6301;component-scan&#xFF0C;&#x5982;&#x679C;&#x7528;&#x7684;&#x662F;Spring2.0&#x53CA;&#x4EE5;&#x524D;&#x7248;&#x672C;&#xFF0C;&#x9700;&#x914D;&#x7F6E;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-comment">&lt;!-- Spring2.0&#x652F;&#x6301;@Service&#x6CE8;&#x89E3;&#x914D;&#x7F6E;&#xFF0C;&#x4F46;&#x4E0D;&#x652F;&#x6301;package&#x5C5E;&#x6027;&#x81EA;&#x52A8;&#x52A0;&#x8F7D;bean&#x7684;&#x5B9E;&#x4F8B;&#xFF0C;&#x9700;&#x4EBA;&#x5DE5;&#x5B9A;&#x4E49;bean&#x7684;&#x5B9E;&#x4F8B;&#x3002;--&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:annotation</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">bean</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;barService&quot;</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;com.foo.BarServiceImpl&quot;</span> /&gt;</span>
-</code></pre>
-</blockquote>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="api.html" class="navigation navigation-prev navigation-unique" aria-label="Previous page: 3.3 API配置">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"3.4 注解配置","level":"1.4.4","depth":2,"next":{"title":"4 示例","level":"1.5","depth":1,"ref":"","articles":[{"title":"4.1 启动时检查","level":"1.5.1","depth":2,"path":"demos/启动时检查.md","ref":"demos/启动时检查.md","articles":[]},{"title":"4.2 集群容错","level":"1.5.2","depth":2,"path":"demos/集群容错.md","ref":"demos/集群容错.md","articles":[]},{"title":"4.3 负载均衡","level":"1.5.3","depth":2,"path":"demos/负载均衡.md","ref":"demos/负载均衡.md","articles":[]},{"title":"4.4 线程模型","level":"1.5.4","depth":2,"path":"demos/线程模型.md","ref":"demos/线程模型.md","articles":[]},{"title":"4.5 直连提供者","level":"1.5.5","depth":2,"path":"demos/直连提供者.md","ref":"demos/直连提供者.md","articles":[]},{"title":"4.6 只订阅","level":"1.5.6","depth":2,"path":"demos/只订阅.md","ref":"demos/只订阅.md","articles":[]},{"title":"4.7 只注册","level":"1.5.7","depth":2,"path":"demos/只注册.md","ref":"demos/只注册.md","articles":[]},{"title":"4.8 静态服务","level":"1.5.8","depth":2,"path":"demos/静态服务.md","ref":"demos/静态服务.md","articles":[]},{"title":"4.9 多协议","level":"1.5.9","depth":2,"path":"demos/多协议.md","ref":"demos/多协议.md","articles":[]},{"title":"4.10 多注册中心","level":"1.5.10","depth":2,"path":"demos/多注册中心.md","ref":"demos/多注册中心.md","articles":[]},{"title":"4.11 服务分组","level":"1.5.11","depth":2,"path":"demos/服务分组.md","ref":"demos/服务分组.md","articles":[]},{"title":"4.13 多版本","level":"1.5.12","depth":2,"path":"demos/多版本.md","ref":"demos/多版本.md","articles":[]},{"title":"4.14 分组聚合","level":"1.5.13","depth":2,"path":"demos/分组聚合.md","ref":"demos/分组聚合.md","articles":[]},{"title":"4.15 参数验证","level":"1.5.14","depth":2,"path":"demos/参数验证.md","ref":"demos/参数验证.md","articles":[]},{"title":"4.16 结果缓存","level":"1.5.15","depth":2,"path":"demos/结果缓存.md","ref":"demos/结果缓存.md","articles":[]},{"title":"4.17 泛化引用","level":"1.5.16","depth":2,"path":"demos/泛化引用.md","ref":"demos/泛化引用.md","articles":[]},{"title":"4.18 泛化实现","level":"1.5.17","depth":2,"path":"demos/泛化实现.md","ref":"demos/泛化实现.md","articles":[]},{"title":"4.19 回声测试","level":"1.5.18","depth":2,"path":"demos/回声测试.md","ref":"demos/回声测试.md","articles":[]},{"title":"4.20 上下文信息","level":"1.5.19","depth":2,"path":"demos/上下文信息.md","ref":"demos/上下文信息.md","articles":[]},{"title":"4.21 隐式参数","level":"1.5.20","depth":2,"path":"demos/隐式传参.md","ref":"demos/隐式传参.md","articles":[]},{"title":"4.22 异步调用","level":"1.5.21","depth":2,"path":"demos/异步调用.md","ref":"demos/异步调用.md","articles":[]},{"title":"4.23 本地调用","level":"1.5.22","depth":2,"path":"demos/本地调用.md","ref":"demos/本地调用.md","articles":[]},{"title":"4.24 参数回调","level":"1.5.23","depth":2,"path":"demos/参数回调.md","ref":"demos/参数回调.md","articles":[]},{"title":"4.25 事件通知","level":"1.5.24","depth":2,"path":"demos/事件通知.md","ref":"demos/事件通知.md","articles":[]},{"title":"4.26 本地存根","level":"1.5.25","depth":2,"path":"demos/本地存根.md","ref":"demos/本地存根.md","articles":[]},{"title":"4.27 本地伪装","level":"1.5.26","depth":2,"path":"demos/本地伪装.md","ref":"demos/本地伪装.md","articles":[]},{"title":"4.28 延迟暴露","level":"1.5.27","depth":2,"path":"demos/延迟暴露.md","ref":"demos/延迟暴露.md","articles":[]},{"title":"4.29 并发控制","level":"1.5.28","depth":2,"path":"demos/并发控制.md","ref":"demos/并发控制.md","articles":[]},{"title":"4.30 连接控制","level":"1.5.29","depth":2,"path":"demos/连接控制.md","ref":"demos/连接控制.md","articles":[]},{"title":"4.31 延迟连接","level":"1.5.30","depth":2,"path":"demos/延迟连接.md","ref":"demos/延迟连接.md","articles":[]},{"title":"4.32 粘滞连接","level":"1.5.31","depth":2,"path":"demos/粘滞连接.md","ref":"demos/粘滞连接.md","articles":[]},{"title":"4.33 令牌验证","level":"1.5.32","depth":2,"path":"demos/令牌验证.md","ref":"demos/令牌验证.md","articles":[]},{"title":"4.34 路由规则","level":"1.5.33","depth":2,"path":"demos/路由规则.md","ref":"demos/路由规则.md","articles":[]},{"title":"4.35 配置规则","level":"1.5.34","depth":2,"path":"demos/配置规则.md","ref":"demos/配置规则.md","articles":[]},{"title":"4.36 服务降级","level":"1.5.35","depth":2,"path":"demos/服务降级.md","ref":"demos/服务降级.md","articles":[]},{"title":"4.37 优雅停机","level":"1.5.36","depth":2,"path":"demos/优雅停机.md","ref":"demos/优雅停机.md","articles":[]},{"title":"4.38 主机绑定","level":"1.5.37","depth":2,"path":"demos/主机绑定.md","ref":"demos/主机绑定.md","articles":[]},{"title":"4.39 日志适配","level":"1.5.38","depth":2,"path":"demos/日志适配.md","ref":"demos/日志适配.md","articles":[]},{"title":"4.40 访问日志","level":"1.5.39","depth":2,"path":"demos/访问日志.md","ref":"demos/访问日志.md","articles":[]},{"title":"4.41 服务容器","level":"1.5.40","depth":2,"path":"demos/服务容器.md","ref":"demos/服务容器.md","articles":[]},{"title":"4.42 Reference Config缓存","level":"1.5.41","depth":2,"path":"demos/ReferenceConfig缓存.md","ref":"demos/ReferenceConfig缓存.md","articles":[]},{"title":"4.43 分布式事务","level":"1.5.42","depth":2,"path":"demos/分布式事务.md","ref":"demos/分布式事务.md","articles":[]}]},"previous":{"title":"3.3 API配置","level":"1.4.3","depth":2,"path":"configuration/api.md","ref":"configuration/api.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"configuration/annotation.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/configuration/api.html b/user-guide/configuration/api.html
deleted file mode 100644
index 8ab5db4..0000000
--- a/user-guide/configuration/api.html
+++ /dev/null
@@ -1,1575 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>3.3 API配置 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="annotation.html" />
-    
-    
-    <link rel="prev" href="properties.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="xml.html">
-            
-                <a href="xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="properties.html">
-            
-                <a href="properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.4.3" data-path="api.html">
-            
-                <a href="api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="annotation.html">
-            
-                <a href="annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >3.3 API配置</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><strong><img src="../sources/images/warning-3.gif" alt="warning"> API&#x4F7F;&#x7528;&#x8303;&#x56F4;</strong><br>API&#x4EC5;&#x7528;&#x4E8E;OpenAPI, ESB, Test, Mock&#x7B49;&#x7CFB;&#x7EDF;&#x96C6;&#x6210;&#xFF0C;&#x666E;&#x901A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x6216;&#x6D88;&#x8D39;&#x65B9;&#xFF0C;&#x8BF7;&#x91C7;&#x7528;&#x914D;&#x7F6E;&#x65B9;&#x5F0F;&#x4F7F;&#x7528;Dubbo&#xFF0C;&#x8BF7;&#x53C2;&#x89C1;&#xFF1A;<xml配置></xml配置></p>
-<p><strong><img src="../sources/images/check.gif" alt="check"> API&#x5C5E;&#x6027;&#x542B;&#x4E49;&#x53C2;&#x8003;</strong><br>API&#x5C5E;&#x6027;&#x4E0E;&#x914D;&#x7F6E;&#x9879;&#x4E00;&#x5BF9;&#x4E00;&#xFF0C;&#x5404;&#x5C5E;&#x6027;&#x542B;&#x4E49;&#xFF0C;&#x8BF7;&#x53C2;&#x89C1;&#xFF1A;&lt;&#x914D;&#x7F6E;&#x53C2;&#x8003;&#x624B;&#x518C;&gt;&#xFF0C;<br>&#x6BD4;&#x5982;&#xFF1A;ApplicationConfig.setName(&quot;xxx&quot;) &#x5BF9;&#x5E94; <dubbo:application name="xxx"></dubbo:application></p>
-</blockquote>
-<h4 id="1-&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;">(1). &#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;</h4>
-<pre><code class="lang-java"><span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.config.ApplicationConfig;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.config.RegistryConfig;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.config.ProviderConfig;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.config.ServiceConfig;
-<span class="hljs-keyword">import</span> com.xxx.XxxService;
-<span class="hljs-keyword">import</span> com.xxx.XxxServiceImpl;
-
-<span class="hljs-comment">// &#x670D;&#x52A1;&#x5B9E;&#x73B0;</span>
-XxxService xxxService = <span class="hljs-keyword">new</span> XxxServiceImpl();
-
-<span class="hljs-comment">// &#x5F53;&#x524D;&#x5E94;&#x7528;&#x914D;&#x7F6E;</span>
-ApplicationConfig application = <span class="hljs-keyword">new</span> ApplicationConfig();
-application.setName(<span class="hljs-string">&quot;xxx&quot;</span>);
-
-<span class="hljs-comment">// &#x8FDE;&#x63A5;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E;</span>
-RegistryConfig registry = <span class="hljs-keyword">new</span> RegistryConfig();
-registry.setAddress(<span class="hljs-string">&quot;10.20.130.230:9090&quot;</span>);
-registry.setUsername(<span class="hljs-string">&quot;aaa&quot;</span>);
-registry.setPassword(<span class="hljs-string">&quot;bbb&quot;</span>);
-
-<span class="hljs-comment">// &#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x534F;&#x8BAE;&#x914D;&#x7F6E;</span>
-ProtocolConfig protocol = <span class="hljs-keyword">new</span> ProtocolConfig();
-protocol.setName(<span class="hljs-string">&quot;dubbo&quot;</span>);
-protocol.setPort(<span class="hljs-number">12345</span>);
-protocol.setThreads(<span class="hljs-number">200</span>);
-
-<span class="hljs-comment">// &#x6CE8;&#x610F;&#xFF1A;ServiceConfig&#x4E3A;&#x91CD;&#x5BF9;&#x8C61;&#xFF0C;&#x5185;&#x90E8;&#x5C01;&#x88C5;&#x4E86;&#x4E0E;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x8FDE;&#x63A5;&#xFF0C;&#x4EE5;&#x53CA;&#x5F00;&#x542F;&#x670D;&#x52A1;&#x7AEF;&#x53E3;</span>
-
-<span class="hljs-comment">// &#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x66B4;&#x9732;&#x670D;&#x52A1;&#x914D;&#x7F6E;</span>
-ServiceConfig&lt;XxxService&gt; service = <span class="hljs-keyword">new</span> ServiceConfig&lt;XxxService&gt;(); <span class="hljs-comment">// &#x6B64;&#x5B9E;&#x4F8B;&#x5F88;&#x91CD;&#xFF0C;&#x5C01;&#x88C5;&#x4E86;&#x4E0E;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x8FDE;&#x63A5;&#xFF0C;&#x8BF7;&#x81EA;&#x884C;&#x7F13;&#x5B58;&#xFF0C;&#x5426;&#x5219;&#x53EF;&#x80FD;&#x9020;&#x6210;&#x5185;&#x5B58;&#x548C;&#x8FDE;&#x63A5;&#x6CC4;&#x6F0F;</span>
-service.setApplication(application);
-service.setRegistry(registry); <span class="hljs-comment">// &#x591A;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x53EF;&#x4EE5;&#x7528;setRegistries()</span>
-service.setProtocol(protocol); <span class="hljs-comment">// &#x591A;&#x4E2A;&#x534F;&#x8BAE;&#x53EF;&#x4EE5;&#x7528;setProtocols()</span>
-service.setInterface(XxxService.class);
-service.setRef(xxxService);
-service.setVersion(<span class="hljs-string">&quot;1.0.0&quot;</span>);
-
-<span class="hljs-comment">// &#x66B4;&#x9732;&#x53CA;&#x6CE8;&#x518C;&#x670D;&#x52A1;</span>
-service.export();
-</code></pre>
-<h4 id="2-&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;">(2). &#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;</h4>
-<pre><code class="lang-java"><span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.config.ApplicationConfig;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.config.RegistryConfig;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.config.ConsumerConfig;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.config.ReferenceConfig;
-<span class="hljs-keyword">import</span> com.xxx.XxxService;
-
-<span class="hljs-comment">// &#x5F53;&#x524D;&#x5E94;&#x7528;&#x914D;&#x7F6E;</span>
-ApplicationConfig application = <span class="hljs-keyword">new</span> ApplicationConfig();
-application.setName(<span class="hljs-string">&quot;yyy&quot;</span>);
-
-<span class="hljs-comment">// &#x8FDE;&#x63A5;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E;</span>
-RegistryConfig registry = <span class="hljs-keyword">new</span> RegistryConfig();
-registry.setAddress(<span class="hljs-string">&quot;10.20.130.230:9090&quot;</span>);
-registry.setUsername(<span class="hljs-string">&quot;aaa&quot;</span>);
-registry.setPassword(<span class="hljs-string">&quot;bbb&quot;</span>);
-
-<span class="hljs-comment">// &#x6CE8;&#x610F;&#xFF1A;ReferenceConfig&#x4E3A;&#x91CD;&#x5BF9;&#x8C61;&#xFF0C;&#x5185;&#x90E8;&#x5C01;&#x88C5;&#x4E86;&#x4E0E;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x8FDE;&#x63A5;&#xFF0C;&#x4EE5;&#x53CA;&#x4E0E;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x7684;&#x8FDE;&#x63A5;</span>
-
-<span class="hljs-comment">// &#x5F15;&#x7528;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;</span>
-ReferenceConfig&lt;XxxService&gt; reference = <span class="hljs-keyword">new</span> ReferenceConfig&lt;XxxService&gt;(); <span class="hljs-comment">// &#x6B64;&#x5B9E;&#x4F8B;&#x5F88;&#x91CD;&#xFF0C;&#x5C01;&#x88C5;&#x4E86;&#x4E0E;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x8FDE;&#x63A5;&#x4EE5;&#x53CA;&#x4E0E;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x8FDE;&#x63A5;&#xFF0C;&#x8BF7;&#x81EA;&#x884C;&#x7F13;&#x5B58;&#xFF0C;&#x5426;&#x5219;&#x53EF;&#x80FD;&#x9020;&#x6210;&#x5185;&#x5B58;&#x548C;&#x8FDE;&#x63A5;&#x6CC4;&#x6F0F;</span>
-reference.setApplication(application);
-reference.setRegistry(registry); <span class="hljs-comment">// &#x591A;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x53EF;&#x4EE5;&#x7528;setRegistries()</span>
-reference.setInterface(XxxService.class);
-reference.setVersion(<span class="hljs-string">&quot;1.0.0&quot;</span>);
-
-<span class="hljs-comment">// &#x548C;&#x672C;&#x5730;bean&#x4E00;&#x6837;&#x4F7F;&#x7528;xxxService</span>
-XxxService xxxService = reference.get(); <span class="hljs-comment">// &#x6CE8;&#x610F;&#xFF1A;&#x6B64;&#x4EE3;&#x7406;&#x5BF9;&#x8C61;&#x5185;&#x90E8;&#x5C01;&#x88C5;&#x4E86;&#x6240;&#x6709;&#x901A;&#x8BAF;&#x7EC6;&#x8282;&#xFF0C;&#x5BF9;&#x8C61;&#x8F83;&#x91CD;&#xFF0C;&#x8BF7;&#x7F13;&#x5B58;&#x590D;&#x7528;</span>
-</code></pre>
-<h4 id="3-&#x7279;&#x6B8A;&#x573A;&#x666F;">(3). &#x7279;&#x6B8A;&#x573A;&#x666F;</h4>
-<blockquote>
-<p>&#x6CE8;&#xFF1A;&#x4E0B;&#x9762;&#x53EA;&#x5217;&#x51FA;&#x4E0D;&#x540C;&#x7684;&#x5730;&#x65B9;&#xFF0C;&#x5176;&#x5B83;&#x53C2;&#x89C1;&#x4E0A;&#x9762;&#x7684;&#x5199;&#x6CD5;</p>
-</blockquote>
-<h5 id="31-&#x65B9;&#x6CD5;&#x7EA7;&#x8BBE;&#x7F6E;">(3.1). &#x65B9;&#x6CD5;&#x7EA7;&#x8BBE;&#x7F6E;</h5>
-<pre><code class="lang-java">...
-
-<span class="hljs-comment">// &#x65B9;&#x6CD5;&#x7EA7;&#x914D;&#x7F6E;</span>
-List&lt;MethodConfig&gt; methods = <span class="hljs-keyword">new</span> ArrayList&lt;MethodConfig&gt;();
-MethodConfig method = <span class="hljs-keyword">new</span> MethodConfig();
-method.setName(<span class="hljs-string">&quot;createXxx&quot;</span>);
-method.setTimeout(<span class="hljs-number">10000</span>);
-method.setRetries(<span class="hljs-number">0</span>);
-methods.add(method);
-
-<span class="hljs-comment">// &#x5F15;&#x7528;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;</span>
-ReferenceConfig&lt;XxxService&gt; reference = <span class="hljs-keyword">new</span> ReferenceConfig&lt;XxxService&gt;(); <span class="hljs-comment">// &#x6B64;&#x5B9E;&#x4F8B;&#x5F88;&#x91CD;&#xFF0C;&#x5C01;&#x88C5;&#x4E86;&#x4E0E;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x8FDE;&#x63A5;&#x4EE5;&#x53CA;&#x4E0E;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x8FDE;&#x63A5;&#xFF0C;&#x8BF7;&#x81EA;&#x884C;&#x7F13;&#x5B58;&#xFF0C;&#x5426;&#x5219;&#x53EF;&#x80FD;&#x9020;&#x6210;&#x5185;&#x5B58;&#x548C;&#x8FDE;&#x63A5;&#x6CC4;&#x6F0F;</span>
-...
-reference.setMethods(methods); <span class="hljs-comment">// &#x8BBE;&#x7F6E;&#x65B9;&#x6CD5;&#x7EA7;&#x914D;&#x7F6E;</span>
-
-...
-</code></pre>
-<h5 id="32-&#x70B9;&#x5BF9;&#x70B9;&#x76F4;&#x8FDE;">(3.2). &#x70B9;&#x5BF9;&#x70B9;&#x76F4;&#x8FDE;</h5>
-<pre><code class="lang-java">
-...
-
-ReferenceConfig&lt;XxxService&gt; reference = <span class="hljs-keyword">new</span> ReferenceConfig&lt;XxxService&gt;(); <span class="hljs-comment">// &#x6B64;&#x5B9E;&#x4F8B;&#x5F88;&#x91CD;&#xFF0C;&#x5C01;&#x88C5;&#x4E86;&#x4E0E;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x8FDE;&#x63A5;&#x4EE5;&#x53CA;&#x4E0E;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x8FDE;&#x63A5;&#xFF0C;&#x8BF7;&#x81EA;&#x884C;&#x7F13;&#x5B58;&#xFF0C;&#x5426;&#x5219;&#x53EF;&#x80FD;&#x9020;&#x6210;&#x5185;&#x5B58;&#x548C;&#x8FDE;&#x63A5;&#x6CC4;&#x6F0F;</span>
-<span class="hljs-comment">// &#x5982;&#x679C;&#x70B9;&#x5BF9;&#x70B9;&#x76F4;&#x8FDE;&#xFF0C;&#x53EF;&#x4EE5;&#x7528;reference.setUrl()&#x6307;&#x5B9A;&#x76EE;&#x6807;&#x5730;&#x5740;&#xFF0C;&#x8BBE;&#x7F6E;url&#x540E;&#x5C06;&#x7ED5;&#x8FC7;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;</span>
-<span class="hljs-comment">// &#x5176;&#x4E2D;&#xFF0C;&#x534F;&#x8BAE;&#x5BF9;&#x5E94;provider.setProtocol()&#x7684;&#x503C;&#xFF0C;&#x7AEF;&#x53E3;&#x5BF9;&#x5E94;provider.setPort()&#x7684;&#x503C;&#xFF0C;</span>
-<span class="hljs-comment">// &#x8DEF;&#x5F84;&#x5BF9;&#x5E94;service.setPath()&#x7684;&#x503C;&#xFF0C;&#x5982;&#x679C;&#x672A;&#x8BBE;&#x7F6E;path&#xFF0C;&#x7F3A;&#x7701;path&#x4E3A;&#x63A5;&#x53E3;&#x540D;</span>
-reference.setUrl(<span class="hljs-string">&quot;dubbo://10.20.130.230:20880/com.xxx.XxxService&quot;</span>); 
-
-...
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="properties.html" class="navigation navigation-prev " aria-label="Previous page: 3.2 属性配置">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="annotation.html" class="navigation navigation-next " aria-label="Next page: 3.4 注解配置">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"3.3 API配置","level":"1.4.3","depth":2,"next":{"title":"3.4 注解配置","level":"1.4.4","depth":2,"path":"configuration/annotation.md","ref":"configuration/annotation.md","articles":[]},"previous":{"title":"3.2 属性配置","level":"1.4.2","depth":2,"path":"configuration/properties.md","ref":"configuration/properties.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"configuration/api.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/configuration/properties.html b/user-guide/configuration/properties.html
deleted file mode 100644
index ecb88a8..0000000
--- a/user-guide/configuration/properties.html
+++ /dev/null
@@ -1,1498 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>3.2 属性配置 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="api.html" />
-    
-    
-    <link rel="prev" href="xml.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="xml.html">
-            
-                <a href="xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.4.2" data-path="properties.html">
-            
-                <a href="properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="api.html">
-            
-                <a href="api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="annotation.html">
-            
-                <a href="annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >3.2 属性配置</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="check">&#x5982;&#x679C;&#x516C;&#x5171;&#x914D;&#x7F6E;&#x5F88;&#x7B80;&#x5355;&#xFF0C;&#x6CA1;&#x6709;&#x591A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x591A;&#x534F;&#x8BAE;&#x7B49;&#x60C5;&#x51B5;&#xFF0C;&#x6216;&#x8005;&#x60F3;&#x591A;&#x4E2A;Spring&#x5BB9;&#x5668;&#x60F3;&#x5171;&#x4EAB;&#x914D;&#x7F6E;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;dubbo.properties&#x4F5C;&#x4E3A;&#x7F3A;&#x7701;&#x914D;&#x7F6E;&#x3002;</p>
-<p><img src="../sources/images/check.gif" alt="check">Dubbo&#x5C06;&#x81EA;&#x52A8;&#x52A0;&#x8F7D;classpath&#x6839;&#x76EE;&#x5F55;&#x4E0B;&#x7684;dubbo.properties&#xFF0C;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;JVM&#x542F;&#x52A8;&#x53C2;&#x6570;&#xFF1A;-Ddubbo.properties.file=xxx.properties &#x6539;&#x53D8;&#x7F3A;&#x7701;&#x914D;&#x7F6E;&#x4F4D;&#x7F6E;&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">&#x5982;&#x679C;classpath&#x6839;&#x76EE;&#x5F55;&#x4E0B;&#x5B58;&#x5728;&#x591A;&#x4E2A;dubbo.properties&#xFF0C;&#x6BD4;&#x5982;&#x591A;&#x4E2A;jar&#x5305;&#x4E2D;&#x6709;dubbo.properties&#xFF0C;Dubbo&#x4F1A;&#x4EFB;&#x610F;&#x52A0;&#x8F7D;&#xFF0C;&#x5E76;&#x6253;&#x5370;Error&#x65E5;&#x5FD7;&#xFF0C;&#x540E;&#x7EED;&#x53EF;&#x80FD;&#x6539;&#x4E3A;&#x629B;&#x5F02;&#x5E38;&#x3002;</p>
-</blockquote>
-<p><strong>&#x6620;&#x5C04;&#x89C4;&#x5219;&#xFF1A;</strong></p>
-<ul>
-<li>&#x5C06;XML&#x914D;&#x7F6E;&#x7684;&#x6807;&#x7B7E;&#x540D;&#xFF0C;&#x52A0;&#x5C5E;&#x6027;&#x540D;&#xFF0C;&#x7528;&#x70B9;&#x5206;&#x9694;&#xFF0C;&#x591A;&#x4E2A;&#x5C5E;&#x6027;&#x62C6;&#x6210;&#x591A;&#x884C;&#xFF1A;  <ul>
-<li>&#x6BD4;&#x5982;&#xFF1A;<code>dubbo.application.name=foo</code>&#x7B49;&#x4EF7;&#x4E8E;<code>&lt;dubbo:application name=&quot;foo&quot; /&gt;</code> </li>
-<li>&#x6BD4;&#x5982;&#xFF1A;<code>dubbo.registry.address=10.20.153.10:9090</code>&#x7B49;&#x4EF7;&#x4E8E;<code>&lt;dubbo:registry address=&quot;10.20.153.10:9090&quot; /&gt;</code>  </li>
-</ul>
-</li>
-<li>&#x5982;&#x679C;XML&#x6709;&#x591A;&#x884C;&#x540C;&#x540D;&#x6807;&#x7B7E;&#x914D;&#x7F6E;&#xFF0C;&#x53EF;&#x7528;id&#x53F7;&#x533A;&#x5206;&#xFF0C;&#x5982;&#x679C;&#x6CA1;&#x6709;id&#x53F7;&#x5C06;&#x5BF9;&#x6240;&#x6709;&#x540C;&#x540D;&#x6807;&#x7B7E;&#x751F;&#x6548;:  <ul>
-<li>&#x6BD4;&#x5982;&#xFF1A;<code>dubbo.protocol.rmi.port=1234</code>&#x7B49;&#x4EF7;&#x4E8E;<code>&lt;dubbo:protocol id=&quot;rmi&quot; name=&quot;rmi&quot; port=&quot;1099&quot; /&gt;</code>(&#x534F;&#x8BAE;&#x7684;id&#x6CA1;&#x914D;&#x65F6;&#xFF0C;&#x7F3A;&#x7701;&#x4F7F;&#x7528;&#x534F;&#x8BAE;&#x540D;&#x4F5C;&#x4E3A;id)</li>
-<li>&#x6BD4;&#x5982;&#xFF1A;<code>dubbo.registry.china.address=10.20.153.10:9090</code>&#x7B49;&#x4EF7;&#x4E8E;<code>&lt;dubbo:registry id=&quot;china&quot; address=&quot;10.20.153.10:9090&quot; /&gt;</code></li>
-</ul>
-</li>
-</ul>
-<p><strong>&#x5178;&#x578B;&#x914D;&#x7F6E;&#x5982;&#xFF1A;</strong></p>
-<pre><code class="lang-properties">dubbo.properties
-dubbo.application.name=foo
-dubbo.application.owner=bar
-dubbo.registry.address=10.20.153.10:9090
-</code></pre>
-<p><img src="../sources/images/dubbo-properties-override.jpg" alt="properties-override"></p>
-<p><strong>&#x8986;&#x76D6;&#x7B56;&#x7565;&#xFF1A;</strong></p>
-<ul>
-<li>JVM&#x542F;&#x52A8;-D&#x53C2;&#x6570;&#x4F18;&#x5148;&#xFF0C;&#x8FD9;&#x6837;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x6237;&#x5728;&#x90E8;&#x7F72;&#x548C;&#x542F;&#x52A8;&#x65F6;&#x8FDB;&#x884C;&#x53C2;&#x6570;&#x91CD;&#x5199;&#xFF0C;&#x6BD4;&#x5982;&#x5728;&#x542F;&#x52A8;&#x65F6;&#x9700;&#x6539;&#x53D8;&#x534F;&#x8BAE;&#x7684;&#x7AEF;&#x53E3;&#x3002;</li>
-<li>XML&#x6B21;&#x4E4B;&#xFF0C;&#x5982;&#x679C;&#x5728;XML&#x4E2D;&#x6709;&#x914D;&#x7F6E;&#xFF0C;&#x5219;dubbo.properties&#x4E2D;&#x7684;&#x76F8;&#x5E94;&#x914D;&#x7F6E;&#x9879;&#x65E0;&#x6548;&#x3002;</li>
-<li>Properties&#x6700;&#x540E;&#xFF0C;&#x76F8;&#x5F53;&#x4E8E;&#x7F3A;&#x7701;&#x503C;&#xFF0C;&#x53EA;&#x6709;XML&#x6CA1;&#x6709;&#x914D;&#x7F6E;&#x65F6;&#xFF0C;dubbo.properties&#x7684;&#x76F8;&#x5E94;&#x914D;&#x7F6E;&#x9879;&#x624D;&#x4F1A;&#x751F;&#x6548;&#xFF0C;&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x5171;&#x4EAB;&#x516C;&#x5171;&#x914D;&#x7F6E;&#xFF0C;&#x6BD4;&#x5982;&#x5E94;&#x7528;&#x540D;&#x3002;</li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="xml.html" class="navigation navigation-prev " aria-label="Previous page: 3.1 XML配置">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="api.html" class="navigation navigation-next " aria-label="Next page: 3.3 API配置">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"3.2 属性配置","level":"1.4.2","depth":2,"next":{"title":"3.3 API配置","level":"1.4.3","depth":2,"path":"configuration/api.md","ref":"configuration/api.md","articles":[]},"previous":{"title":"3.1 XML配置","level":"1.4.1","depth":2,"path":"configuration/xml.md","ref":"configuration/xml.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"configuration/properties.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/configuration/xml.html b/user-guide/configuration/xml.html
deleted file mode 100644
index 46b609e..0000000
--- a/user-guide/configuration/xml.html
+++ /dev/null
@@ -1,1526 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>3.1 XML配置 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="properties.html" />
-    
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter active" data-level="1.4.1" data-path="xml.html">
-            
-                <a href="xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="properties.html">
-            
-                <a href="properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="api.html">
-            
-                <a href="api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="annotation.html">
-            
-                <a href="annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >3.1 XML配置</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="check"><strong>&#x914D;&#x7F6E;&#x9879;&#x8BF4;&#x660E;</strong><br>&#x8BE6;&#x7EC6;&#x914D;&#x7F6E;&#x9879;&#xFF0C;&#x8BF7;&#x53C2;&#x89C1;&#xFF1A;<a href="../reference-xmlconf/introduction.html">&#x914D;&#x7F6E;&#x53C2;&#x8003;&#x624B;&#x518C;</a></p>
-<p><img src="../sources/images/check.gif" alt="check"><strong>API&#x4F7F;&#x7528;&#x8BF4;&#x660E;</strong><br>&#x5982;&#x679C;&#x4E0D;&#x60F3;&#x4F7F;&#x7528;Spring&#x914D;&#x7F6E;&#xFF0C;&#x800C;&#x5E0C;&#x671B;&#x901A;&#x8FC7;API&#x7684;&#x65B9;&#x5F0F;&#x8FDB;&#x884C;&#x8C03;&#x7528;&#xFF0C;&#x8BF7;&#x53C2;&#x89C1;&#xFF1A;<a href="api.html">API&#x914D;&#x7F6E;</a></p>
-<p><img src="../sources/images/check.gif" alt="check"><strong>&#x914D;&#x7F6E;&#x4F7F;&#x7528;&#x8BF4;&#x660E;</strong><br>&#x60F3;&#x77E5;&#x9053;&#x5982;&#x4F55;&#x4F7F;&#x7528;&#x914D;&#x7F6E;&#xFF0C;&#x8BF7;&#x53C2;&#x89C1;&#xFF1A;<a href="../preface/usage.html">tutorials</a></p>
-</blockquote>
-<p>&#x793A;&#x4F8B;&#xFF1A;</p>
-<center style="align=center;">provider.xml</center>
-
-<pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
-<span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
-    <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>  
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;hello-world-app&quot;</span>  /&gt;</span>  
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;multicast://224.5.6.7:1234&quot;</span> /&gt;</span>  
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;20880&quot;</span> /&gt;</span>  
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.dubbo.demo.DemoService&quot;</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">&quot;demoServiceLocal&quot;</span> /&gt;</span>  
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;demoServiceRemote&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.dubbo.demo.DemoService&quot;</span> /&gt;</span>  
-<span class="hljs-tag">&lt;/<span class="hljs-name">beans</span>&gt;</span>
-</code></pre>
-<blockquote>
-<p><img src="../sources/images/check.gif" alt="check">&#x6240;&#x6709;&#x6807;&#x7B7E;&#x8005;&#x652F;&#x6301;&#x81EA;&#x5B9A;&#x4E49;&#x53C2;&#x6570;&#xFF0C;&#x7528;&#x4E8E;&#x4E0D;&#x540C;&#x6269;&#x5C55;&#x70B9;&#x5B9E;&#x73B0;&#x7684;&#x7279;&#x6B8A;&#x914D;&#x7F6E;&#x3002;</p>
-</blockquote>
-<p>&#x5982;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;jms&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:parameter</span> <span class="hljs-attr">key</span>=<span class="hljs-string">&quot;queue&quot;</span> <span class="hljs-attr">value</span>=<span class="hljs-string">&quot;your_queue&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:protocol</span>&gt;</span>
-</code></pre>
-<p>&#x6216;&#xFF1A;(2.1.0&#x5F00;&#x59CB;&#x652F;&#x6301;)</p>
-<blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="check"> &#x6CE8;&#x610F;&#x58F0;&#x660E;&#xFF1A;xmlns:p=&quot;<a href="http://www.springframework.org/schema/p" target="_blank">http://www.springframework.org/schema/p</a>&quot;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
-    <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xmlns:p</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/p&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>  
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;jms&quot;</span> <span class="hljs-attr">p:queue</span>=<span class="hljs-string">&quot;your_queue&quot;</span> /&gt;</span>  
-<span class="hljs-tag">&lt;/<span class="hljs-name">beans</span>&gt;</span>
-</code></pre>
-<p><strong>Configuration Relation:</strong><br><img src="../sources/images/dubbo-config.jpg" alt="check"></p>
-<ul>
-<li><dubbo:service> &#x670D;&#x52A1;&#x914D;&#x7F6E;&#xFF0C;&#x7528;&#x4E8E;&#x66B4;&#x9732;&#x4E00;&#x4E2A;&#x670D;&#x52A1;&#xFF0C;&#x5B9A;&#x4E49;&#x670D;&#x52A1;&#x7684;&#x5143;&#x4FE1;&#x606F;&#xFF0C;&#x4E00;&#x4E2A;&#x670D;&#x52A1;&#x53EF;&#x4EE5;&#x7528;&#x591A;&#x4E2A;&#x534F;&#x8BAE;&#x66B4;&#x9732;&#xFF0C;&#x4E00;&#x4E2A;&#x670D;&#x52A1;&#x4E5F;&#x53EF;&#x4EE5;&#x6CE8;&#x518C;&#x5230;&#x591A;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x3002;</dubbo:service></li>
-<li><dubbo:reference> &#x5F15;&#x7528;&#x914D;&#x7F6E;&#xFF0C;&#x7528;&#x4E8E;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x4EE3;&#x7406;&#xFF0C;&#x4E00;&#x4E2A;&#x5F15;&#x7528;&#x53EF;&#x4EE5;&#x6307;&#x5411;&#x591A;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x3002;</dubbo:reference></li>
-<li><dubbo:protocol> &#x534F;&#x8BAE;&#x914D;&#x7F6E;&#xFF0C;&#x7528;&#x4E8E;&#x914D;&#x7F6E;&#x63D0;&#x4F9B;&#x670D;&#x52A1;&#x7684;&#x534F;&#x8BAE;&#x4FE1;&#x606F;&#xFF0C;&#x534F;&#x8BAE;&#x7531;&#x63D0;&#x4F9B;&#x65B9;&#x6307;&#x5B9A;&#xFF0C;&#x6D88;&#x8D39;&#x65B9;&#x88AB;&#x52A8;&#x63A5;&#x53D7;&#x3002;</dubbo:protocol></li>
-<li><dubbo:application> &#x5E94;&#x7528;&#x914D;&#x7F6E;&#xFF0C;&#x7528;&#x4E8E;&#x914D;&#x7F6E;&#x5F53;&#x524D;&#x5E94;&#x7528;&#x4FE1;&#x606F;&#xFF0C;&#x4E0D;&#x7BA1;&#x8BE5;&#x5E94;&#x7528;&#x662F;&#x63D0;&#x4F9B;&#x8005;&#x8FD8;&#x662F;&#x6D88;&#x8D39;&#x8005;&#x3002;</dubbo:application></li>
-<li><dubbo:module> &#x6A21;&#x5757;&#x914D;&#x7F6E;&#xFF0C;&#x7528;&#x4E8E;&#x914D;&#x7F6E;&#x5F53;&#x524D;&#x6A21;&#x5757;&#x4FE1;&#x606F;&#xFF0C;&#x53EF;&#x9009;&#x3002;</dubbo:module></li>
-<li><dubbo:registry> &#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E;&#xFF0C;&#x7528;&#x4E8E;&#x914D;&#x7F6E;&#x8FDE;&#x63A5;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x76F8;&#x5173;&#x4FE1;&#x606F;&#x3002;</dubbo:registry></li>
-<li><dubbo:monitor> &#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E;&#xFF0C;&#x7528;&#x4E8E;&#x914D;&#x7F6E;&#x8FDE;&#x63A5;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x76F8;&#x5173;&#x4FE1;&#x606F;&#xFF0C;&#x53EF;&#x9009;&#x3002;</dubbo:monitor></li>
-<li><dubbo:provider> &#x63D0;&#x4F9B;&#x65B9;&#x7684;&#x7F3A;&#x7701;&#x503C;&#xFF0C;&#x5F53;ProtocolConfig&#x548C;ServiceConfig&#x67D0;&#x5C5E;&#x6027;&#x6CA1;&#x6709;&#x914D;&#x7F6E;&#x65F6;&#xFF0C;&#x91C7;&#x7528;&#x6B64;&#x7F3A;&#x7701;&#x503C;&#xFF0C;&#x53EF;&#x9009;&#x3002;</dubbo:provider></li>
-<li><dubbo:consumer> &#x6D88;&#x8D39;&#x65B9;&#x7F3A;&#x7701;&#x914D;&#x7F6E;&#xFF0C;&#x5F53;ReferenceConfig&#x67D0;&#x5C5E;&#x6027;&#x6CA1;&#x6709;&#x914D;&#x7F6E;&#x65F6;&#xFF0C;&#x91C7;&#x7528;&#x6B64;&#x7F3A;&#x7701;&#x503C;&#xFF0C;&#x53EF;&#x9009;&#x3002;</dubbo:consumer></li>
-<li><dubbo:method> &#x65B9;&#x6CD5;&#x914D;&#x7F6E;&#xFF0C;&#x7528;&#x4E8E;ServiceConfig&#x548C;ReferenceConfig&#x6307;&#x5B9A;&#x65B9;&#x6CD5;&#x7EA7;&#x7684;&#x914D;&#x7F6E;&#x4FE1;&#x606F;&#x3002;</dubbo:method></li>
-<li><dubbo:argument> &#x7528;&#x4E8E;&#x6307;&#x5B9A;&#x65B9;&#x6CD5;&#x53C2;&#x6570;&#x914D;&#x7F6E;&#x3002;</dubbo:argument></li>
-</ul>
-</blockquote>
-<p><strong>Configuration Override:</strong><br><img src="../sources/images/dubbo-config-override.jpg" alt="check"></p>
-<ul>
-<li>&#x4E0A;&#x56FE;&#x4E2D;&#x4EE5;timeout&#x4E3A;&#x4F8B;&#xFF0C;&#x663E;&#x793A;&#x4E86;&#x914D;&#x7F6E;&#x7684;&#x67E5;&#x627E;&#x987A;&#x5E8F;&#xFF0C;&#x5176;&#x5B83;retries, loadbalance, actives&#x7B49;&#x7C7B;&#x4F3C;&#x3002;<ul>
-<li>&#x65B9;&#x6CD5;&#x7EA7;&#x4F18;&#x5148;&#xFF0C;&#x63A5;&#x53E3;&#x7EA7;&#x6B21;&#x4E4B;&#xFF0C;&#x5168;&#x5C40;&#x914D;&#x7F6E;&#x518D;&#x6B21;&#x4E4B;&#x3002;</li>
-<li>&#x5982;&#x679C;&#x7EA7;&#x522B;&#x4E00;&#x6837;&#xFF0C;&#x5219;&#x6D88;&#x8D39;&#x65B9;&#x4F18;&#x5148;&#xFF0C;&#x63D0;&#x4F9B;&#x65B9;&#x6B21;&#x4E4B;&#x3002;</li>
-</ul>
-</li>
-<li>&#x5176;&#x4E2D;&#xFF0C;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x914D;&#x7F6E;&#xFF0C;&#x901A;&#x8FC7;URL&#x7ECF;&#x7531;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4F20;&#x9012;&#x7ED9;&#x6D88;&#x8D39;&#x65B9;&#x3002;</li>
-<li>&#x5EFA;&#x8BAE;&#x7531;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x8BBE;&#x7F6E;&#x8D85;&#x65F6;&#xFF0C;&#x56E0;&#x4E3A;&#x4E00;&#x4E2A;&#x65B9;&#x6CD5;&#x9700;&#x8981;&#x6267;&#x884C;&#x591A;&#x957F;&#x65F6;&#x95F4;&#xFF0C;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x66F4;&#x6E05;&#x695A;&#xFF0C;&#x5982;&#x679C;&#x4E00;&#x4E2A;&#x6D88;&#x8D39;&#x65B9;&#x540C;&#x65F6;&#x5F15;&#x7528;&#x591A;&#x4E2A;&#x670D;&#x52A1;&#xFF0C;&#x5C31;&#x4E0D;&#x9700;&#x8981;&#x5173;&#x5FC3;&#x6BCF;&#x4E2A;&#x670D;&#x52A1;&#x7684;&#x8D85;&#x65F6;&#x8BBE;&#x7F6E;&#x3002;</li>
-<li>&#x7406;&#x8BBA;&#x4E0A;ReferenceConfig&#x7684;&#x975E;&#x670D;&#x52A1;&#x6807;&#x8BC6;&#x914D;&#x7F6E;&#xFF0C;&#x5728;ConsumerConfig&#xFF0C;ServiceConfig, ProviderConfig&#x5747;&#x53EF;&#x4EE5;&#x7F3A;&#x7701;&#x914D;&#x7F6E;&#x3002;</li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                
-                <a href="properties.html" class="navigation navigation-next navigation-unique" aria-label="Next page: 3.2 属性配置">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"3.1 XML配置","level":"1.4.1","depth":2,"next":{"title":"3.2 属性配置","level":"1.4.2","depth":2,"path":"configuration/properties.md","ref":"configuration/properties.md","articles":[]},"previous":{"title":"3 配置","level":"1.4","depth":1,"ref":"","articles":[{"title":"3.1 XML配置","level":"1.4.1","depth":2,"path":"configuration/xml.md","ref":"configuration/xml.md","articles":[]},{"title":"3.2 属性配置","level":"1.4.2","depth":2,"path":"configuration/properties.md","ref":"configuration/properties.md","articles":[]},{"title":"3.3 API配置","level":"1.4.3","depth":2,"path":"configuration/api.md","ref":"configuration/api.md","articles":[]},{"title":"3.4 注解配置","level":"1.4.4","depth":2,"path":"configuration/annotation.md","ref":"configuration/annotation.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"configuration/xml.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/coveragence.html b/user-guide/coveragence.html
deleted file mode 100644
index fd36e7d..0000000
--- a/user-guide/coveragence.html
+++ /dev/null
@@ -1,1473 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>16 测试覆盖率报告 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    
-    <link rel="prev" href="perf-test.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="preface/background.html">
-            
-                <a href="preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="preface/requirements.html">
-            
-                <a href="preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="preface/architacture.html">
-            
-                <a href="preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="preface/usage.html">
-            
-                <a href="preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="dependencies/dependencies.html">
-            
-                <a href="dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="maturity/maturity.html">
-            
-                <a href="maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="configuration/xml.html">
-            
-                <a href="configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="configuration/properties.html">
-            
-                <a href="configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="configuration/api.html">
-            
-                <a href="configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="configuration/annotation.html">
-            
-                <a href="configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="demos/启动时检查.html">
-            
-                <a href="demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="demos/集群容错.html">
-            
-                <a href="demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="demos/负载均衡.html">
-            
-                <a href="demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="demos/线程模型.html">
-            
-                <a href="demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="demos/直连提供者.html">
-            
-                <a href="demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="demos/只订阅.html">
-            
-                <a href="demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="demos/只注册.html">
-            
-                <a href="demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="demos/静态服务.html">
-            
-                <a href="demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="demos/多协议.html">
-            
-                <a href="demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="demos/多注册中心.html">
-            
-                <a href="demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="demos/服务分组.html">
-            
-                <a href="demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="demos/多版本.html">
-            
-                <a href="demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="demos/分组聚合.html">
-            
-                <a href="demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="demos/参数验证.html">
-            
-                <a href="demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="demos/结果缓存.html">
-            
-                <a href="demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="demos/泛化引用.html">
-            
-                <a href="demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="demos/泛化实现.html">
-            
-                <a href="demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="demos/回声测试.html">
-            
-                <a href="demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="demos/上下文信息.html">
-            
-                <a href="demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="demos/隐式传参.html">
-            
-                <a href="demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="demos/异步调用.html">
-            
-                <a href="demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="demos/本地调用.html">
-            
-                <a href="demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="demos/参数回调.html">
-            
-                <a href="demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="demos/事件通知.html">
-            
-                <a href="demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="demos/本地存根.html">
-            
-                <a href="demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="demos/本地伪装.html">
-            
-                <a href="demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="demos/延迟暴露.html">
-            
-                <a href="demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="demos/并发控制.html">
-            
-                <a href="demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="demos/连接控制.html">
-            
-                <a href="demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="demos/延迟连接.html">
-            
-                <a href="demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="demos/粘滞连接.html">
-            
-                <a href="demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="demos/令牌验证.html">
-            
-                <a href="demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="demos/路由规则.html">
-            
-                <a href="demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="demos/配置规则.html">
-            
-                <a href="demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="demos/服务降级.html">
-            
-                <a href="demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="demos/优雅停机.html">
-            
-                <a href="demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="demos/主机绑定.html">
-            
-                <a href="demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="demos/日志适配.html">
-            
-                <a href="demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="demos/访问日志.html">
-            
-                <a href="demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="demos/服务容器.html">
-            
-                <a href="demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="demos/ReferenceConfig缓存.html">
-            
-                <a href="demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="demos/分布式事务.html">
-            
-                <a href="demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="reference-apiconf/api.html">
-            
-                <a href="reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="reference-xmlconf/introduction.html">
-            
-                <a href="reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="reference-xmlconf/dubbo-service.html">
-            
-                <a href="reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="reference-xmlconf/dubbo-reference.html">
-            
-                <a href="reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="reference-xmlconf/dubbo-registry.html">
-            
-                <a href="reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="reference-xmlconf/dubbo-application.html">
-            
-                <a href="reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="reference-xmlconf/dubbo-module.html">
-            
-                <a href="reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="reference-xmlconf/dubbo-provider.html">
-            
-                <a href="reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="reference-xmlconf/dubbo-method.html">
-            
-                <a href="reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="reference-xmlconf/dubbo-argument.html">
-            
-                <a href="reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="reference-protocol/introduction.html">
-            
-                <a href="reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="reference-protocol/dubbo.html">
-            
-                <a href="reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="reference-protocol/rmi.html">
-            
-                <a href="reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="reference-protocol/hessian.html">
-            
-                <a href="reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="reference-protocol/http.html">
-            
-                <a href="reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="reference-protocol/webservice.html">
-            
-                <a href="reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="reference-protocol/thrift.html">
-            
-                <a href="reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="reference-protocol/memcached.html">
-            
-                <a href="reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="reference-protocol/redis.html">
-            
-                <a href="reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="reference-registry/introduction.html">
-            
-                <a href="reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="reference-registry/multicast.html">
-            
-                <a href="reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="reference-registry/zookeeper.html">
-            
-                <a href="reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="reference-registry/redis.html">
-            
-                <a href="reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="reference-registry/simple.html">
-            
-                <a href="reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="reference-telnet/telnet.html">
-            
-                <a href="reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="reference-maven/maven.html">
-            
-                <a href="reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="best-practice.html">
-            
-                <a href="best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="recommend.html">
-            
-                <a href="recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="capacity-plan.html">
-            
-                <a href="capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="benchmark.html">
-            
-                <a href="benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="perf-test.html">
-            
-                <a href="perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.17" data-path="coveragence.html">
-            
-                <a href="coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >16 测试覆盖率报告</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h3 id="&#x6D4B;&#x8BD5;&#x8986;&#x76D6;&#x7387;&#x62A5;&#x544A;">&#x6D4B;&#x8BD5;&#x8986;&#x76D6;&#x7387;&#x62A5;&#x544A;</h3>
-<p>&#x7EDF;&#x8BA1;&#x4E8E; 2012-02-03 (2.0.12)</p>
-<p><img src="sources/images/code-quality1.jpg" alt="/sources/images/code-quality1.jpg"></p>
-<p><img src="sources/images/code-quality2.jpg" alt="/sources/images/code-quality2.jpg"></p>
-<p><img src="sources/images/code-quality3.jpg" alt="/sources/images/code-quality3.jpg"></p>
-<p><img src="sources/images/code-quality4.jpg" alt="/sources/images/code-quality4.jpg"></p>
-<p><img src="sources/images/code-quality5.jpg" alt="/sources/images/code-quality5.jpg"></p>
-<p><img src="sources/images/code-quality6.jpg" alt="/sources/images/code-quality6.jpg"></p>
-<p><img src="sources/images/code-quality7.jpg" alt="/sources/images/code-quality7.jpg"></p>
-<p><img src="sources/images/code-coverage.jpg" alt="/sources/images/code-coverage.jpg"></p>
-<p><img src="sources/images/code-tendency.jpg" alt="/sources/images/code-tendency.jpg"></p>
-<p><img src="sources/images/code-dependency.jpg" alt="/sources/images/code-dependency.jpg"></p>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="perf-test.html" class="navigation navigation-prev navigation-unique" aria-label="Previous page: 15 性能测试报告">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"16 测试覆盖率报告","level":"1.17","depth":1,"previous":{"title":"15 性能测试报告","level":"1.16","depth":1,"path":"perf-test.md","ref":"perf-test.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"coveragence.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/ReferenceConfig\347\274\223\345\255\230.html" "b/user-guide/demos/ReferenceConfig\347\274\223\345\255\230.html"
deleted file mode 100644
index d3c1f06..0000000
--- "a/user-guide/demos/ReferenceConfig\347\274\223\345\255\230.html"
+++ /dev/null
@@ -1,1492 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.42 Reference Config缓存 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="分布式事务.html" />
-    
-    
-    <link rel="prev" href="服务容器.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.42 Reference Config缓存</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>ReferenceConfig&#x5B9E;&#x4F8B;&#x5F88;&#x91CD;&#xFF0C;&#x5C01;&#x88C5;&#x4E86;&#x4E0E;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x8FDE;&#x63A5;&#x4EE5;&#x53CA;&#x4E0E;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x8FDE;&#x63A5;&#xFF0C;&#x9700;&#x8981;&#x7F13;&#x5B58;&#xFF0C;&#x5426;&#x5219;&#x91CD;&#x590D;&#x751F;&#x6210;ReferenceConfig&#x53EF;&#x80FD;&#x9020;&#x6210;&#x6027;&#x80FD;&#x95EE;&#x9898;&#x5E76;&#x4E14;&#x4F1A;&#x6709;&#x5185;&#x5B58;&#x548C;&#x8FDE;&#x63A5;&#x6CC4;&#x6F0F;&#x3002;API&#x65B9;&#x5F0F;&#x7F16;&#x7A0B;&#x65F6;&#xFF0C;&#x5BB9;&#x6613;&#x5FFD;&#x7565;&#x6B64;&#x95EE;&#x9898;&#x3002;</p>
-<p>Dubbo 2.4.0+&#x7248;&#x672C;&#xFF0C;&#x63D0;&#x4F9B;&#x4E86;&#x7B80;&#x5355;&#x7684;&#x5DE5;&#x5177;&#x7C7B;ReferenceConfigCache&#x7528;&#x4E8E;&#x7F13;&#x5B58;ReferenceConfig&#x5B9E;&#x4F8B;&#x3002;</p>
-<p>&#x4F7F;&#x7528;&#x65B9;&#x5F0F;&#x5982;&#x4E0B;&#xFF1A;</p>
-<pre><code class="lang-java">ReferenceConfig&lt;XxxService&gt; reference = <span class="hljs-keyword">new</span> ReferenceConfig&lt;XxxService&gt;();
-reference.setInterface(XxxService.class);
-reference.setVersion(<span class="hljs-string">&quot;1.0.0&quot;</span>);
-......
-
-ReferenceConfigCache cache = ReferenceConfigCache.getCache();
-XxxService xxxService = cache.get(reference); <span class="hljs-comment">// cache.get&#x65B9;&#x6CD5;&#x4E2D;&#x4F1A;Cache Reference&#x5BF9;&#x8C61;&#xFF0C;&#x5E76;&#x4E14;&#x8C03;&#x7528;ReferenceConfig.get&#x65B9;&#x6CD5;&#x542F;&#x52A8;ReferenceConfig</span>
-<span class="hljs-comment">// &#x6CE8;&#x610F;&#xFF01; Cache&#x4F1A;&#x6301;&#x6709;ReferenceConfig&#xFF0C;&#x4E0D;&#x8981;&#x5728;&#x5916;&#x90E8;&#x518D;&#x8C03;&#x7528;ReferenceConfig&#x7684;destroy&#x65B9;&#x6CD5;&#xFF0C;&#x5BFC;&#x81F4;Cache&#x5185;&#x7684;ReferenceConfig&#x5931;&#x6548;&#xFF01;</span>
-
-<span class="hljs-comment">// &#x4F7F;&#x7528;xxxService&#x5BF9;&#x8C61;</span>
-xxxService.sayHello();
-</code></pre>
-<p>&#x6D88;&#x9664;Cache&#x4E2D;&#x7684;ReferenceConfig&#xFF0C;&#x9500;&#x6BC1;ReferenceConfig&#x5E76;&#x91CA;&#x653E;&#x5BF9;&#x5E94;&#x7684;&#x8D44;&#x6E90;&#x3002;</p>
-<pre><code class="lang-java">ReferenceConfigCache cache = ReferenceConfigCache.getCache();
-cache.destroy(reference);
-</code></pre>
-<p>&#x7F3A;&#x7701;ReferenceConfigCache&#x628A;&#x76F8;&#x540C;&#x670D;&#x52A1;Group&#x3001;&#x63A5;&#x53E3;&#x3001;&#x7248;&#x672C;&#x7684;ReferenceConfig&#x8BA4;&#x4E3A;&#x662F;&#x76F8;&#x540C;&#xFF0C;&#x7F13;&#x5B58;&#x4E00;&#x4EFD;&#x3002;&#x5373;&#x4EE5;&#x670D;&#x52A1;Group&#x3001;&#x63A5;&#x53E3;&#x3001;&#x7248;&#x672C;&#x4E3A;&#x7F13;&#x5B58;&#x7684;Key&#x3002;</p>
-<p>&#x53EF;&#x4EE5;&#x4FEE;&#x6539;&#x8FD9;&#x4E2A;&#x7B56;&#x7565;&#xFF0C;&#x5728;ReferenceConfigCache.getCache&#x65F6;&#xFF0C;&#x4F20;&#x4E00;&#x4E2A;KeyGenerator&#x3002;&#x8BE6;&#x89C1;ReferenceConfigCache&#x7C7B;&#x7684;&#x65B9;&#x6CD5;&#x3002;</p>
-<pre><code class="lang-java">KeyGenerator keyGenerator = <span class="hljs-keyword">new</span> ...
-
-ReferenceConfigCache cache = ReferenceConfigCache.getCache(keyGenerator );
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="服务容器.html" class="navigation navigation-prev " aria-label="Previous page: 4.41 服务容器">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="分布式事务.html" class="navigation navigation-next " aria-label="Next page: 4.43 分布式事务">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.42 Reference Config缓存","level":"1.5.41","depth":2,"next":{"title":"4.43 分布式事务","level":"1.5.42","depth":2,"path":"demos/分布式事务.md","ref":"demos/分布式事务.md","articles":[]},"previous":{"title":"4.41 服务容器","level":"1.5.40","depth":2,"path":"demos/服务容器.md","ref":"demos/服务容器.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/ReferenceConfig缓存.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\344\270\212\344\270\213\346\226\207\344\277\241\346\201\257.html" "b/user-guide/demos/\344\270\212\344\270\213\346\226\207\344\277\241\346\201\257.html"
deleted file mode 100644
index cd1943f..0000000
--- "a/user-guide/demos/\344\270\212\344\270\213\346\226\207\344\277\241\346\201\257.html"
+++ /dev/null
@@ -1,1497 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.20 上下文信息 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="隐式传参.html" />
-    
-    
-    <link rel="prev" href="回声测试.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.20 上下文信息</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x4E0A;&#x4E0B;&#x6587;&#x4E2D;&#x5B58;&#x653E;&#x7684;&#x662F;&#x5F53;&#x524D;&#x8C03;&#x7528;&#x8FC7;&#x7A0B;&#x4E2D;&#x6240;&#x9700;&#x7684;&#x73AF;&#x5883;&#x4FE1;&#x606F;&#x3002;</p>
-<p><img src="../sources/images/check.gif" alt="warning">&#x6240;&#x6709;&#x914D;&#x7F6E;&#x4FE1;&#x606F;&#x90FD;&#x5C06;&#x8F6C;&#x6362;&#x4E3A;URL&#x7684;&#x53C2;&#x6570;&#xFF0C;&#x53C2;&#x89C1; <a href="../reference-xmlconf/introduction.html">&#x914D;&#x7F6E;&#x9879;&#x4E00;&#x89C8;&#x8868;</a> &#x4E2D;&#x7684;&#x201C;&#x5BF9;&#x5E94;URL&#x53C2;&#x6570;&#x201D;&#x4E00;&#x5217;&#x3002;</p>
-<p><strong>&#x6CE8;&#x610F;</strong>
-RpcContext&#x662F;&#x4E00;&#x4E2A;ThreadLocal&#x7684;&#x4E34;&#x65F6;&#x72B6;&#x6001;&#x8BB0;&#x5F55;&#x5668;&#xFF0C;&#x5F53;&#x63A5;&#x6536;&#x5230;RPC&#x8BF7;&#x6C42;&#xFF0C;&#x6216;&#x53D1;&#x8D77;RPC&#x8BF7;&#x6C42;&#x65F6;&#xFF0C;RpcContext&#x7684;&#x72B6;&#x6001;&#x90FD;&#x4F1A;&#x53D8;&#x5316;&#x3002;
-&#x6BD4;&#x5982;&#xFF1A;A&#x8C03;B&#xFF0C;B&#x518D;&#x8C03;C&#xFF0C;&#x5219;B&#x673A;&#x5668;&#x4E0A;&#xFF0C;&#x5728;B&#x8C03;C&#x4E4B;&#x524D;&#xFF0C;RpcContext&#x8BB0;&#x5F55;&#x7684;&#x662F;A&#x8C03;B&#x7684;&#x4FE1;&#x606F;&#xFF0C;&#x5728;B&#x8C03;C&#x4E4B;&#x540E;&#xFF0C;RpcContext&#x8BB0;&#x5F55;&#x7684;&#x662F;B&#x8C03;C&#x7684;&#x4FE1;&#x606F;&#x3002;</p>
-</blockquote>
-<h5 id="1-&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;">(1) &#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;</h5>
-<pre><code class="lang-java">xxxService.xxx(); <span class="hljs-comment">// &#x8FDC;&#x7A0B;&#x8C03;&#x7528;</span>
-<span class="hljs-keyword">boolean</span> isConsumerSide = RpcContext.getContext().isConsumerSide(); <span class="hljs-comment">// &#x672C;&#x7AEF;&#x662F;&#x5426;&#x4E3A;&#x6D88;&#x8D39;&#x7AEF;&#xFF0C;&#x8FD9;&#x91CC;&#x4F1A;&#x8FD4;&#x56DE;true</span>
-String serverIP = RpcContext.getContext().getRemoteHost(); <span class="hljs-comment">// &#x83B7;&#x53D6;&#x6700;&#x540E;&#x4E00;&#x6B21;&#x8C03;&#x7528;&#x7684;&#x63D0;&#x4F9B;&#x65B9;IP&#x5730;&#x5740;</span>
-String application = RpcContext.getContext().getUrl().getParameter(<span class="hljs-string">&quot;application&quot;</span>); <span class="hljs-comment">// &#x83B7;&#x53D6;&#x5F53;&#x524D;&#x670D;&#x52A1;&#x914D;&#x7F6E;&#x4FE1;&#x606F;&#xFF0C;&#x6240;&#x6709;&#x914D;&#x7F6E;&#x4FE1;&#x606F;&#x90FD;&#x5C06;&#x8F6C;&#x6362;&#x4E3A;URL&#x7684;&#x53C2;&#x6570;</span>
-<span class="hljs-comment">// ...</span>
-yyyService.yyy(); <span class="hljs-comment">// &#x6CE8;&#x610F;&#xFF1A;&#x6BCF;&#x53D1;&#x8D77;RPC&#x8C03;&#x7528;&#xFF0C;&#x4E0A;&#x4E0B;&#x6587;&#x72B6;&#x6001;&#x4F1A;&#x53D8;&#x5316;</span>
-<span class="hljs-comment">// ...</span>
-</code></pre>
-<h5 id="2-&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;">(2) &#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;</h5>
-<pre><code class="lang-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxServiceImpl</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">XxxService</span> </span>{
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">xxx</span><span class="hljs-params">()</span> </span>{ <span class="hljs-comment">// &#x670D;&#x52A1;&#x65B9;&#x6CD5;&#x5B9E;&#x73B0;</span>
-        <span class="hljs-keyword">boolean</span> isProviderSide = RpcContext.getContext().isProviderSide(); <span class="hljs-comment">// &#x672C;&#x7AEF;&#x662F;&#x5426;&#x4E3A;&#x63D0;&#x4F9B;&#x7AEF;&#xFF0C;&#x8FD9;&#x91CC;&#x4F1A;&#x8FD4;&#x56DE;true</span>
-        String clientIP = RpcContext.getContext().getRemoteHost(); <span class="hljs-comment">// &#x83B7;&#x53D6;&#x8C03;&#x7528;&#x65B9;IP&#x5730;&#x5740;</span>
-        String application = RpcContext.getContext().getUrl().getParameter(<span class="hljs-string">&quot;application&quot;</span>); <span class="hljs-comment">// &#x83B7;&#x53D6;&#x5F53;&#x524D;&#x670D;&#x52A1;&#x914D;&#x7F6E;&#x4FE1;&#x606F;&#xFF0C;&#x6240;&#x6709;&#x914D;&#x7F6E;&#x4FE1;&#x606F;&#x90FD;&#x5C06;&#x8F6C;&#x6362;&#x4E3A;URL&#x7684;&#x53C2;&#x6570;</span>
-        <span class="hljs-comment">// ...</span>
-        yyyService.yyy(); <span class="hljs-comment">// &#x6CE8;&#x610F;&#xFF1A;&#x6BCF;&#x53D1;&#x8D77;RPC&#x8C03;&#x7528;&#xFF0C;&#x4E0A;&#x4E0B;&#x6587;&#x72B6;&#x6001;&#x4F1A;&#x53D8;&#x5316;</span>
-        <span class="hljs-keyword">boolean</span> isProviderSide = RpcContext.getContext().isProviderSide(); <span class="hljs-comment">// &#x6B64;&#x65F6;&#x672C;&#x7AEF;&#x53D8;&#x6210;&#x6D88;&#x8D39;&#x7AEF;&#xFF0C;&#x8FD9;&#x91CC;&#x4F1A;&#x8FD4;&#x56DE;false</span>
-        <span class="hljs-comment">// ...</span>
-    } 
-}
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="回声测试.html" class="navigation navigation-prev " aria-label="Previous page: 4.19 回声测试">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="隐式传参.html" class="navigation navigation-next " aria-label="Next page: 4.21 隐式参数">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.20 上下文信息","level":"1.5.19","depth":2,"next":{"title":"4.21 隐式参数","level":"1.5.20","depth":2,"path":"demos/隐式传参.md","ref":"demos/隐式传参.md","articles":[]},"previous":{"title":"4.19 回声测试","level":"1.5.18","depth":2,"path":"demos/回声测试.md","ref":"demos/回声测试.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/上下文信息.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\344\270\273\346\234\272\347\273\221\345\256\232.html" "b/user-guide/demos/\344\270\273\346\234\272\347\273\221\345\256\232.html"
deleted file mode 100644
index 0dbec52..0000000
--- "a/user-guide/demos/\344\270\273\346\234\272\347\273\221\345\256\232.html"
+++ /dev/null
@@ -1,1505 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.38 主机绑定 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="日志适配.html" />
-    
-    
-    <link rel="prev" href="优雅停机.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.38 主机绑定</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x7F3A;&#x7701;&#x4E3B;&#x673A;IP&#x67E5;&#x627E;&#x987A;&#x5E8F;&#xFF1A;</p>
-<ul>
-<li>&#x901A;&#x8FC7;LocalHost.getLocalHost()&#x83B7;&#x53D6;&#x672C;&#x673A;&#x5730;&#x5740;&#x3002;</li>
-<li>&#x5982;&#x679C;&#x662F;127.*&#x7B49;loopback&#x5730;&#x5740;&#xFF0C;&#x5219;&#x626B;&#x63CF;&#x5404;&#x7F51;&#x5361;&#xFF0C;&#x83B7;&#x53D6;&#x7F51;&#x5361;IP&#x3002;</li>
-</ul>
-<p>&#x6CE8;&#x518C;&#x7684;&#x5730;&#x5740;&#x5982;&#x679C;&#x83B7;&#x53D6;&#x4E0D;&#x6B63;&#x786E;&#xFF0C;&#x6BD4;&#x5982;&#x9700;&#x8981;&#x6CE8;&#x518C;&#x516C;&#x7F51;&#x5730;&#x5740;&#xFF0C;&#x53EF;&#x4EE5;&#xFF1A;</p>
-<ol>
-<li><p>&#x53EF;&#x4EE5;&#x5728;/etc/hosts&#x4E2D;&#x52A0;&#x5165;&#xFF1A;&#x673A;&#x5668;&#x540D; &#x516C;&#x7F51;IP&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;</p>
-<pre><code> test1 205.182.23.201
-</code></pre></li>
-<li><p>&#x5728;dubbo.xml&#x4E2D;&#x52A0;&#x5165;&#x4E3B;&#x673A;&#x5730;&#x5740;&#x7684;&#x914D;&#x7F6E;&#xFF1A;</p>
-<pre><code class="lang-xml"> <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">host</span>=<span class="hljs-string">&quot;http://10.20.160.198/wiki/display/dubbo/205.182.23.201&quot;</span>&gt;</span>
-</code></pre>
-</li>
-<li><p>&#x6216;&#x5728;dubbo.properties&#x4E2D;&#x52A0;&#x5165;&#x4E3B;&#x673A;&#x5730;&#x5740;&#x7684;&#x914D;&#x7F6E;&#xFF1A;</p>
-<pre><code> dubbo.protocol.host=205.182.23.201
-</code></pre></li>
-</ol>
-<p>&#x7F3A;&#x7701;&#x4E3B;&#x673A;&#x7AEF;&#x53E3;&#x4E0E;&#x534F;&#x8BAE;&#x76F8;&#x5173;&#xFF1A;</p>
-<ul>
-<li>dubbo: 20880</li>
-<li>rmi: 1099</li>
-<li>http: 80</li>
-<li>hessian: 80</li>
-<li>webservice: 80</li>
-<li>memcached: 11211</li>
-<li>redis: 6379</li>
-</ul>
-<p>&#x4E3B;&#x673A;&#x7AEF;&#x53E3;&#x914D;&#x7F6E;&#xFF1A;</p>
-<ol>
-<li><p>&#x5728;dubbo.xml&#x4E2D;&#x52A0;&#x5165;&#x4E3B;&#x673A;&#x5730;&#x5740;&#x7684;&#x914D;&#x7F6E;&#xFF1A;</p>
-<pre><code class="lang-xml"> <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;20880&quot;</span>&gt;</span>
-</code></pre>
-</li>
-<li><p>&#x6216;&#x5728;dubbo.properties&#x4E2D;&#x52A0;&#x5165;&#x4E3B;&#x673A;&#x5730;&#x5740;&#x7684;&#x914D;&#x7F6E;&#xFF1A;</p>
-<pre><code> dubbo.protocol.dubbo.port=20880
-</code></pre></li>
-</ol>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="优雅停机.html" class="navigation navigation-prev " aria-label="Previous page: 4.37 优雅停机">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="日志适配.html" class="navigation navigation-next " aria-label="Next page: 4.39 日志适配">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.38 主机绑定","level":"1.5.37","depth":2,"next":{"title":"4.39 日志适配","level":"1.5.38","depth":2,"path":"demos/日志适配.md","ref":"demos/日志适配.md","articles":[]},"previous":{"title":"4.37 优雅停机","level":"1.5.36","depth":2,"path":"demos/优雅停机.md","ref":"demos/优雅停机.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/主机绑定.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\344\272\213\344\273\266\351\200\232\347\237\245.html" "b/user-guide/demos/\344\272\213\344\273\266\351\200\232\347\237\245.html"
deleted file mode 100644
index 6a693e1..0000000
--- "a/user-guide/demos/\344\272\213\344\273\266\351\200\232\347\237\245.html"
+++ /dev/null
@@ -1,1552 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.25 事件通知 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="本地存根.html" />
-    
-    
-    <link rel="prev" href="参数回调.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.25 事件通知</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x5728;&#x8C03;&#x7528;&#x4E4B;&#x524D;&#xFF0C;&#x8C03;&#x7528;&#x4E4B;&#x540E;&#xFF0C;&#x51FA;&#x73B0;&#x5F02;&#x5E38;&#x65F6;&#xFF0C;&#x4F1A;&#x89E6;&#x53D1;oninvoke, onreturn, onthrow&#x4E09;&#x4E2A;&#x4E8B;&#x4EF6;&#xFF0C;&#x53EF;&#x4EE5;&#x914D;&#x7F6E;&#x5F53;&#x4E8B;&#x4EF6;&#x53D1;&#x751F;&#x65F6;&#xFF0C;&#x901A;&#x77E5;&#x54EA;&#x4E2A;&#x7C7B;&#x7684;&#x54EA;&#x4E2A;&#x65B9;&#x6CD5;&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">&#x652F;&#x6301;&#x7248;&#x672C;&#xFF1A;2.0.7&#x4E4B;&#x540E;</p>
-</blockquote>
-<h5 id="1-&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x4E0E;&#x6D88;&#x8D39;&#x8005;&#x5171;&#x4EAB;&#x670D;&#x52A1;&#x63A5;&#x53E3;">(1) &#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x4E0E;&#x6D88;&#x8D39;&#x8005;&#x5171;&#x4EAB;&#x670D;&#x52A1;&#x63A5;&#x53E3;</h5>
-<p><strong>IDemoService.java</strong></p>
-<pre><code class="lang-java"><span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">IDemoService</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Person <span class="hljs-title">get</span><span class="hljs-params">(<span class="hljs-keyword">int</span> id)</span></span>;
-}
-</code></pre>
-<h5 id="2-&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5B9E;&#x73B0;">(2) &#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5B9E;&#x73B0;</h5>
-<p><strong>DemoServiceImpl.java</strong></p>
-<pre><code class="lang-java">
-<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">NormalDemoService</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">IDemoService</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Person <span class="hljs-title">get</span><span class="hljs-params">(<span class="hljs-keyword">int</span> id)</span> </span>{
-        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> Person(id, <span class="hljs-string">&quot;charles`son&quot;</span>, <span class="hljs-number">4</span>);
-    }
-}
-</code></pre>
-<h5 id="3-&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x914D;&#x7F6E;">(3) &#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x914D;&#x7F6E;</h5>
-<p><strong>provider.xml</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;rpc-callback-demo&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;http://10.20.160.198/wiki/display/dubbo/10.20.153.186&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">bean</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;demoService&quot;</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;com.alibaba.dubbo.callback.implicit.NormalDemoService&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.dubbo.callback.implicit.IDemoService&quot;</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">&quot;demoService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;cn&quot;</span>/&gt;</span>
-</code></pre>
-<h5 id="4-&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;callback&#x63A5;&#x53E3;&#x53CA;&#x5B9E;&#x73B0;">(4) &#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;Callback&#x63A5;&#x53E3;&#x53CA;&#x5B9E;&#x73B0;</h5>
-<p><strong>Notify.java</strong></p>
-<pre><code class="lang-java"><span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">Notify</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onreturn</span><span class="hljs-params">(Person msg, Integer id)</span></span>;
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onthrow</span><span class="hljs-params">(Throwable ex, Integer id)</span></span>;
-}
-</code></pre>
-<p><strong>NotifyImpl.java</strong></p>
-<pre><code class="lang-java">
-<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">NotifyImpl</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Notify</span> </span>{
-    <span class="hljs-keyword">public</span> Map&lt;Integer, Person&gt;    ret    = <span class="hljs-keyword">new</span> HashMap&lt;Integer, Person&gt;();
-    <span class="hljs-keyword">public</span> Map&lt;Integer, Throwable&gt; errors = <span class="hljs-keyword">new</span> HashMap&lt;Integer, Throwable&gt;();
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onreturn</span><span class="hljs-params">(Person msg, Integer id)</span> </span>{
-        System.out.println(<span class="hljs-string">&quot;onreturn:&quot;</span> + msg);
-        ret.put(id, msg);
-    }
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">onthrow</span><span class="hljs-params">(Throwable ex, Integer id)</span> </span>{
-        errors.put(id, ex);
-    }
-}
-</code></pre>
-<h5 id="5-&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;callback&#x63A5;&#x53E3;&#x53CA;&#x5B9E;&#x73B0;">(5) &#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;Callback&#x63A5;&#x53E3;&#x53CA;&#x5B9E;&#x73B0;</h5>
-<p><strong>consumer.xml</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">bean</span> <span class="hljs-attr">id</span> =<span class="hljs-string">&quot;demoCallback&quot;</span> <span class="hljs-attr">class</span> = &quot;<span class="hljs-attr">com.alibaba.dubbo.callback.implicit.NofifyImpl</span>&quot; /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;demoService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.dubbo.callback.implicit.IDemoService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;cn&quot;</span> &gt;</span>
-      <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;get&quot;</span> <span class="hljs-attr">async</span>=<span class="hljs-string">&quot;true&quot;</span> <span class="hljs-attr">onreturn</span> = &quot;<span class="hljs-attr">demoCallback.onreturn</span>&quot; <span class="hljs-attr">onthrow</span>=<span class="hljs-string">&quot;demoCallback.onthrow&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:reference</span>&gt;</span>
-</code></pre>
-<blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">callback&#x4E0E;async&#x529F;&#x80FD;&#x6B63;&#x4EA4;&#x5206;&#x89E3;&#xFF1A;</p>
-<ul>
-<li>async=true&#xFF0C;&#x8868;&#x793A;&#x7ED3;&#x679C;&#x662F;&#x5426;&#x9A6C;&#x4E0A;&#x8FD4;&#x56DE;.  </li>
-<li>onreturn &#x8868;&#x793A;&#x662F;&#x5426;&#x9700;&#x8981;&#x56DE;&#x8C03;.  </li>
-</ul>
-<p>&#x7EC4;&#x5408;&#x60C5;&#x51B5;&#xFF1A;(async=false &#x9ED8;&#x8BA4;)</p>
-<ul>
-<li>&#x5F02;&#x6B65;&#x56DE;&#x8C03;&#x6A21;&#x5F0F;&#xFF1A;async=true onreturn=&quot;xxx&quot;  </li>
-<li>&#x540C;&#x6B65;&#x56DE;&#x8C03;&#x6A21;&#x5F0F;&#xFF1A;async=false onreturn=&quot;xxx&quot;  </li>
-<li>&#x5F02;&#x6B65;&#x65E0;&#x56DE;&#x8C03; &#xFF1A;async=true  </li>
-<li>&#x540C;&#x6B65;&#x65E0;&#x56DE;&#x8C03; &#xFF1A;async=false  </li>
-</ul>
-</blockquote>
-<h5 id="6-test-case">(6) TEST CASE</h5>
-<p><strong>Test.java</strong></p>
-<pre><code class="lang-java">IDemoService demoService = (IDemoService) context.getBean(<span class="hljs-string">&quot;demoService&quot;</span>);
-NofifyImpl notify = (NofifyImpl) context.getBean(<span class="hljs-string">&quot;demoCallback&quot;</span>);
-<span class="hljs-keyword">int</span> requestId = <span class="hljs-number">2</span>;
-Person ret = demoService.get(requestId);
-Assert.assertEquals(<span class="hljs-keyword">null</span>, ret);
-<span class="hljs-comment">//for Test&#xFF1A;&#x53EA;&#x662F;&#x7528;&#x6765;&#x8BF4;&#x660E;callback&#x6B63;&#x5E38;&#x88AB;&#x8C03;&#x7528;&#xFF0C;&#x4E1A;&#x52A1;&#x5177;&#x4F53;&#x5B9E;&#x73B0;&#x81EA;&#x884C;&#x51B3;&#x5B9A;.</span>
-<span class="hljs-keyword">for</span> (<span class="hljs-keyword">int</span> i = <span class="hljs-number">0</span>; i &lt; <span class="hljs-number">10</span>; i++) {
-    <span class="hljs-keyword">if</span> (!notify.ret.containsKey(requestId)) {
-        Thread.sleep(<span class="hljs-number">200</span>);
-    } <span class="hljs-keyword">else</span> {
-        <span class="hljs-keyword">break</span>;
-    }
-}
-Assert.assertEquals(requestId, notify.ret.get(requestId).getId());
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="参数回调.html" class="navigation navigation-prev " aria-label="Previous page: 4.24 参数回调">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="本地存根.html" class="navigation navigation-next " aria-label="Next page: 4.26 本地存根">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.25 事件通知","level":"1.5.24","depth":2,"next":{"title":"4.26 本地存根","level":"1.5.25","depth":2,"path":"demos/本地存根.md","ref":"demos/本地存根.md","articles":[]},"previous":{"title":"4.24 参数回调","level":"1.5.23","depth":2,"path":"demos/参数回调.md","ref":"demos/参数回调.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/事件通知.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\344\273\244\347\211\214\351\252\214\350\257\201.html" "b/user-guide/demos/\344\273\244\347\211\214\351\252\214\350\257\201.html"
deleted file mode 100644
index 55e94d7..0000000
--- "a/user-guide/demos/\344\273\244\347\211\214\351\252\214\350\257\201.html"
+++ /dev/null
@@ -1,1494 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.33 令牌验证 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="路由规则.html" />
-    
-    
-    <link rel="prev" href="粘滞连接.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.33 令牌验证</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p><img src="../sources/images/dubbo-token.jpg" alt="/user-guide/images/dubbo-token.jpg"></p>
-<ul>
-<li>&#x9632;&#x6B62;&#x6D88;&#x8D39;&#x8005;&#x7ED5;&#x8FC7;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x8BBF;&#x95EE;&#x63D0;&#x4F9B;&#x8005;</li>
-<li>&#x5728;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x63A7;&#x5236;&#x6743;&#x9650;&#xFF0C;&#x4EE5;&#x51B3;&#x5B9A;&#x8981;&#x4E0D;&#x8981;&#x4E0B;&#x53D1;&#x4EE4;&#x724C;&#x7ED9;&#x6D88;&#x8D39;&#x8005;</li>
-<li>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x53EF;&#x7075;&#x6D3B;&#x6539;&#x53D8;&#x6388;&#x6743;&#x65B9;&#x5F0F;&#xFF0C;&#x800C;&#x4E0D;&#x9700;&#x4FEE;&#x6539;&#x6216;&#x5347;&#x7EA7;&#x63D0;&#x4F9B;&#x8005;</li>
-</ul>
-<p>&#x53EF;&#x4EE5;&#x5168;&#x5C40;&#x8BBE;&#x7F6E;&#x5F00;&#x542F;&#x4EE4;&#x724C;&#x9A8C;&#x8BC1;</p>
-<pre><code class="lang-xml"><span class="hljs-comment">&lt;!--&#x968F;&#x673A;token&#x4EE4;&#x724C;&#xFF0C;&#x4F7F;&#x7528;UUID&#x751F;&#x6210;--&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">token</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-</code></pre>
-<pre><code class="lang-xml"><span class="hljs-comment">&lt;!--&#x56FA;&#x5B9A;token&#x4EE4;&#x724C;&#xFF0C;&#x76F8;&#x5F53;&#x4E8E;&#x5BC6;&#x7801;--&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">token</span>=<span class="hljs-string">&quot;123456&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x4E5F;&#x53EF;&#x5728;&#x670D;&#x52A1;&#x7EA7;&#x522B;&#x8BBE;&#x7F6E;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-comment">&lt;!--&#x968F;&#x673A;token&#x4EE4;&#x724C;&#xFF0C;&#x4F7F;&#x7528;UUID&#x751F;&#x6210;--&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">token</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-</code></pre>
-<pre><code class="lang-xml"><span class="hljs-comment">&lt;!--&#x56FA;&#x5B9A;token&#x4EE4;&#x724C;&#xFF0C;&#x76F8;&#x5F53;&#x4E8E;&#x5BC6;&#x7801;--&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">token</span>=<span class="hljs-string">&quot;123456&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x8FD8;&#x53EF;&#x5728;&#x534F;&#x8BAE;&#x7EA7;&#x522B;&#x8BBE;&#x7F6E;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-comment">&lt;!--&#x968F;&#x673A;token&#x4EE4;&#x724C;&#xFF0C;&#x4F7F;&#x7528;UUID&#x751F;&#x6210;--&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">token</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-</code></pre>
-<pre><code class="lang-xml"><span class="hljs-comment">&lt;!--&#x56FA;&#x5B9A;token&#x4EE4;&#x724C;&#xFF0C;&#x76F8;&#x5F53;&#x4E8E;&#x5BC6;&#x7801;--&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">token</span>=<span class="hljs-string">&quot;123456&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="粘滞连接.html" class="navigation navigation-prev " aria-label="Previous page: 4.32 粘滞连接">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="路由规则.html" class="navigation navigation-next " aria-label="Next page: 4.34 路由规则">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.33 令牌验证","level":"1.5.32","depth":2,"next":{"title":"4.34 路由规则","level":"1.5.33","depth":2,"path":"demos/路由规则.md","ref":"demos/路由规则.md","articles":[]},"previous":{"title":"4.32 粘滞连接","level":"1.5.31","depth":2,"path":"demos/粘滞连接.md","ref":"demos/粘滞连接.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/令牌验证.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\344\274\230\351\233\205\345\201\234\346\234\272.html" "b/user-guide/demos/\344\274\230\351\233\205\345\201\234\346\234\272.html"
deleted file mode 100644
index a5e2874..0000000
--- "a/user-guide/demos/\344\274\230\351\233\205\345\201\234\346\234\272.html"
+++ /dev/null
@@ -1,1490 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.37 优雅停机 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="主机绑定.html" />
-    
-    
-    <link rel="prev" href="服务降级.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.37 优雅停机</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning">  Dubbo&#x662F;&#x901A;&#x8FC7;JDK&#x7684;ShutdownHook&#x6765;&#x5B8C;&#x6210;&#x4F18;&#x96C5;&#x505C;&#x673A;&#x7684;&#xFF0C;&#x6240;&#x4EE5;&#x5982;&#x679C;&#x7528;&#x6237;&#x4F7F;&#x7528;&quot;kill -9 PID&quot;&#x7B49;&#x5F3A;&#x5236;&#x5173;&#x95ED;&#x6307;&#x4EE4;&#xFF0C;&#x662F;&#x4E0D;&#x4F1A;&#x6267;&#x884C;&#x4F18;&#x96C5;&#x505C;&#x673A;&#x7684;&#xFF0C;&#x53EA;&#x6709;&#x901A;&#x8FC7;&quot;kill PID&quot;&#x65F6;&#xFF0C;&#x624D;&#x4F1A;&#x6267;&#x884C;&#x3002;</p>
-</blockquote>
-<p><strong>&#x539F;&#x7406;</strong></p>
-<p>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;</p>
-<ul>
-<li>&#x505C;&#x6B62;&#x65F6;&#xFF0C;&#x5148;&#x6807;&#x8BB0;&#x4E3A;&#x4E0D;&#x63A5;&#x6536;&#x65B0;&#x8BF7;&#x6C42;&#xFF0C;&#x65B0;&#x8BF7;&#x6C42;&#x8FC7;&#x6765;&#x65F6;&#x76F4;&#x63A5;&#x62A5;&#x9519;&#xFF0C;&#x8BA9;&#x5BA2;&#x6237;&#x7AEF;&#x91CD;&#x8BD5;&#x5176;&#x5B83;&#x673A;&#x5668;&#x3002;</li>
-<li>&#x7136;&#x540E;&#xFF0C;&#x68C0;&#x6D4B;&#x7EBF;&#x7A0B;&#x6C60;&#x4E2D;&#x7684;&#x7EBF;&#x7A0B;&#x662F;&#x5426;&#x6B63;&#x5728;&#x8FD0;&#x884C;&#xFF0C;&#x5982;&#x679C;&#x6709;&#xFF0C;&#x7B49;&#x5F85;&#x6240;&#x6709;&#x7EBF;&#x7A0B;&#x6267;&#x884C;&#x5B8C;&#x6210;&#xFF0C;&#x9664;&#x975E;&#x8D85;&#x65F6;&#xFF0C;&#x5219;&#x5F3A;&#x5236;&#x5173;&#x95ED;&#x3002;</li>
-</ul>
-<p>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;</p>
-<ul>
-<li>&#x505C;&#x6B62;&#x65F6;&#xFF0C;&#x4E0D;&#x518D;&#x53D1;&#x8D77;&#x65B0;&#x7684;&#x8C03;&#x7528;&#x8BF7;&#x6C42;&#xFF0C;&#x6240;&#x6709;&#x65B0;&#x7684;&#x8C03;&#x7528;&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x5373;&#x62A5;&#x9519;&#x3002;</li>
-<li>&#x7136;&#x540E;&#xFF0C;&#x68C0;&#x6D4B;&#x6709;&#x6CA1;&#x6709;&#x8BF7;&#x6C42;&#x7684;&#x54CD;&#x5E94;&#x8FD8;&#x6CA1;&#x6709;&#x8FD4;&#x56DE;&#xFF0C;&#x7B49;&#x5F85;&#x54CD;&#x5E94;&#x8FD4;&#x56DE;&#xFF0C;&#x9664;&#x975E;&#x8D85;&#x65F6;&#xFF0C;&#x5219;&#x5F3A;&#x5236;&#x5173;&#x95ED;&#x3002;</li>
-</ul>
-<p>&#x8BBE;&#x7F6E;&#x4F18;&#x96C5;&#x505C;&#x673A;&#x8D85;&#x65F6;&#x65F6;&#x95F4;&#xFF0C;&#x7F3A;&#x7701;&#x8D85;&#x65F6;&#x65F6;&#x95F4;&#x662F;10&#x79D2;&#xFF1A;(&#x8D85;&#x65F6;&#x5219;&#x5F3A;&#x5236;&#x5173;&#x95ED;)</p>
-<pre><code class="lang-xml">
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">...</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:parameter</span> <span class="hljs-attr">key</span>=<span class="hljs-string">&quot;shutdown.timeout&quot;</span> <span class="hljs-attr">value</span>=<span class="hljs-string">&quot;60000&quot;</span> /&gt;</span> <span class="hljs-comment">&lt;!-- &#x5355;&#x4F4D;&#x6BEB;&#x79D2; --&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:application</span>&gt;</span>
-</code></pre>
-<p>&#x5982;&#x679C;ShutdownHook&#x4E0D;&#x80FD;&#x751F;&#x6548;&#xFF0C;&#x53EF;&#x4EE5;&#x81EA;&#x884C;&#x8C03;&#x7528;&#xFF1A;</p>
-<pre><code class="lang-java">ProtocolConfig.destroyAll();
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="服务降级.html" class="navigation navigation-prev " aria-label="Previous page: 4.36 服务降级">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="主机绑定.html" class="navigation navigation-next " aria-label="Next page: 4.38 主机绑定">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.37 优雅停机","level":"1.5.36","depth":2,"next":{"title":"4.38 主机绑定","level":"1.5.37","depth":2,"path":"demos/主机绑定.md","ref":"demos/主机绑定.md","articles":[]},"previous":{"title":"4.36 服务降级","level":"1.5.35","depth":2,"path":"demos/服务降级.md","ref":"demos/服务降级.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/优雅停机.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\345\210\206\345\270\203\345\274\217\344\272\213\345\212\241.html" "b/user-guide/demos/\345\210\206\345\270\203\345\274\217\344\272\213\345\212\241.html"
deleted file mode 100644
index c087180..0000000
--- "a/user-guide/demos/\345\210\206\345\270\203\345\274\217\344\272\213\345\212\241.html"
+++ /dev/null
@@ -1,1473 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.43 分布式事务 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="../reference-apiconf/api.html" />
-    
-    
-    <link rel="prev" href="ReferenceConfig缓存.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.43 分布式事务</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x57FA;&#x4E8E;JTA/XA&#x89C4;&#x8303;&#x5B9E;&#x73B0;&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">&#x6682;&#x672A;&#x5B9E;&#x73B0;&#x3002;</p>
-</blockquote>
-<p>&#x4E24;&#x9636;&#x6BB5;&#x63D0;&#x4EA4;&#xFF1A;</p>
-<p><img src="../sources/images/jta-xa.jpg" alt="/user-guide/images/jta-xa.jpg"></p>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="ReferenceConfig缓存.html" class="navigation navigation-prev " aria-label="Previous page: 4.42 Reference Config缓存">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="../reference-apiconf/api.html" class="navigation navigation-next " aria-label="Next page: 5 API参考手册">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.43 分布式事务","level":"1.5.42","depth":2,"next":{"title":"5 API参考手册","level":"1.6","depth":1,"path":"reference-apiconf/api.md","ref":"reference-apiconf/api.md","articles":[]},"previous":{"title":"4.42 Reference Config缓存","level":"1.5.41","depth":2,"path":"demos/ReferenceConfig缓存.md","ref":"demos/ReferenceConfig缓存.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/分布式事务.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\345\210\206\347\273\204\350\201\232\345\220\210.html" "b/user-guide/demos/\345\210\206\347\273\204\350\201\232\345\220\210.html"
deleted file mode 100644
index 155724a..0000000
--- "a/user-guide/demos/\345\210\206\347\273\204\350\201\232\345\220\210.html"
+++ /dev/null
@@ -1,1500 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.14 分组聚合 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="参数验证.html" />
-    
-    
-    <link rel="prev" href="多版本.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.14 分组聚合</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x6309;&#x7EC4;&#x5408;&#x5E76;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#xFF0C;&#x6BD4;&#x5982;&#x83DC;&#x5355;&#x670D;&#x52A1;&#xFF0C;&#x63A5;&#x53E3;&#x4E00;&#x6837;&#xFF0C;&#x4F46;&#x6709;&#x591A;&#x79CD;&#x5B9E;&#x73B0;&#xFF0C;&#x7528;group&#x533A;&#x5206;&#xFF0C;&#x73B0;&#x5728;&#x6D88;&#x8D39;&#x65B9;&#x9700;&#x4ECE;&#x6BCF;&#x79CD;group&#x4E2D;&#x8C03;&#x7528;&#x4E00;&#x6B21;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#xFF0C;&#x5408;&#x5E76;&#x7ED3;&#x679C;&#x8FD4;&#x56DE;&#xFF0C;&#x8FD9;&#x6837;&#x5C31;&#x53EF;&#x4EE5;&#x5B9E;&#x73B0;&#x805A;&#x5408;&#x83DC;&#x5355;&#x9879;&#x3002;  </p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">&#x4ECE;2.1.0&#x7248;&#x672C;&#x5F00;&#x59CB;&#x652F;&#x6301;,</p>
-</blockquote>
-<p>&#x4EE3;&#x7801;&#x53C2;&#x89C1;&#xFF1A;<a href="https://github.com/alibaba/dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge" target="_blank">https://github.com/alibaba/dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge</a></p>
-<p>&#x914D;&#x7F6E;&#x5982;&#xFF1A;</p>
-<p><strong>&#x641C;&#x7D22;&#x6240;&#x6709;&#x5206;&#x7EC4;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.xxx.MenuService&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;*&quot;</span> <span class="hljs-attr">merger</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-</code></pre>
-<p><strong>&#x5408;&#x5E76;&#x6307;&#x5B9A;&#x5206;&#x7EC4;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.xxx.MenuService&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;aaa,bbb&quot;</span> <span class="hljs-attr">merger</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-</code></pre>
-<p><strong>&#x6307;&#x5B9A;&#x65B9;&#x6CD5;&#x5408;&#x5E76;&#x7ED3;&#x679C;&#xFF0C;&#x5176;&#x5B83;&#x672A;&#x6307;&#x5B9A;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x5C06;&#x53EA;&#x8C03;&#x7528;&#x4E00;&#x4E2A;Group</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.xxx.MenuService&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;*&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;getMenuItems&quot;</span> <span class="hljs-attr">merger</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:service</span>&gt;</span>
-</code></pre>
-<p><strong>&#x67D0;&#x4E2A;&#x65B9;&#x6CD5;&#x4E0D;&#x5408;&#x5E76;&#x7ED3;&#x679C;&#xFF0C;&#x5176;&#x5B83;&#x90FD;&#x5408;&#x5E76;&#x7ED3;&#x679C;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.xxx.MenuService&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;*&quot;</span> <span class="hljs-attr">merger</span>=<span class="hljs-string">&quot;true&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;getMenuItems&quot;</span> <span class="hljs-attr">merger</span>=<span class="hljs-string">&quot;false&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:service</span>&gt;</span>
-</code></pre>
-<p><strong>&#x6307;&#x5B9A;&#x5408;&#x5E76;&#x7B56;&#x7565;&#xFF0C;&#x7F3A;&#x7701;&#x6839;&#x636E;&#x8FD4;&#x56DE;&#x503C;&#x7C7B;&#x578B;&#x81EA;&#x52A8;&#x5339;&#x914D;&#xFF0C;&#x5982;&#x679C;&#x540C;&#x4E00;&#x7C7B;&#x578B;&#x6709;&#x4E24;&#x4E2A;&#x5408;&#x5E76;&#x5668;&#x65F6;&#xFF0C;&#x9700;&#x6307;&#x5B9A;&#x5408;&#x5E76;&#x5668;&#x7684;&#x540D;&#x79F0;</strong>
-&#x53C2;&#x89C1;&#xFF1A;<a href="http://dubbo.io/developer-guide/SPI%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C/%E5%90%88%E5%B9%B6%E7%BB%93%E6%9E%9C%E6%89%A9%E5%B1%95.html" target="_blank">&#x5408;&#x5E76;&#x7ED3;&#x679C;&#x6269;&#x5C55;</a></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.xxx.MenuService&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;*&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;getMenuItems&quot;</span> <span class="hljs-attr">merger</span>=<span class="hljs-string">&quot;mymerge&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:service</span>&gt;</span>
-</code></pre>
-<p><strong>&#x6307;&#x5B9A;&#x5408;&#x5E76;&#x65B9;&#x6CD5;&#xFF0C;&#x5C06;&#x8C03;&#x7528;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#x7684;&#x6307;&#x5B9A;&#x65B9;&#x6CD5;&#x8FDB;&#x884C;&#x5408;&#x5E76;&#xFF0C;&#x5408;&#x5E76;&#x65B9;&#x6CD5;&#x7684;&#x53C2;&#x6570;&#x7C7B;&#x578B;&#x5FC5;&#x987B;&#x662F;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#x7C7B;&#x578B;&#x672C;&#x8EAB;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.xxx.MenuService&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;*&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;getMenuItems&quot;</span> <span class="hljs-attr">merger</span>=<span class="hljs-string">&quot;.addAll&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:service</span>&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="多版本.html" class="navigation navigation-prev " aria-label="Previous page: 4.13 多版本">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="参数验证.html" class="navigation navigation-next " aria-label="Next page: 4.15 参数验证">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.14 分组聚合","level":"1.5.13","depth":2,"next":{"title":"4.15 参数验证","level":"1.5.14","depth":2,"path":"demos/参数验证.md","ref":"demos/参数验证.md","articles":[]},"previous":{"title":"4.13 多版本","level":"1.5.12","depth":2,"path":"demos/多版本.md","ref":"demos/多版本.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/分组聚合.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\345\217\202\346\225\260\345\233\236\350\260\203.html" "b/user-guide/demos/\345\217\202\346\225\260\345\233\236\350\260\203.html"
deleted file mode 100644
index d8db839..0000000
--- "a/user-guide/demos/\345\217\202\346\225\260\345\233\236\350\260\203.html"
+++ /dev/null
@@ -1,1566 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.24 参数回调 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="事件通知.html" />
-    
-    
-    <link rel="prev" href="本地调用.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.24 参数回调</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x53C2;&#x6570;&#x56DE;&#x8C03;&#x65B9;&#x5F0F;&#x4E0E;&#x8C03;&#x7528;&#x672C;&#x5730;callback&#x6216;listener&#x76F8;&#x540C;&#xFF0C;&#x53EA;&#x9700;&#x8981;&#x5728;Spring&#x7684;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x4E2D;&#x58F0;&#x660E;&#x54EA;&#x4E2A;&#x53C2;&#x6570;&#x662F;callback&#x7C7B;&#x578B;&#x5373;&#x53EF;&#xFF0C;Dubbo&#x5C06;&#x57FA;&#x4E8E;&#x957F;&#x8FDE;&#x63A5;&#x751F;&#x6210;&#x53CD;&#x5411;&#x4EE3;&#x7406;&#xFF0C;&#x8FD9;&#x6837;&#x5C31;&#x53EF;&#x4EE5;&#x4ECE;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x8C03;&#x7528;&#x5BA2;&#x6237;&#x7AEF;&#x903B;&#x8F91;&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">2.0.6&#x53CA;&#x5176;&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;  </p>
-<p>&#x4EE3;&#x7801;&#x53C2;&#x89C1;&#xFF1A;<a href="https://github.com/alibaba/dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback" target="_blank">https://github.com/alibaba/dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback</a></p>
-</blockquote>
-<h5 id="1-&#x5171;&#x4EAB;&#x670D;&#x52A1;&#x63A5;&#x53E3;">(1) &#x5171;&#x4EAB;&#x670D;&#x52A1;&#x63A5;&#x53E3;</h5>
-<p>&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x793A;&#x4F8B;</p>
-<p><strong>CallbackService.java</strong></p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.callback;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">CallbackService</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">addListener</span><span class="hljs-params">(String key, CallbackListener listener)</span></span>;
-}
-</code></pre>
-<p><strong>CallbackListener.java</strong></p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.callback;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">CallbackListener</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">changed</span><span class="hljs-params">(String msg)</span></span>;
-}
-</code></pre>
-<h5 id="2-&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;">(2) &#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;</h5>
-<p>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x63A5;&#x53E3;&#x5B9E;&#x73B0;&#x793A;&#x4F8B;</p>
-<p><strong>CallbackServiceImpl.java</strong></p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.callback.impl;
-
-<span class="hljs-keyword">import</span> java.text.SimpleDateFormat;
-<span class="hljs-keyword">import</span> java.util.Date;
-<span class="hljs-keyword">import</span> java.util.Map;
-<span class="hljs-keyword">import</span> java.util.concurrent.ConcurrentHashMap;
-
-<span class="hljs-keyword">import</span> com.callback.CallbackListener;
-<span class="hljs-keyword">import</span> com.callback.CallbackService;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">CallbackServiceImpl</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">CallbackService</span> </span>{
-
-    <span class="hljs-keyword">private</span> <span class="hljs-keyword">final</span> Map&lt;String, CallbackListener&gt; listeners = <span class="hljs-keyword">new</span> ConcurrentHashMap&lt;String, CallbackListener&gt;();
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">CallbackServiceImpl</span><span class="hljs-params">()</span> </span>{
-        Thread t = <span class="hljs-keyword">new</span> Thread(<span class="hljs-keyword">new</span> Runnable() {
-            <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">run</span><span class="hljs-params">()</span> </span>{
-                <span class="hljs-keyword">while</span>(<span class="hljs-keyword">true</span>) {
-                    <span class="hljs-keyword">try</span> {
-                        <span class="hljs-keyword">for</span>(Map.Entry&lt;String, CallbackListener&gt; entry : listeners.entrySet()){
-                           <span class="hljs-keyword">try</span> {
-                               entry.getValue().changed(getChanged(entry.getKey()));
-                           } <span class="hljs-keyword">catch</span> (Throwable t) {
-                               listeners.remove(entry.getKey());
-                           }
-                        }
-                        Thread.sleep(<span class="hljs-number">5000</span>); <span class="hljs-comment">// &#x5B9A;&#x65F6;&#x89E6;&#x53D1;&#x53D8;&#x66F4;&#x901A;&#x77E5;</span>
-                    } <span class="hljs-keyword">catch</span> (Throwable t) { <span class="hljs-comment">// &#x9632;&#x5FA1;&#x5BB9;&#x9519;</span>
-                        t.printStackTrace();
-                    }
-                }
-            }
-        });
-        t.setDaemon(<span class="hljs-keyword">true</span>);
-        t.start();
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">addListener</span><span class="hljs-params">(String key, CallbackListener listener)</span> </span>{
-        listeners.put(key, listener);
-        listener.changed(getChanged(key)); <span class="hljs-comment">// &#x53D1;&#x9001;&#x53D8;&#x66F4;&#x901A;&#x77E5;</span>
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">private</span> String <span class="hljs-title">getChanged</span><span class="hljs-params">(String key)</span> </span>{
-        <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;Changed: &quot;</span> + <span class="hljs-keyword">new</span> SimpleDateFormat(<span class="hljs-string">&quot;yyyy-MM-dd HH:mm:ss&quot;</span>).format(<span class="hljs-keyword">new</span> Date());
-    }
-}
-</code></pre>
-<p>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x914D;&#x7F6E;&#x793A;&#x4F8B;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">bean</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;callbackService&quot;</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;com.callback.impl.CallbackServiceImpl&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.callback.CallbackService&quot;</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">&quot;callbackService&quot;</span> <span class="hljs-attr">connections</span>=<span class="hljs-string">&quot;1&quot;</span> <span class="hljs-attr">callbacks</span>=<span class="hljs-string">&quot;1000&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;addListener&quot;</span>&gt;</span>
-        <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:argument</span> <span class="hljs-attr">index</span>=<span class="hljs-string">&quot;1&quot;</span> <span class="hljs-attr">callback</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-        <span class="hljs-comment">&lt;!--&#x4E5F;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x6307;&#x5B9A;&#x7C7B;&#x578B;&#x7684;&#x65B9;&#x5F0F;--&gt;</span>
-        <span class="hljs-comment">&lt;!--&lt;dubbo:argument type=&quot;com.demo.CallbackListener&quot; callback=&quot;true&quot; /&gt;--&gt;</span>
-    <span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:method</span>&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:service</span>&gt;</span>
-</code></pre>
-<h5 id="3-&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;">(3) &#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;</h5>
-<p>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x914D;&#x7F6E;&#x793A;&#x4F8B;</p>
-<p><strong>consumer.xml</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;callbackService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.callback.CallbackService&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x8C03;&#x7528;&#x793A;&#x4F8B;</p>
-<p><strong>CallbackServiceTest.java</strong></p>
-<pre><code class="lang-java">ClassPathXmlApplicationContext context = <span class="hljs-keyword">new</span> ClassPathXmlApplicationContext(<span class="hljs-string">&quot;classpath:consumer.xml&quot;</span>);
-context.start();
-
-CallbackService callbackService = (CallbackService) context.getBean(<span class="hljs-string">&quot;callbackService&quot;</span>);
-
-callbackService.addListener(<span class="hljs-string">&quot;http://10.20.160.198/wiki/display/dubbo/foo.bar&quot;</span>, <span class="hljs-keyword">new</span> CallbackListener(){
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">changed</span><span class="hljs-params">(String msg)</span> </span>{
-        System.out.println(<span class="hljs-string">&quot;callback1:&quot;</span> + msg);
-    }
-});
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="本地调用.html" class="navigation navigation-prev " aria-label="Previous page: 4.23 本地调用">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="事件通知.html" class="navigation navigation-next " aria-label="Next page: 4.25 事件通知">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.24 参数回调","level":"1.5.23","depth":2,"next":{"title":"4.25 事件通知","level":"1.5.24","depth":2,"path":"demos/事件通知.md","ref":"demos/事件通知.md","articles":[]},"previous":{"title":"4.23 本地调用","level":"1.5.22","depth":2,"path":"demos/本地调用.md","ref":"demos/本地调用.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/参数回调.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\345\217\202\346\225\260\351\252\214\350\257\201.html" "b/user-guide/demos/\345\217\202\346\225\260\351\252\214\350\257\201.html"
deleted file mode 100644
index c0bacb3..0000000
--- "a/user-guide/demos/\345\217\202\346\225\260\351\252\214\350\257\201.html"
+++ /dev/null
@@ -1,1629 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.15 参数验证 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="结果缓存.html" />
-    
-    
-    <link rel="prev" href="分组聚合.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.15 参数验证</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x53C2;&#x6570;&#x9A8C;&#x8BC1;&#x529F;&#x80FD;&#x662F;&#x57FA;&#x4E8E; <a href="https://jcp.org/en/jsr/detail?id=303" target="_blank">JSR303</a> &#x5B9E;&#x73B0;&#x7684;&#xFF0C;&#x7528;&#x6237;&#x53EA;&#x9700;&#x6807;&#x8BC6;JSR303&#x6807;&#x51C6;&#x7684;&#x9A8C;&#x8BC1;Annotation&#xFF0C;&#x5E76;&#x901A;&#x8FC7;&#x58F0;&#x660E;filter&#x6765;&#x5B9E;&#x73B0;&#x9A8C;&#x8BC1;&#x3002;  </p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">2.1.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;, &#x5B8C;&#x6574;&#x793A;&#x4F8B;&#x4EE3;&#x7801;&#x53C2;&#x89C1;&#xFF1A;<a href="https://github.com/alibaba/dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/validation" target="_blank">https://github.com/alibaba/dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/validation</a>  </p>
-</blockquote>
-<p>&#x9A8C;&#x8BC1;&#x65B9;&#x5F0F;&#x53EF;&#x6269;&#x5C55;&#xFF0C;&#x53C2;&#x89C1;&#xFF1A;<a href="http://dubbo.io/developer-guide/SPI%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C/%E9%AA%8C%E8%AF%81%E6%89%A9%E5%B1%95.html" target="_blank">&#x9A8C;&#x8BC1;&#x6269;&#x5C55;</a></p>
-<h5 id="&#x53C2;&#x6570;&#x6807;&#x6CE8;&#x793A;&#x4F8B;">&#x53C2;&#x6570;&#x6807;&#x6CE8;&#x793A;&#x4F8B;</h5>
-<pre><code class="lang-java">
-<span class="hljs-keyword">import</span> java.io.Serializable;
-<span class="hljs-keyword">import</span> java.util.Date;
-
-<span class="hljs-keyword">import</span> javax.validation.constraints.Future;
-<span class="hljs-keyword">import</span> javax.validation.constraints.Max;
-<span class="hljs-keyword">import</span> javax.validation.constraints.Min;
-<span class="hljs-keyword">import</span> javax.validation.constraints.NotNull;
-<span class="hljs-keyword">import</span> javax.validation.constraints.Past;
-<span class="hljs-keyword">import</span> javax.validation.constraints.Pattern;
-<span class="hljs-keyword">import</span> javax.validation.constraints.Size;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ValidationParameter</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Serializable</span> </span>{
-
-    <span class="hljs-keyword">private</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">final</span> <span class="hljs-keyword">long</span> serialVersionUID = <span class="hljs-number">7158911668568000392L</span>;
-
-    <span class="hljs-meta">@NotNull</span> <span class="hljs-comment">// &#x4E0D;&#x5141;&#x8BB8;&#x4E3A;&#x7A7A;</span>
-    <span class="hljs-meta">@Size</span>(min = <span class="hljs-number">1</span>, max = <span class="hljs-number">20</span>) <span class="hljs-comment">// &#x957F;&#x5EA6;&#x6216;&#x5927;&#x5C0F;&#x8303;&#x56F4;</span>
-    <span class="hljs-keyword">private</span> String name;
-
-    <span class="hljs-meta">@NotNull</span>(groups = ValidationService.Save.class) <span class="hljs-comment">// &#x4FDD;&#x5B58;&#x65F6;&#x4E0D;&#x5141;&#x8BB8;&#x4E3A;&#x7A7A;&#xFF0C;&#x66F4;&#x65B0;&#x65F6;&#x5141;&#x8BB8;&#x4E3A;&#x7A7A; &#xFF0C;&#x8868;&#x793A;&#x4E0D;&#x66F4;&#x65B0;&#x8BE5;&#x5B57;&#x6BB5;</span>
-    <span class="hljs-meta">@Pattern</span>(regexp = <span class="hljs-string">&quot;^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$&quot;</span>)
-    <span class="hljs-keyword">private</span> String email;
-
-    <span class="hljs-meta">@Min</span>(<span class="hljs-number">18</span>) <span class="hljs-comment">// &#x6700;&#x5C0F;&#x503C;</span>
-    <span class="hljs-meta">@Max</span>(<span class="hljs-number">100</span>) <span class="hljs-comment">// &#x6700;&#x5927;&#x503C;</span>
-    <span class="hljs-keyword">private</span> <span class="hljs-keyword">int</span> age;
-
-    <span class="hljs-meta">@Past</span> <span class="hljs-comment">// &#x5FC5;&#x987B;&#x4E3A;&#x4E00;&#x4E2A;&#x8FC7;&#x53BB;&#x7684;&#x65F6;&#x95F4;</span>
-    <span class="hljs-keyword">private</span> Date loginDate;
-
-    <span class="hljs-meta">@Future</span> <span class="hljs-comment">// &#x5FC5;&#x987B;&#x4E3A;&#x4E00;&#x4E2A;&#x672A;&#x6765;&#x7684;&#x65F6;&#x95F4;</span>
-    <span class="hljs-keyword">private</span> Date expiryDate;
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> String <span class="hljs-title">getName</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-keyword">return</span> name;
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">setName</span><span class="hljs-params">(String name)</span> </span>{
-        <span class="hljs-keyword">this</span>.name = name;
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> String <span class="hljs-title">getEmail</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-keyword">return</span> email;
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">setEmail</span><span class="hljs-params">(String email)</span> </span>{
-        <span class="hljs-keyword">this</span>.email = email;
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">int</span> <span class="hljs-title">getAge</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-keyword">return</span> age;
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">setAge</span><span class="hljs-params">(<span class="hljs-keyword">int</span> age)</span> </span>{
-        <span class="hljs-keyword">this</span>.age = age;
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Date <span class="hljs-title">getLoginDate</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-keyword">return</span> loginDate;
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">setLoginDate</span><span class="hljs-params">(Date loginDate)</span> </span>{
-        <span class="hljs-keyword">this</span>.loginDate = loginDate;
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> Date <span class="hljs-title">getExpiryDate</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-keyword">return</span> expiryDate;
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">setExpiryDate</span><span class="hljs-params">(Date expiryDate)</span> </span>{
-        <span class="hljs-keyword">this</span>.expiryDate = expiryDate;
-    }
-
-}
-</code></pre>
-<h5 id="&#x5206;&#x7EC4;&#x9A8C;&#x8BC1;&#x793A;&#x4F8B;">&#x5206;&#x7EC4;&#x9A8C;&#x8BC1;&#x793A;&#x4F8B;</h5>
-<pre><code class="lang-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">ValidationService</span> </span>{ <span class="hljs-comment">// &#x7F3A;&#x7701;&#x53EF;&#x6309;&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x533A;&#x5206;&#x9A8C;&#x8BC1;&#x573A;&#x666F;&#xFF0C;&#x5982;&#xFF1A;@NotNull(groups = ValidationService.class)</span>
-
-    <span class="hljs-meta">@interface</span> Save{} <span class="hljs-comment">// &#x4E0E;&#x65B9;&#x6CD5;&#x540C;&#x540D;&#x63A5;&#x53E3;&#xFF0C;&#x9996;&#x5B57;&#x6BCD;&#x5927;&#x5199;&#xFF0C;&#x7528;&#x4E8E;&#x533A;&#x5206;&#x9A8C;&#x8BC1;&#x573A;&#x666F;&#xFF0C;&#x5982;&#xFF1A;@NotNull(groups = ValidationService.Save.class)&#xFF0C;&#x53EF;&#x9009;</span>
-    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">save</span><span class="hljs-params">(ValidationParameter parameter)</span></span>;
-    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">update</span><span class="hljs-params">(ValidationParameter parameter)</span></span>;
-}
-</code></pre>
-<h5 id="&#x5173;&#x8054;&#x9A8C;&#x8BC1;&#x793A;&#x4F8B;">&#x5173;&#x8054;&#x9A8C;&#x8BC1;&#x793A;&#x4F8B;</h5>
-<pre><code class="lang-java"><span class="hljs-keyword">import</span> javax.validation.GroupSequence;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">ValidationService</span> </span>{
-
-    <span class="hljs-meta">@GroupSequence</span>(Update.class) <span class="hljs-comment">// &#x540C;&#x65F6;&#x9A8C;&#x8BC1;Update&#x7EC4;&#x89C4;&#x5219;</span>
-    <span class="hljs-meta">@interface</span> Save{}
-    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">save</span><span class="hljs-params">(ValidationParameter parameter)</span></span>;
-
-    <span class="hljs-meta">@interface</span> Update{} 
-    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">update</span><span class="hljs-params">(ValidationParameter parameter)</span></span>;
-}
-</code></pre>
-<h5 id="&#x53C2;&#x6570;&#x9A8C;&#x8BC1;&#x793A;&#x4F8B;">&#x53C2;&#x6570;&#x9A8C;&#x8BC1;&#x793A;&#x4F8B;</h5>
-<pre><code class="lang-java"><span class="hljs-keyword">import</span> javax.validation.constraints.Min;
-<span class="hljs-keyword">import</span> javax.validation.constraints.NotNull;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">ValidationService</span> </span>{
-
-    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">save</span><span class="hljs-params">(@NotNull ValidationParameter parameter)</span></span>; <span class="hljs-comment">// &#x9A8C;&#x8BC1;&#x53C2;&#x6570;&#x4E0D;&#x4E3A;&#x7A7A;</span>
-
-    <span class="hljs-function"><span class="hljs-keyword">void</span> <span class="hljs-title">delete</span><span class="hljs-params">(@Min(<span class="hljs-number">1</span>)</span> <span class="hljs-keyword">int</span> id)</span>; <span class="hljs-comment">// &#x76F4;&#x63A5;&#x5BF9;&#x57FA;&#x672C;&#x7C7B;&#x578B;&#x53C2;&#x6570;&#x9A8C;&#x8BC1;</span>
-}
-</code></pre>
-<h5 id="&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x9A8C;&#x8BC1;&#x53C2;&#x6570;">&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x9A8C;&#x8BC1;&#x53C2;&#x6570;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;validationService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.dubbo.examples.validation.api.ValidationService&quot;</span> <span class="hljs-attr">validation</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-</code></pre>
-<h5 id="&#x5728;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x9A8C;&#x8BC1;&#x53C2;&#x6570;">&#x5728;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x9A8C;&#x8BC1;&#x53C2;&#x6570;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.dubbo.examples.validation.api.ValidationService&quot;</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">&quot;validationService&quot;</span> <span class="hljs-attr">validation</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-</code></pre>
-<h5 id="&#x9A8C;&#x8BC1;&#x5F02;&#x5E38;&#x4FE1;&#x606F;">&#x9A8C;&#x8BC1;&#x5F02;&#x5E38;&#x4FE1;&#x606F;</h5>
-<pre><code class="lang-java"><span class="hljs-keyword">import</span> javax.validation.ConstraintViolationException;
-<span class="hljs-keyword">import</span> javax.validation.ConstraintViolationException;
-
-<span class="hljs-keyword">import</span> org.springframework.context.support.ClassPathXmlApplicationContext;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.examples.validation.api.ValidationParameter;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.examples.validation.api.ValidationService;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.RpcException;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ValidationConsumer</span> </span>{
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span><span class="hljs-params">(String[] args)</span> <span class="hljs-keyword">throws</span> Exception </span>{
-        String config = ValidationConsumer.class.getPackage().getName().replace(<span class="hljs-string">&apos;.&apos;</span>, <span class="hljs-string">&apos;/&apos;</span>) + <span class="hljs-string">&quot;/validation-consumer.xml&quot;</span>;
-        ClassPathXmlApplicationContext context = <span class="hljs-keyword">new</span> ClassPathXmlApplicationContext(config);
-        context.start();
-        ValidationService validationService = (ValidationService)context.getBean(<span class="hljs-string">&quot;validationService&quot;</span>);
-        <span class="hljs-comment">// Error</span>
-        <span class="hljs-keyword">try</span> {
-            parameter = <span class="hljs-keyword">new</span> ValidationParameter();
-            validationService.save(parameter);
-            System.out.println(<span class="hljs-string">&quot;Validation ERROR&quot;</span>);
-        } <span class="hljs-keyword">catch</span> (RpcException e) { <span class="hljs-comment">// &#x629B;&#x51FA;&#x7684;&#x662F;RpcException</span>
-            ConstraintViolationException ve = (ConstraintViolationException) e.getCause(); <span class="hljs-comment">// &#x91CC;&#x9762;&#x5D4C;&#x4E86;&#x4E00;&#x4E2A;ConstraintViolationException</span>
-            Set&lt;ConstraintViolation&lt;?&gt;&gt; violations = ve.getConstraintViolations(); <span class="hljs-comment">// &#x53EF;&#x4EE5;&#x62FF;&#x5230;&#x4E00;&#x4E2A;&#x9A8C;&#x8BC1;&#x9519;&#x8BEF;&#x8BE6;&#x7EC6;&#x4FE1;&#x606F;&#x7684;&#x96C6;&#x5408;</span>
-            System.out.println(violations);
-        }
-    } 
-}
-</code></pre>
-<h5 id="&#x9700;&#x8981;&#x52A0;&#x5165;&#x4F9D;&#x8D56;">&#x9700;&#x8981;&#x52A0;&#x5165;&#x4F9D;&#x8D56;</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>javax.validation<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>validation-api<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>1.0.0.GA<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.hibernate<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>hibernate-validator<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>4.2.0.Final<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="分组聚合.html" class="navigation navigation-prev " aria-label="Previous page: 4.14 分组聚合">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="结果缓存.html" class="navigation navigation-next " aria-label="Next page: 4.16 结果缓存">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.15 参数验证","level":"1.5.14","depth":2,"next":{"title":"4.16 结果缓存","level":"1.5.15","depth":2,"path":"demos/结果缓存.md","ref":"demos/结果缓存.md","articles":[]},"previous":{"title":"4.14 分组聚合","level":"1.5.13","depth":2,"path":"demos/分组聚合.md","ref":"demos/分组聚合.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/参数验证.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\345\217\252\346\263\250\345\206\214.html" "b/user-guide/demos/\345\217\252\346\263\250\345\206\214.html"
deleted file mode 100644
index a98d5c3..0000000
--- "a/user-guide/demos/\345\217\252\346\263\250\345\206\214.html"
+++ /dev/null
@@ -1,1479 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.7 只注册 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="静态服务.html" />
-    
-    
-    <link rel="prev" href="只订阅.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.7 只注册</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><strong><img src="../sources/images/warning-3.gif" alt="warning">&#x95EE;&#x9898;</strong><br>&#x5982;&#x679C;&#x6709;&#x4E24;&#x4E2A;&#x955C;&#x50CF;&#x73AF;&#x5883;&#xFF0C;&#x4E24;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x6709;&#x4E00;&#x4E2A;&#x670D;&#x52A1;&#x53EA;&#x5728;&#x5176;&#x4E2D;&#x4E00;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6709;&#x90E8;&#x7F72;&#xFF0C;&#x53E6;&#x4E00;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x8FD8;&#x6CA1;&#x6765;&#x5F97;&#x53CA;&#x90E8;&#x7F72;&#xFF0C;&#x800C;&#x4E24;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x5176;&#x5B83;&#x5E94;&#x7528;&#x90FD;&#x9700;&#x8981;&#x4F9D;&#x8D56;&#x6B64;&#x670D;&#x52A1;&#xFF0C;&#x6240;&#x4EE5;&#x9700;&#x8981;&#x5C06;&#x670D;&#x52A1;&#x540C;&#x65F6;&#x6CE8;&#x518C;&#x5230;&#x4E24;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x4F46;&#x5374;&#x4E0D;&#x80FD;&#x8BA9;&#x6B64;&#x670D;&#x52A1;&#x540C;&#x65F6;&#x4F9D;&#x8D56;&#x4E24;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x5176;&#x5B83;&#x670D;&#x52A1;&#x3002;</p>
-<p><strong><img src="../sources/images/check.gif" alt="warning">&#x89E3;&#x51B3;&#x65B9;&#x6848;</strong><br>&#x53EF;&#x4EE5;&#x8BA9;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x65B9;&#xFF0C;&#x53EA;&#x6CE8;&#x518C;&#x670D;&#x52A1;&#x5230;&#x53E6;&#x4E00;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x800C;&#x4E0D;&#x4ECE;&#x53E6;&#x4E00;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x8BA2;&#x9605;&#x670D;&#x52A1;&#x3002;</p>
-</blockquote>
-<p>&#x7981;&#x7528;&#x8BA2;&#x9605;&#x914D;&#x7F6E;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;hzRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.153.10:9090&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;qdRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> <span class="hljs-attr">subscribe</span>=<span class="hljs-string">&quot;false&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;&#x8005;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;hzRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.153.10:9090&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;qdRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090?subscribe=false&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="只订阅.html" class="navigation navigation-prev " aria-label="Previous page: 4.6 只订阅">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="静态服务.html" class="navigation navigation-next " aria-label="Next page: 4.8 静态服务">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.7 只注册","level":"1.5.7","depth":2,"next":{"title":"4.8 静态服务","level":"1.5.8","depth":2,"path":"demos/静态服务.md","ref":"demos/静态服务.md","articles":[]},"previous":{"title":"4.6 只订阅","level":"1.5.6","depth":2,"path":"demos/只订阅.md","ref":"demos/只订阅.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/只注册.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\345\217\252\350\256\242\351\230\205.html" "b/user-guide/demos/\345\217\252\350\256\242\351\230\205.html"
deleted file mode 100644
index ff8d42d..0000000
--- "a/user-guide/demos/\345\217\252\350\256\242\351\230\205.html"
+++ /dev/null
@@ -1,1478 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.6 只订阅 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="只注册.html" />
-    
-    
-    <link rel="prev" href="直连提供者.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.6 只订阅</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><strong><img src="../sources/images/warning-3.gif" alt="warning">&#x95EE;&#x9898;</strong><br>&#x4E3A;&#x65B9;&#x4FBF;&#x5F00;&#x53D1;&#x6D4B;&#x8BD5;&#xFF0C;&#x7ECF;&#x5E38;&#x4F1A;&#x5728;&#x7EBF;&#x4E0B;&#x5171;&#x7528;&#x4E00;&#x4E2A;&#x6240;&#x6709;&#x670D;&#x52A1;&#x53EF;&#x7528;&#x7684;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x8FD9;&#x65F6;&#xFF0C;&#x5982;&#x679C;&#x4E00;&#x4E2A;&#x6B63;&#x5728;&#x5F00;&#x53D1;&#x4E2D;&#x7684;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x6CE8;&#x518C;&#xFF0C;&#x53EF;&#x80FD;&#x4F1A;&#x5F71;&#x54CD;&#x6D88;&#x8D39;&#x8005;&#x4E0D;&#x80FD;&#x6B63;&#x5E38;&#x8FD0;&#x884C;&#x3002;</p>
-<p><strong><img src="../sources/images/check.gif" alt="warning">&#x89E3;&#x51B3;&#x65B9;&#x6848;</strong><br>&#x53EF;&#x4EE5;&#x8BA9;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5F00;&#x53D1;&#x65B9;&#xFF0C;&#x53EA;&#x8BA2;&#x9605;&#x670D;&#x52A1;(&#x5F00;&#x53D1;&#x7684;&#x670D;&#x52A1;&#x53EF;&#x80FD;&#x4F9D;&#x8D56;&#x5176;&#x5B83;&#x670D;&#x52A1;)&#xFF0C;&#x800C;&#x4E0D;&#x6CE8;&#x518C;&#x6B63;&#x5728;&#x5F00;&#x53D1;&#x7684;&#x670D;&#x52A1;&#xFF0C;&#x901A;&#x8FC7;&#x76F4;&#x8FDE;&#x6D4B;&#x8BD5;&#x6B63;&#x5728;&#x5F00;&#x53D1;&#x7684;&#x670D;&#x52A1;&#x3002;</p>
-</blockquote>
-<p><img src="../sources/images/subscribe-only.jpg" alt="/user-guide/images/subscribe-only.jpg"></p>
-<p>&#x7981;&#x7528;&#x6CE8;&#x518C;&#x914D;&#x7F6E;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.153.10:9090&quot;</span> <span class="hljs-attr">register</span>=<span class="hljs-string">&quot;false&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;&#x8005;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.153.10:9090?register=false&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="直连提供者.html" class="navigation navigation-prev " aria-label="Previous page: 4.5 直连提供者">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="只注册.html" class="navigation navigation-next " aria-label="Next page: 4.7 只注册">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.6 只订阅","level":"1.5.6","depth":2,"next":{"title":"4.7 只注册","level":"1.5.7","depth":2,"path":"demos/只注册.md","ref":"demos/只注册.md","articles":[]},"previous":{"title":"4.5 直连提供者","level":"1.5.5","depth":2,"path":"demos/直连提供者.md","ref":"demos/直连提供者.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/只订阅.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\345\220\257\345\212\250\346\227\266\346\243\200\346\237\245.html" "b/user-guide/demos/\345\220\257\345\212\250\346\227\266\346\243\200\346\237\245.html"
deleted file mode 100644
index dfc2e07..0000000
--- "a/user-guide/demos/\345\220\257\345\212\250\346\227\266\346\243\200\346\237\245.html"
+++ /dev/null
@@ -1,1508 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.1 启动时检查 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="集群容错.html" />
-    
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter active" data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.1 启动时检查</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">Dubbo&#x7F3A;&#x7701;&#x4F1A;&#x5728;&#x542F;&#x52A8;&#x65F6;&#x68C0;&#x67E5;&#x4F9D;&#x8D56;&#x7684;&#x670D;&#x52A1;&#x662F;&#x5426;&#x53EF;&#x7528;&#xFF0C;&#x4E0D;&#x53EF;&#x7528;&#x65F6;&#x4F1A;&#x629B;&#x51FA;&#x5F02;&#x5E38;&#xFF0C;&#x963B;&#x6B62;Spring&#x521D;&#x59CB;&#x5316;&#x5B8C;&#x6210;&#xFF0C;&#x4EE5;&#x4FBF;&#x4E0A;&#x7EBF;&#x65F6;&#xFF0C;&#x80FD;&#x53CA;&#x65E9;&#x53D1;&#x73B0;&#x95EE;&#x9898;&#xFF0C;&#x9ED8;&#x8BA4; <code>check=&quot;true&quot;</code>&#x3002;  </p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">&#x5982;&#x679C;&#x4F60;&#x7684;Spring&#x5BB9;&#x5668;&#x662F;&#x61D2;&#x52A0;&#x8F7D;&#x7684;&#xFF0C;&#x6216;&#x8005;&#x901A;&#x8FC7;API&#x7F16;&#x7A0B;&#x5EF6;&#x8FDF;&#x5F15;&#x7528;&#x670D;&#x52A1;&#xFF0C;&#x8BF7;&#x5173;&#x95ED;check&#xFF0C;&#x5426;&#x5219;&#x670D;&#x52A1;&#x4E34;&#x65F6;&#x4E0D;&#x53EF;&#x7528;&#x65F6;&#xFF0C;&#x4F1A;&#x629B;&#x51FA;&#x5F02;&#x5E38;&#xFF0C;&#x62FF;&#x5230;null&#x5F15;&#x7528;&#xFF0C;&#x5982;&#x679C; <code>check=&quot;false&quot;</code>&#xFF0C;&#x603B;&#x662F;&#x4F1A;&#x8FD4;&#x56DE;&#x5F15;&#x7528;&#xFF0C;&#x5F53;&#x670D;&#x52A1;&#x6062;&#x590D;&#x65F6;&#xFF0C;&#x80FD;&#x81EA;&#x52A8;&#x8FDE;&#x4E0A;&#x3002;</p>
-</blockquote>
-<p>&#x53EF;&#x4EE5;&#x901A;&#x8FC7; <code>check=&quot;false&quot;</code> &#x5173;&#x95ED;&#x68C0;&#x67E5;&#xFF0C;&#x6BD4;&#x5982;&#xFF0C;&#x6D4B;&#x8BD5;&#x65F6;&#xFF0C;&#x6709;&#x4E9B;&#x670D;&#x52A1;&#x4E0D;&#x5173;&#x5FC3;&#xFF0C;&#x6216;&#x8005;&#x51FA;&#x73B0;&#x4E86;&#x5FAA;&#x73AF;&#x4F9D;&#x8D56;&#xFF0C;&#x5FC5;&#x987B;&#x6709;&#x4E00;&#x65B9;&#x5148;&#x542F;&#x52A8;&#x3002;</p>
-<h5 id="&#x5173;&#x95ED;&#x67D0;&#x4E2A;&#x670D;&#x52A1;&#x7684;&#x542F;&#x52A8;&#x65F6;&#x68C0;&#x67E5;&#xFF1A;">&#x5173;&#x95ED;&#x67D0;&#x4E2A;&#x670D;&#x52A1;&#x7684;&#x542F;&#x52A8;&#x65F6;&#x68C0;&#x67E5;&#xFF1A;</h5>
-<blockquote>
-<p>&#x6CA1;&#x6709;&#x63D0;&#x4F9B;&#x8005;&#x65F6;&#x62A5;&#x9519;</p>
-</blockquote>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">check</span>=<span class="hljs-string">&quot;false&quot;</span> /&gt;</span>
-</code></pre>
-<h5 id="&#x5173;&#x95ED;&#x6240;&#x6709;&#x670D;&#x52A1;&#x7684;&#x542F;&#x52A8;&#x65F6;&#x68C0;&#x67E5;&#xFF1A;">&#x5173;&#x95ED;&#x6240;&#x6709;&#x670D;&#x52A1;&#x7684;&#x542F;&#x52A8;&#x65F6;&#x68C0;&#x67E5;&#xFF1A;</h5>
-<blockquote>
-<p>&#x6CA1;&#x6709;&#x63D0;&#x4F9B;&#x8005;&#x65F6;&#x62A5;&#x9519;</p>
-</blockquote>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:consumer</span> <span class="hljs-attr">check</span>=<span class="hljs-string">&quot;false&quot;</span> /&gt;</span>
-</code></pre>
-<h5 id="&#x5173;&#x95ED;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x542F;&#x52A8;&#x65F6;&#x68C0;&#x67E5;&#xFF1A;">&#x5173;&#x95ED;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x542F;&#x52A8;&#x65F6;&#x68C0;&#x67E5;&#xFF1A;</h5>
-<blockquote>
-<p>&#x6CE8;&#x518C;&#x8BA2;&#x9605;&#x5931;&#x8D25;&#x65F6;&#x62A5;&#x9519;</p>
-</blockquote>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">check</span>=<span class="hljs-string">&quot;false&quot;</span> /&gt;</span>
-</code></pre>
-<h5 id="&#x4E5F;&#x53EF;&#x4EE5;&#x7528;dubboproperties&#x914D;&#x7F6E;">&#x4E5F;&#x53EF;&#x4EE5;&#x7528;dubbo.properties&#x914D;&#x7F6E;</h5>
-<pre><code class="lang-sh">dubbo.reference.com.foo.BarService.check=<span class="hljs-literal">false</span>
-dubbo.reference.check=<span class="hljs-literal">false</span>
-dubbo.consumer.check=<span class="hljs-literal">false</span>
-dubbo.registry.check=<span class="hljs-literal">false</span>
-</code></pre>
-<h5 id="&#x4E5F;&#x53EF;&#x4EE5;&#x7528;-d&#x53C2;&#x6570;">&#x4E5F;&#x53EF;&#x4EE5;&#x7528;-D&#x53C2;&#x6570;</h5>
-<pre><code class="lang-sh">java -Ddubbo.reference.com.foo.BarService.check=<span class="hljs-literal">false</span>
-java -Ddubbo.reference.check=<span class="hljs-literal">false</span>
-java -Ddubbo.consumer.check=<span class="hljs-literal">false</span> 
-java -Ddubbo.registry.check=<span class="hljs-literal">false</span>
-</code></pre>
-<p><strong><img src="../sources/images/warning-3.gif" alt="warning">&#x6CE8;&#x610F;&#x533A;&#x522B;</strong></p>
-<blockquote>
-<ul>
-<li>dubbo.reference.check=false&#xFF0C;&#x5F3A;&#x5236;&#x6539;&#x53D8;&#x6240;&#x6709;reference&#x7684;check&#x503C;&#xFF0C;&#x5C31;&#x7B97;&#x914D;&#x7F6E;&#x4E2D;&#x6709;&#x58F0;&#x660E;&#xFF0C;&#x4E5F;&#x4F1A;&#x88AB;&#x8986;&#x76D6;&#x3002;</li>
-<li>dubbo.consumer.check=false&#xFF0C;&#x662F;&#x8BBE;&#x7F6E;check&#x7684;&#x7F3A;&#x7701;&#x503C;&#xFF0C;&#x5982;&#x679C;&#x914D;&#x7F6E;&#x4E2D;&#x6709;&#x663E;&#x5F0F;&#x7684;&#x58F0;&#x660E;&#xFF0C;&#x5982;&#xFF1A;<code>&lt;dubbo:reference check=&quot;true&quot;/&gt;</code>&#xFF0C;&#x4E0D;&#x4F1A;&#x53D7;&#x5F71;&#x54CD;&#x3002;</li>
-<li>dubbo.registry.check=false&#xFF0C;&#x524D;&#x9762;&#x4E24;&#x4E2A;&#x90FD;&#x662F;&#x6307;&#x8BA2;&#x9605;&#x6210;&#x529F;&#xFF0C;&#x4F46;&#x63D0;&#x4F9B;&#x8005;&#x5217;&#x8868;&#x662F;&#x5426;&#x4E3A;&#x7A7A;&#x662F;&#x5426;&#x62A5;&#x9519;&#xFF0C;&#x5982;&#x679C;&#x6CE8;&#x518C;&#x8BA2;&#x9605;&#x5931;&#x8D25;&#x65F6;&#xFF0C;&#x4E5F;&#x5141;&#x8BB8;&#x542F;&#x52A8;&#xFF0C;&#x9700;&#x4F7F;&#x7528;&#x6B64;&#x9009;&#x9879;&#xFF0C;&#x5C06;&#x5728;&#x540E;&#x53F0;&#x5B9A;&#x65F6;&#x91CD;&#x8BD5;&#x3002;</li>
-</ul>
-</blockquote>
-<p>&#x5F15;&#x7528;&#x7F3A;&#x7701;&#x662F;&#x5EF6;&#x8FDF;&#x521D;&#x59CB;&#x5316;&#x7684;&#xFF0C;&#x53EA;&#x6709;&#x5F15;&#x7528;&#x88AB;&#x6CE8;&#x5165;&#x5230;&#x5176;&#x5B83;Bean&#xFF0C;&#x6216;&#x88AB;getBean()&#x83B7;&#x53D6;&#xFF0C;&#x624D;&#x4F1A;&#x521D;&#x59CB;&#x5316;&#x3002;
-&#x5982;&#x679C;&#x9700;&#x8981;&#x9965;&#x997F;&#x52A0;&#x8F7D;&#xFF0C;&#x5373;&#x6CA1;&#x6709;&#x4EBA;&#x5F15;&#x7528;&#x4E5F;&#x7ACB;&#x5373;&#x751F;&#x6210;&#x52A8;&#x6001;&#x4EE3;&#x7406;&#xFF0C;&#x53EF;&#x4EE5;&#x914D;&#x7F6E;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">init</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                
-                <a href="集群容错.html" class="navigation navigation-next navigation-unique" aria-label="Next page: 4.2 集群容错">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.1 启动时检查","level":"1.5.1","depth":2,"next":{"title":"4.2 集群容错","level":"1.5.2","depth":2,"path":"demos/集群容错.md","ref":"demos/集群容错.md","articles":[]},"previous":{"title":"4 示例","level":"1.5","depth":1,"ref":"","articles":[{"title":"4.1 启动时检查","level":"1.5.1","depth":2,"path":"demos/启动时检查.md","ref":"demos/启动时检查.md","articles":[]},{"title":"4.2 集群容错","level":"1.5.2","depth":2,"path":"demos/集群容错.md","ref":"demos/集群容错.md","articles":[]},{"title":"4.3 负载均衡","level":"1.5.3","depth":2,"path":"demos/负载均衡.md","ref":"demos/负载均衡.md","articles":[]},{"title":"4.4 线程模型","level":"1.5.4","depth":2,"path":"demos/线程模型.md","ref":"demos/线程模型.md","articles":[]},{"title":"4.5 直连提供者","level":"1.5.5","depth":2,"path":"demos/直连提供者.md","ref":"demos/直连提供者.md","articles":[]},{"title":"4.6 只订阅","level":"1.5.6","depth":2,"path":"demos/只订阅.md","ref":"demos/只订阅.md","articles":[]},{"title":"4.7 只注册","level":"1.5.7","depth":2,"path":"demos/只注册.md","ref":"demos/只注册.md","articles":[]},{"title":"4.8 静态服务","level":"1.5.8","depth":2,"path":"demos/静态服务.md","ref":"demos/静态服务.md","articles":[]},{"title":"4.9 多协议","level":"1.5.9","depth":2,"path":"demos/多协议.md","ref":"demos/多协议.md","articles":[]},{"title":"4.10 多注册中心","level":"1.5.10","depth":2,"path":"demos/多注册中心.md","ref":"demos/多注册中心.md","articles":[]},{"title":"4.11 服务分组","level":"1.5.11","depth":2,"path":"demos/服务分组.md","ref":"demos/服务分组.md","articles":[]},{"title":"4.13 多版本","level":"1.5.12","depth":2,"path":"demos/多版本.md","ref":"demos/多版本.md","articles":[]},{"title":"4.14 分组聚合","level":"1.5.13","depth":2,"path":"demos/分组聚合.md","ref":"demos/分组聚合.md","articles":[]},{"title":"4.15 参数验证","level":"1.5.14","depth":2,"path":"demos/参数验证.md","ref":"demos/参数验证.md","articles":[]},{"title":"4.16 结果缓存","level":"1.5.15","depth":2,"path":"demos/结果缓存.md","ref":"demos/结果缓存.md","articles":[]},{"title":"4.17 泛化引用","level":"1.5.16","depth":2,"path":"demos/泛化引用.md","ref":"demos/泛化引用.md","articles":[]},{"title":"4.18 泛化实现","level":"1.5.17","depth":2,"path":"demos/泛化实现.md","ref":"demos/泛化实现.md","articles":[]},{"title":"4.19 回声测试","level":"1.5.18","depth":2,"path":"demos/回声测试.md","ref":"demos/回声测试.md","articles":[]},{"title":"4.20 上下文信息","level":"1.5.19","depth":2,"path":"demos/上下文信息.md","ref":"demos/上下文信息.md","articles":[]},{"title":"4.21 隐式参数","level":"1.5.20","depth":2,"path":"demos/隐式传参.md","ref":"demos/隐式传参.md","articles":[]},{"title":"4.22 异步调用","level":"1.5.21","depth":2,"path":"demos/异步调用.md","ref":"demos/异步调用.md","articles":[]},{"title":"4.23 本地调用","level":"1.5.22","depth":2,"path":"demos/本地调用.md","ref":"demos/本地调用.md","articles":[]},{"title":"4.24 参数回调","level":"1.5.23","depth":2,"path":"demos/参数回调.md","ref":"demos/参数回调.md","articles":[]},{"title":"4.25 事件通知","level":"1.5.24","depth":2,"path":"demos/事件通知.md","ref":"demos/事件通知.md","articles":[]},{"title":"4.26 本地存根","level":"1.5.25","depth":2,"path":"demos/本地存根.md","ref":"demos/本地存根.md","articles":[]},{"title":"4.27 本地伪装","level":"1.5.26","depth":2,"path":"demos/本地伪装.md","ref":"demos/本地伪装.md","articles":[]},{"title":"4.28 延迟暴露","level":"1.5.27","depth":2,"path":"demos/延迟暴露.md","ref":"demos/延迟暴露.md","articles":[]},{"title":"4.29 并发控制","level":"1.5.28","depth":2,"path":"demos/并发控制.md","ref":"demos/并发控制.md","articles":[]},{"title":"4.30 连接控制","level":"1.5.29","depth":2,"path":"demos/连接控制.md","ref":"demos/连接控制.md","articles":[]},{"title":"4.31 延迟连接","level":"1.5.30","depth":2,"path":"demos/延迟连接.md","ref":"demos/延迟连接.md","articles":[]},{"title":"4.32 粘滞连接","level":"1.5.31","depth":2,"path":"demos/粘滞连接.md","ref":"demos/粘滞连接.md","articles":[]},{"title":"4.33 令牌验证","level":"1.5.32","depth":2,"path":"demos/令牌验证.md","ref":"demos/令牌验证.md","articles":[]},{"title":"4.34 路由规则","level":"1.5.33","depth":2,"path":"demos/路由规则.md","ref":"demos/路由规则.md","articles":[]},{"title":"4.35 配置规则","level":"1.5.34","depth":2,"path":"demos/配置规则.md","ref":"demos/配置规则.md","articles":[]},{"title":"4.36 服务降级","level":"1.5.35","depth":2,"path":"demos/服务降级.md","ref":"demos/服务降级.md","articles":[]},{"title":"4.37 优雅停机","level":"1.5.36","depth":2,"path":"demos/优雅停机.md","ref":"demos/优雅停机.md","articles":[]},{"title":"4.38 主机绑定","level":"1.5.37","depth":2,"path":"demos/主机绑定.md","ref":"demos/主机绑定.md","articles":[]},{"title":"4.39 日志适配","level":"1.5.38","depth":2,"path":"demos/日志适配.md","ref":"demos/日志适配.md","articles":[]},{"title":"4.40 访问日志","level":"1.5.39","depth":2,"path":"demos/访问日志.md","ref":"demos/访问日志.md","articles":[]},{"title":"4.41 服务容器","level":"1.5.40","depth":2,"path":"demos/服务容器.md","ref":"demos/服务容器.md","articles":[]},{"title":"4.42 Reference Config缓存","level":"1.5.41","depth":2,"path":"demos/ReferenceConfig缓存.md","ref":"demos/ReferenceConfig缓存.md","articles":[]},{"title":"4.43 分布式事务","level":"1.5.42","depth":2,"path":"demos/分布式事务.md","ref":"demos/分布式事务.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/启动时检查.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\345\233\236\345\243\260\346\265\213\350\257\225.html" "b/user-guide/demos/\345\233\236\345\243\260\346\265\213\350\257\225.html"
deleted file mode 100644
index c962218..0000000
--- "a/user-guide/demos/\345\233\236\345\243\260\346\265\213\350\257\225.html"
+++ /dev/null
@@ -1,1481 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.19 回声测试 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="上下文信息.html" />
-    
-    
-    <link rel="prev" href="泛化实现.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.19 回声测试</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x56DE;&#x58F0;&#x6D4B;&#x8BD5;&#x7528;&#x4E8E;&#x68C0;&#x6D4B;&#x670D;&#x52A1;&#x662F;&#x5426;&#x53EF;&#x7528;&#xFF0C;&#x56DE;&#x58F0;&#x6D4B;&#x8BD5;&#x6309;&#x7167;&#x6B63;&#x5E38;&#x8BF7;&#x6C42;&#x6D41;&#x7A0B;&#x6267;&#x884C;&#xFF0C;&#x80FD;&#x591F;&#x6D4B;&#x8BD5;&#x6574;&#x4E2A;&#x8C03;&#x7528;&#x662F;&#x5426;&#x901A;&#x7545;&#xFF0C;&#x53EF;&#x7528;&#x4E8E;&#x76D1;&#x63A7;&#x3002;</p>
-<p><img src="../sources/images/check.gif" alt="warning">&#x6240;&#x6709;&#x670D;&#x52A1;&#x81EA;&#x52A8;&#x5B9E;&#x73B0;EchoService&#x63A5;&#x53E3;&#xFF0C;&#x53EA;&#x9700;&#x5C06;&#x4EFB;&#x610F;&#x670D;&#x52A1;&#x5F15;&#x7528;&#x5F3A;&#x5236;&#x8F6C;&#x578B;&#x4E3A;EchoService&#xFF0C;&#x5373;&#x53EF;&#x4F7F;&#x7528;&#x3002;</p>
-</blockquote>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;memberService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.xxx.MemberService&quot;</span> /&gt;</span>
-</code></pre>
-<pre><code class="lang-java">MemberService memberService = ctx.getBean(<span class="hljs-string">&quot;memberService&quot;</span>); <span class="hljs-comment">// &#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x5F15;&#x7528;</span>
-
-EchoService echoService = (EchoService) memberService; <span class="hljs-comment">// &#x5F3A;&#x5236;&#x8F6C;&#x578B;&#x4E3A;EchoService</span>
-
-String status = echoService.$echo(<span class="hljs-string">&quot;OK&quot;</span>); <span class="hljs-comment">// &#x56DE;&#x58F0;&#x6D4B;&#x8BD5;&#x53EF;&#x7528;&#x6027;</span>
-
-<span class="hljs-keyword">assert</span>(status.equals(<span class="hljs-string">&quot;OK&quot;</span>));
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="泛化实现.html" class="navigation navigation-prev " aria-label="Previous page: 4.18 泛化实现">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="上下文信息.html" class="navigation navigation-next " aria-label="Next page: 4.20 上下文信息">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.19 回声测试","level":"1.5.18","depth":2,"next":{"title":"4.20 上下文信息","level":"1.5.19","depth":2,"path":"demos/上下文信息.md","ref":"demos/上下文信息.md","articles":[]},"previous":{"title":"4.18 泛化实现","level":"1.5.17","depth":2,"path":"demos/泛化实现.md","ref":"demos/泛化实现.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/回声测试.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\345\244\232\345\215\217\350\256\256.html" "b/user-guide/demos/\345\244\232\345\215\217\350\256\256.html"
deleted file mode 100644
index d9ee894..0000000
--- "a/user-guide/demos/\345\244\232\345\215\217\350\256\256.html"
+++ /dev/null
@@ -1,1510 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.9 多协议 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="多注册中心.html" />
-    
-    
-    <link rel="prev" href="静态服务.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.9 多协议</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x53EF;&#x4EE5;&#x81EA;&#x884C;&#x6269;&#x5C55;&#x534F;&#x8BAE;&#xFF0C;&#x53C2;&#x89C1;&#xFF1A;<a href="http://dubbo.io/developer-guide/SPI%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C/%E5%8D%8F%E8%AE%AE%E6%89%A9%E5%B1%95.html" target="_blank">&#x534F;&#x8BAE;&#x6269;&#x5C55;</a></p>
-<h5 id="1-&#x4E0D;&#x540C;&#x670D;&#x52A1;&#x4E0D;&#x540C;&#x534F;&#x8BAE;">(1) &#x4E0D;&#x540C;&#x670D;&#x52A1;&#x4E0D;&#x540C;&#x534F;&#x8BAE;</h5>
-<p>&#x6BD4;&#x5982;&#xFF1A;&#x4E0D;&#x540C;&#x670D;&#x52A1;&#x5728;&#x6027;&#x80FD;&#x4E0A;&#x9002;&#x7528;&#x4E0D;&#x540C;&#x534F;&#x8BAE;&#x8FDB;&#x884C;&#x4F20;&#x8F93;&#xFF0C;&#x6BD4;&#x5982;&#x5927;&#x6570;&#x636E;&#x7528;&#x77ED;&#x8FDE;&#x63A5;&#x534F;&#x8BAE;&#xFF0C;&#x5C0F;&#x6570;&#x636E;&#x5927;&#x5E76;&#x53D1;&#x7528;&#x957F;&#x8FDE;&#x63A5;&#x534F;&#x8BAE;</p>
-<p><strong>consumer.xml</strong></p>
-<pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
-<span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
-    <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
-
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</span>  /&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;registry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> <span class="hljs-attr">username</span>=<span class="hljs-string">&quot;admin&quot;</span> <span class="hljs-attr">password</span>=<span class="hljs-string">&quot;hello1234&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x591A;&#x534F;&#x8BAE;&#x914D;&#x7F6E; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;20880&quot;</span> /&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;rmi&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;1099&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x4F7F;&#x7528;dubbo&#x534F;&#x8BAE;&#x66B4;&#x9732;&#x670D;&#x52A1; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.hello.api.HelloService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">&quot;helloService&quot;</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;dubbo&quot;</span> /&gt;</span>
-    <span class="hljs-comment">&lt;!-- &#x4F7F;&#x7528;rmi&#x534F;&#x8BAE;&#x66B4;&#x9732;&#x670D;&#x52A1; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.hello.api.DemoService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">&quot;demoService&quot;</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;rmi&quot;</span> /&gt;</span> 
-<span class="hljs-tag">&lt;/<span class="hljs-name">beans</span>&gt;</span>
-</code></pre>
-<h5 id="2-&#x591A;&#x534F;&#x8BAE;&#x66B4;&#x9732;&#x670D;&#x52A1;">(2) &#x591A;&#x534F;&#x8BAE;&#x66B4;&#x9732;&#x670D;&#x52A1;</h5>
-<p>&#x6BD4;&#x5982;&#xFF1A;&#x9700;&#x8981;&#x4E0E;http&#x5BA2;&#x6237;&#x7AEF;&#x4E92;&#x64CD;&#x4F5C;</p>
-<p><strong>consumer.xml</strong></p>
-<pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
-<span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
-    <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
-
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</span>  /&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;registry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> <span class="hljs-attr">username</span>=<span class="hljs-string">&quot;admin&quot;</span> <span class="hljs-attr">password</span>=<span class="hljs-string">&quot;hello1234&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x591A;&#x534F;&#x8BAE;&#x914D;&#x7F6E; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;20880&quot;</span> /&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;hessian&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;8080&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x4F7F;&#x7528;&#x591A;&#x4E2A;&#x534F;&#x8BAE;&#x66B4;&#x9732;&#x670D;&#x52A1; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;helloService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.hello.api.HelloService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;dubbo,hessian&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">beans</span>&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="静态服务.html" class="navigation navigation-prev " aria-label="Previous page: 4.8 静态服务">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="多注册中心.html" class="navigation navigation-next " aria-label="Next page: 4.10 多注册中心">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.9 多协议","level":"1.5.9","depth":2,"next":{"title":"4.10 多注册中心","level":"1.5.10","depth":2,"path":"demos/多注册中心.md","ref":"demos/多注册中心.md","articles":[]},"previous":{"title":"4.8 静态服务","level":"1.5.8","depth":2,"path":"demos/静态服务.md","ref":"demos/静态服务.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/多协议.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\345\244\232\346\263\250\345\206\214\344\270\255\345\277\203.html" "b/user-guide/demos/\345\244\232\346\263\250\345\206\214\344\270\255\345\277\203.html"
deleted file mode 100644
index 0fa5e77..0000000
--- "a/user-guide/demos/\345\244\232\346\263\250\345\206\214\344\270\255\345\277\203.html"
+++ /dev/null
@@ -1,1549 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.10 多注册中心 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="服务分组.html" />
-    
-    
-    <link rel="prev" href="多协议.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.10 多注册中心</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x53EF;&#x4EE5;&#x81EA;&#x884C;&#x6269;&#x5C55;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x53C2;&#x89C1;&#xFF1A;<a href="http://dubbo.io/developer-guide/SPI%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C/%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E6%89%A9%E5%B1%95.html" target="_blank">&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6269;&#x5C55;</a></p>
-<h5 id="1-&#x591A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6CE8;&#x518C;">(1) &#x591A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6CE8;&#x518C;</h5>
-<p>&#x6BD4;&#x5982;&#xFF1A;&#x4E2D;&#x6587;&#x7AD9;&#x6709;&#x4E9B;&#x670D;&#x52A1;&#x6765;&#x4E0D;&#x53CA;&#x5728;&#x9752;&#x5C9B;&#x90E8;&#x7F72;&#xFF0C;&#x53EA;&#x5728;&#x676D;&#x5DDE;&#x90E8;&#x7F72;&#xFF0C;&#x800C;&#x9752;&#x5C9B;&#x7684;&#x5176;&#x5B83;&#x5E94;&#x7528;&#x9700;&#x8981;&#x5F15;&#x7528;&#x6B64;&#x670D;&#x52A1;&#xFF0C;&#x5C31;&#x53EF;&#x4EE5;&#x5C06;&#x670D;&#x52A1;&#x540C;&#x65F6;&#x6CE8;&#x518C;&#x5230;&#x4E24;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x3002;</p>
-<p><strong>consumer.xml</strong></p>
-<pre><code class="lang-xml">
-<span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
-<span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
-    <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
-
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</span>  /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x591A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;hangzhouRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> /&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;qingdaoRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.151:9010&quot;</span> <span class="hljs-attr">default</span>=<span class="hljs-string">&quot;false&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x5411;&#x591A;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6CE8;&#x518C; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.hello.api.HelloService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">&quot;helloService&quot;</span> <span class="hljs-attr">registry</span>=<span class="hljs-string">&quot;hangzhouRegistry,qingdaoRegistry&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">beans</span>&gt;</span>
-</code></pre>
-<h5 id="2-&#x4E0D;&#x540C;&#x670D;&#x52A1;&#x4F7F;&#x7528;&#x4E0D;&#x540C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;">(2) &#x4E0D;&#x540C;&#x670D;&#x52A1;&#x4F7F;&#x7528;&#x4E0D;&#x540C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;</h5>
-<p>&#x6BD4;&#x5982;&#xFF1A;CRM&#x6709;&#x4E9B;&#x670D;&#x52A1;&#x662F;&#x4E13;&#x95E8;&#x4E3A;&#x56FD;&#x9645;&#x7AD9;&#x8BBE;&#x8BA1;&#x7684;&#xFF0C;&#x6709;&#x4E9B;&#x670D;&#x52A1;&#x662F;&#x4E13;&#x95E8;&#x4E3A;&#x4E2D;&#x6587;&#x7AD9;&#x8BBE;&#x8BA1;&#x7684;&#x3002;</p>
-<p><strong>consumer.xml</strong></p>
-<pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
-<span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
-    <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
-
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</span>  /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x591A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;chinaRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> /&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;intlRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.154.177:9010&quot;</span> <span class="hljs-attr">default</span>=<span class="hljs-string">&quot;false&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x5411;&#x4E2D;&#x6587;&#x7AD9;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6CE8;&#x518C; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.hello.api.HelloService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">&quot;helloService&quot;</span> <span class="hljs-attr">registry</span>=<span class="hljs-string">&quot;chinaRegistry&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x5411;&#x56FD;&#x9645;&#x7AD9;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6CE8;&#x518C; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.hello.api.DemoService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">&quot;demoService&quot;</span> <span class="hljs-attr">registry</span>=<span class="hljs-string">&quot;intlRegistry&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">beans</span>&gt;</span>
-</code></pre>
-<h5 id="3-&#x591A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5F15;&#x7528;">(3) &#x591A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5F15;&#x7528;</h5>
-<p>&#x6BD4;&#x5982;&#xFF1A;CRM&#x9700;&#x540C;&#x65F6;&#x8C03;&#x7528;&#x4E2D;&#x6587;&#x7AD9;&#x548C;&#x56FD;&#x9645;&#x7AD9;&#x7684;PC2&#x670D;&#x52A1;&#xFF0C;PC2&#x5728;&#x4E2D;&#x6587;&#x7AD9;&#x548C;&#x56FD;&#x9645;&#x7AD9;&#x5747;&#x6709;&#x90E8;&#x7F72;&#xFF0C;&#x63A5;&#x53E3;&#x53CA;&#x7248;&#x672C;&#x53F7;&#x90FD;&#x4E00;&#x6837;&#xFF0C;&#x4F46;&#x8FDE;&#x7684;&#x6570;&#x636E;&#x5E93;&#x4E0D;&#x4E00;&#x6837;&#x3002;</p>
-<p><strong>consumer.xml</strong></p>
-<pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
-<span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
-    <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
-
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</span>  /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x591A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;chinaRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> /&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;intlRegistry&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.154.177:9010&quot;</span> <span class="hljs-attr">default</span>=<span class="hljs-string">&quot;false&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x5F15;&#x7528;&#x4E2D;&#x6587;&#x7AD9;&#x670D;&#x52A1; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;chinaHelloService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.hello.api.HelloService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> <span class="hljs-attr">registry</span>=<span class="hljs-string">&quot;chinaRegistry&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x5F15;&#x7528;&#x56FD;&#x9645;&#x7AD9;&#x7AD9;&#x670D;&#x52A1; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;intlHelloService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.hello.api.HelloService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> <span class="hljs-attr">registry</span>=<span class="hljs-string">&quot;intlRegistry&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">beans</span>&gt;</span>
-</code></pre>
-<p>&#x5982;&#x679C;&#x53EA;&#x662F;&#x6D4B;&#x8BD5;&#x73AF;&#x5883;&#x4E34;&#x65F6;&#x9700;&#x8981;&#x8FDE;&#x63A5;&#x4E24;&#x4E2A;&#x4E0D;&#x540C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x4F7F;&#x7528;&#x7AD6;&#x53F7;&#x5206;&#x9694;&#x591A;&#x4E2A;&#x4E0D;&#x540C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5730;&#x5740;&#xFF1A;</p>
-<p><strong>consumer.xml</strong></p>
-<pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
-<span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
-    <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
-
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;world&quot;</span>  /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x591A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E;&#xFF0C;&#x7AD6;&#x53F7;&#x5206;&#x9694;&#x8868;&#x793A;&#x540C;&#x65F6;&#x8FDE;&#x63A5;&#x591A;&#x4E2A;&#x4E0D;&#x540C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x540C;&#x4E00;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x591A;&#x4E2A;&#x96C6;&#x7FA4;&#x5730;&#x5740;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090|10.20.154.177:9010&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x5F15;&#x7528;&#x670D;&#x52A1; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;helloService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.hello.api.HelloService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">beans</span>&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="多协议.html" class="navigation navigation-prev " aria-label="Previous page: 4.9 多协议">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="服务分组.html" class="navigation navigation-next " aria-label="Next page: 4.11 服务分组">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.10 多注册中心","level":"1.5.10","depth":2,"next":{"title":"4.11 服务分组","level":"1.5.11","depth":2,"path":"demos/服务分组.md","ref":"demos/服务分组.md","articles":[]},"previous":{"title":"4.9 多协议","level":"1.5.9","depth":2,"path":"demos/多协议.md","ref":"demos/多协议.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/多注册中心.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\345\244\232\347\211\210\346\234\254.html" "b/user-guide/demos/\345\244\232\347\211\210\346\234\254.html"
deleted file mode 100644
index 5d75fd7..0000000
--- "a/user-guide/demos/\345\244\232\347\211\210\346\234\254.html"
+++ /dev/null
@@ -1,1490 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.13 多版本 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="分组聚合.html" />
-    
-    
-    <link rel="prev" href="服务分组.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.13 多版本</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x5F53;&#x4E00;&#x4E2A;&#x63A5;&#x53E3;&#x5B9E;&#x73B0;&#xFF0C;&#x51FA;&#x73B0;&#x4E0D;&#x517C;&#x5BB9;&#x5347;&#x7EA7;&#x65F6;&#xFF0C;&#x53EF;&#x4EE5;&#x7528;&#x7248;&#x672C;&#x53F7;&#x8FC7;&#x6E21;&#xFF0C;&#x7248;&#x672C;&#x53F7;&#x4E0D;&#x540C;&#x7684;&#x670D;&#x52A1;&#x76F8;&#x4E92;&#x95F4;&#x4E0D;&#x5F15;&#x7528;&#x3002;</p>
-</blockquote>
-<ul>
-<li>&#x5728;&#x4F4E;&#x538B;&#x529B;&#x65F6;&#x95F4;&#x6BB5;&#xFF0C;&#x5148;&#x5347;&#x7EA7;&#x4E00;&#x534A;&#x63D0;&#x4F9B;&#x8005;&#x4E3A;&#x65B0;&#x7248;&#x672C;</li>
-<li>&#x518D;&#x5C06;&#x6240;&#x6709;&#x6D88;&#x8D39;&#x8005;&#x5347;&#x7EA7;&#x4E3A;&#x65B0;&#x7248;&#x672C;</li>
-<li>&#x7136;&#x540E;&#x5C06;&#x5269;&#x4E0B;&#x7684;&#x4E00;&#x534A;&#x63D0;&#x4F9B;&#x8005;&#x5347;&#x7EA7;&#x4E3A;&#x65B0;&#x7248;&#x672C;</li>
-</ul>
-<p><strong>&#x8001;&#x7248;&#x672C;&#x670D;&#x52A1;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> /&gt;</span>
-</code></pre>
-<p><strong>&#x65B0;&#x7248;&#x672C;&#x670D;&#x52A1;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;2.0.0&quot;</span> /&gt;</span>
-</code></pre>
-<p><strong>&#x5F15;&#x7528;&#x8001;&#x7248;&#x672C;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;barService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> /&gt;</span>
-</code></pre>
-<p><strong>&#x5F15;&#x7528;&#x65B0;&#x7248;&#x672C;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;barService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;2.0.0&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x4E0D;&#x533A;&#x5206;&#x7248;&#x672C;&#xFF1A;(2.2.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;)</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;barService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;*&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="服务分组.html" class="navigation navigation-prev " aria-label="Previous page: 4.11 服务分组">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="分组聚合.html" class="navigation navigation-next " aria-label="Next page: 4.14 分组聚合">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.13 多版本","level":"1.5.12","depth":2,"next":{"title":"4.14 分组聚合","level":"1.5.13","depth":2,"path":"demos/分组聚合.md","ref":"demos/分组聚合.md","articles":[]},"previous":{"title":"4.11 服务分组","level":"1.5.11","depth":2,"path":"demos/服务分组.md","ref":"demos/服务分组.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/多版本.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\345\271\266\345\217\221\346\216\247\345\210\266.html" "b/user-guide/demos/\345\271\266\345\217\221\346\216\247\345\210\266.html"
deleted file mode 100644
index 0db5fc8..0000000
--- "a/user-guide/demos/\345\271\266\345\217\221\346\216\247\345\210\266.html"
+++ /dev/null
@@ -1,1499 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.29 并发控制 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="连接控制.html" />
-    
-    
-    <link rel="prev" href="延迟暴露.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.29 并发控制</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x9650;&#x5236;com.foo.BarService&#x7684;&#x6BCF;&#x4E2A;&#x65B9;&#x6CD5;&#xFF0C;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x5E76;&#x53D1;&#x6267;&#x884C;&#xFF08;&#x6216;&#x5360;&#x7528;&#x7EBF;&#x7A0B;&#x6C60;&#x7EBF;&#x7A0B;&#x6570;&#xFF09;&#x4E0D;&#x80FD;&#x8D85;&#x8FC7;10&#x4E2A;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">executes</span>=<span class="hljs-string">&quot;10&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x9650;&#x5236;com.foo.BarService&#x7684;sayHello&#x65B9;&#x6CD5;&#xFF0C;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x5E76;&#x53D1;&#x6267;&#x884C;&#xFF08;&#x6216;&#x5360;&#x7528;&#x7EBF;&#x7A0B;&#x6C60;&#x7EBF;&#x7A0B;&#x6570;&#xFF09;&#x4E0D;&#x80FD;&#x8D85;&#x8FC7;10&#x4E2A;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;sayHello&quot;</span> <span class="hljs-attr">executes</span>=<span class="hljs-string">&quot;10&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:service</span>&gt;</span>
-</code></pre>
-<p>&#x9650;&#x5236;com.foo.BarService&#x7684;&#x6BCF;&#x4E2A;&#x65B9;&#x6CD5;&#xFF0C;&#x6BCF;&#x5BA2;&#x6237;&#x7AEF;&#x5E76;&#x53D1;&#x6267;&#x884C;&#xFF08;&#x6216;&#x5360;&#x7528;&#x8FDE;&#x63A5;&#x7684;&#x8BF7;&#x6C42;&#x6570;&#xFF09;&#x4E0D;&#x80FD;&#x8D85;&#x8FC7;10&#x4E2A;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">actives</span>=<span class="hljs-string">&quot;10&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">actives</span>=<span class="hljs-string">&quot;10&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x9650;&#x5236;com.foo.BarService&#x7684;sayHello&#x65B9;&#x6CD5;&#xFF0C;&#x6BCF;&#x5BA2;&#x6237;&#x7AEF;&#x5E76;&#x53D1;&#x6267;&#x884C;&#xFF08;&#x6216;&#x5360;&#x7528;&#x8FDE;&#x63A5;&#x7684;&#x8BF7;&#x6C42;&#x6570;&#xFF09;&#x4E0D;&#x80FD;&#x8D85;&#x8FC7;10&#x4E2A;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;sayHello&quot;</span> <span class="hljs-attr">actives</span>=<span class="hljs-string">&quot;10&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:service</span>&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;sayHello&quot;</span> <span class="hljs-attr">actives</span>=<span class="hljs-string">&quot;10&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:service</span>&gt;</span>
-</code></pre>
-<p>&#x5982;&#x679C; <code>&lt;dubbo:service&gt;</code> &#x548C; <code>&lt;dubbo:reference&gt;</code> &#x90FD;&#x914D;&#x4E86;actives&#xFF0C;<code>&lt;dubbo:reference&gt;</code> &#x4F18;&#x5148;&#xFF0C;&#x53C2;&#x89C1;&#xFF1A;<a href="user-guide-configuration#&#x914D;&#x7F6E;&#x8986;&#x76D6;">&#x914D;&#x7F6E;&#x7684;&#x8986;&#x76D6;&#x7B56;&#x7565;</a>&#x3002;</p>
-<h4 id="load-balance-&#x5747;&#x8861;">Load Balance &#x5747;&#x8861;</h4>
-<p>&#x914D;&#x7F6E;&#x670D;&#x52A1;&#x7684;&#x5BA2;&#x6237;&#x7AEF;&#x7684;loadbalance&#x5C5E;&#x6027;&#x4E3A;leastactive&#xFF0C;&#x6B64;Loadbalance&#x4F1A;&#x8C03;&#x7528;&#x5E76;&#x53D1;&#x6570;&#x6700;&#x5C0F;&#x7684;Provider&#xFF08;Consumer&#x7AEF;&#x5E76;&#x53D1;&#x6570;&#xFF09;&#x3002;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">loadbalance</span>=<span class="hljs-string">&quot;leastactive&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">loadbalance</span>=<span class="hljs-string">&quot;leastactive&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="延迟暴露.html" class="navigation navigation-prev " aria-label="Previous page: 4.28 延迟暴露">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="连接控制.html" class="navigation navigation-next " aria-label="Next page: 4.30 连接控制">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.29 并发控制","level":"1.5.28","depth":2,"next":{"title":"4.30 连接控制","level":"1.5.29","depth":2,"path":"demos/连接控制.md","ref":"demos/连接控制.md","articles":[]},"previous":{"title":"4.28 延迟暴露","level":"1.5.27","depth":2,"path":"demos/延迟暴露.md","ref":"demos/延迟暴露.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/并发控制.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\345\273\266\350\277\237\346\232\264\351\234\262.html" "b/user-guide/demos/\345\273\266\350\277\237\346\232\264\351\234\262.html"
deleted file mode 100644
index fa96108..0000000
--- "a/user-guide/demos/\345\273\266\350\277\237\346\232\264\351\234\262.html"
+++ /dev/null
@@ -1,1489 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.28 延迟暴露 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="并发控制.html" />
-    
-    
-    <link rel="prev" href="本地伪装.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.28 延迟暴露</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x5982;&#x679C;&#x4F60;&#x7684;&#x670D;&#x52A1;&#x9700;&#x8981;warmup&#x65F6;&#x95F4;&#xFF0C;&#x6BD4;&#x5982;&#x521D;&#x59CB;&#x5316;&#x7F13;&#x5B58;&#xFF0C;&#x7B49;&#x5F85;&#x76F8;&#x5173;&#x8D44;&#x6E90;&#x5C31;&#x4F4D;&#x7B49;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;delay&#x8FDB;&#x884C;&#x5EF6;&#x8FDF;&#x66B4;&#x9732;&#x3002;</p>
-</blockquote>
-<p>&#x5EF6;&#x8FDF;5&#x79D2;&#x66B4;&#x9732;&#x670D;&#x52A1;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">delay</span>=<span class="hljs-string">&quot;5000&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x5EF6;&#x8FDF;&#x5230;Spring&#x521D;&#x59CB;&#x5316;&#x5B8C;&#x6210;&#x540E;&#xFF0C;&#x518D;&#x66B4;&#x9732;&#x670D;&#x52A1;&#xFF1A;(&#x57FA;&#x4E8E;Spring&#x7684;ContextRefreshedEvent&#x4E8B;&#x4EF6;&#x89E6;&#x53D1;&#x66B4;&#x9732;)</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">delay</span>=<span class="hljs-string">&quot;-1&quot;</span> /&gt;</span>
-</code></pre>
-<blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning"><strong>Spring2.x&#x521D;&#x59CB;&#x5316;&#x6B7B;&#x9501;&#x95EE;&#x9898;</strong></p>
-<p>!&#x5728;Spring&#x89E3;&#x6790;&#x5230;<dubbo:service>&#x65F6;&#xFF0C;&#x5C31;&#x5DF2;&#x7ECF;&#x5411;&#x5916;&#x66B4;&#x9732;&#x4E86;&#x670D;&#x52A1;&#xFF0C;&#x800C;Spring&#x8FD8;&#x5728;&#x63A5;&#x7740;&#x521D;&#x59CB;&#x5316;&#x5176;&#x5B83;Bean&#x3002;<br>!&#x5982;&#x679C;&#x8FD9;&#x65F6;&#x6709;&#x8BF7;&#x6C42;&#x8FDB;&#x6765;&#xFF0C;&#x5E76;&#x4E14;&#x670D;&#x52A1;&#x7684;&#x5B9E;&#x73B0;&#x7C7B;&#x91CC;&#x6709;&#x8C03;&#x7528;applicationContext.getBean()&#x7684;&#x7528;&#x6CD5;&#x3002;</dubbo:service></p>
-<p>!1. &#x8BF7;&#x6C42;&#x7EBF;&#x7A0B;&#x7684;applicationContext.getBean()&#x8C03;&#x7528;&#xFF0C;&#x5148;&#x540C;&#x6B65;singletonObjects&#x5224;&#x65AD;Bean&#x662F;&#x5426;&#x5B58;&#x5728;&#xFF0C;&#x4E0D;&#x5B58;&#x5728;&#x5C31;&#x540C;&#x6B65;beanDefinitionMap&#x8FDB;&#x884C;&#x521D;&#x59CB;&#x5316;&#xFF0C;&#x5E76;&#x518D;&#x6B21;&#x540C;&#x6B65;singletonObjects&#x5199;&#x5165;Bean&#x5B9E;&#x4F8B;&#x7F13;&#x5B58;&#x3002;<br><img src="../sources/images/lock-get-bean.jpg" alt="deadlock"><br>2. &#x800C;Spring&#x521D;&#x59CB;&#x5316;&#x7EBF;&#x7A0B;&#xFF0C;&#x56E0;&#x4E0D;&#x9700;&#x8981;&#x5224;&#x65AD;Bean&#x7684;&#x5B58;&#x5728;&#xFF0C;&#x76F4;&#x63A5;&#x540C;&#x6B65;beanDefinitionMap&#x8FDB;&#x884C;&#x521D;&#x59CB;&#x5316;&#xFF0C;&#x5E76;&#x540C;&#x6B65;singletonObjects&#x5199;&#x5165;Bean&#x5B9E;&#x4F8B;&#x7F13;&#x5B58;&#x3002;<br><img src="../sources/images/lock-init-context.jpg" alt="/user-guide/images/lock-init-context.jpg">  </p>
-<p>&#x8FD9;&#x6837;&#x5C31;&#x5BFC;&#x81F4;getBean&#x7EBF;&#x7A0B;&#xFF0C;&#x5148;&#x9501;singletonObjects&#xFF0C;&#x518D;&#x9501;beanDefinitionMap&#xFF0C;&#x518D;&#x6B21;&#x9501;singletonObjects&#x3002;<br>&#x800C;Spring&#x521D;&#x59CB;&#x5316;&#x7EBF;&#x7A0B;&#xFF0C;&#x5148;&#x9501;beanDefinitionMap&#xFF0C;&#x518D;&#x9501;singletonObjects&#x3002;&#x53CD;&#x5411;&#x9501;&#x5BFC;&#x81F4;&#x7EBF;&#x7A0B;&#x6B7B;&#x9501;&#xFF0C;&#x4E0D;&#x80FD;&#x63D0;&#x4F9B;&#x670D;&#x52A1;&#xFF0C;&#x542F;&#x52A8;&#x4E0D;&#x4E86;&#x3002;  </p>
-<p><img src="../sources/images/check.gif" alt="warning"><strong>&#x89C4;&#x907F;&#x529E;&#x6CD5;</strong></p>
-<ol>
-<li>&#x5F3A;&#x70C8;&#x5EFA;&#x8BAE;&#x4E0D;&#x8981;&#x5728;&#x670D;&#x52A1;&#x7684;&#x5B9E;&#x73B0;&#x7C7B;&#x4E2D;&#x6709;applicationContext.getBean()&#x7684;&#x8C03;&#x7528;&#xFF0C;&#x5168;&#x90E8;&#x91C7;&#x7528;IoC&#x6CE8;&#x5165;&#x7684;&#x65B9;&#x5F0F;&#x4F7F;&#x7528;Spring&#x7684;Bean&#x3002;</li>
-<li>&#x5982;&#x679C;&#x5B9E;&#x5728;&#x8981;&#x8C03;getBean()&#xFF0C;&#x53EF;&#x4EE5;&#x5C06;Dubbo&#x7684;&#x914D;&#x7F6E;&#x653E;&#x5728;Spring&#x7684;&#x6700;&#x540E;&#x52A0;&#x8F7D;&#x3002;</li>
-<li>&#x5982;&#x679C;&#x4E0D;&#x60F3;&#x4F9D;&#x8D56;&#x914D;&#x7F6E;&#x987A;&#x5E8F;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528; <code>&lt;dubbo:provider deplay=&#x201D;-1&#x201D; /&gt;</code>&#xFF0C;&#x4F7F;Dubbo&#x5728;Spring&#x5BB9;&#x5668;&#x521D;&#x59CB;&#x5316;&#x5B8C;&#x540E;&#xFF0C;&#x518D;&#x66B4;&#x9732;&#x670D;&#x52A1;&#x3002;</li>
-<li>&#x5982;&#x679C;&#x5927;&#x91CF;&#x4F7F;&#x7528;getBean()&#xFF0C;&#x76F8;&#x5F53;&#x4E8E;&#x5DF2;&#x7ECF;&#x628A;Spring&#x9000;&#x5316;&#x4E3A;&#x5DE5;&#x5382;&#x6A21;&#x5F0F;&#x5728;&#x7528;&#xFF0C;&#x53EF;&#x4EE5;&#x5C06;Dubbo&#x7684;&#x670D;&#x52A1;&#x9694;&#x79BB;&#x5355;&#x72EC;&#x7684;Spring&#x5BB9;&#x5668;&#x3002;</li>
-</ol>
-</blockquote>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="本地伪装.html" class="navigation navigation-prev " aria-label="Previous page: 4.27 本地伪装">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="并发控制.html" class="navigation navigation-next " aria-label="Next page: 4.29 并发控制">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.28 延迟暴露","level":"1.5.27","depth":2,"next":{"title":"4.29 并发控制","level":"1.5.28","depth":2,"path":"demos/并发控制.md","ref":"demos/并发控制.md","articles":[]},"previous":{"title":"4.27 本地伪装","level":"1.5.26","depth":2,"path":"demos/本地伪装.md","ref":"demos/本地伪装.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/延迟暴露.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\345\273\266\350\277\237\350\277\236\346\216\245.html" "b/user-guide/demos/\345\273\266\350\277\237\350\277\236\346\216\245.html"
deleted file mode 100644
index c4838cf..0000000
--- "a/user-guide/demos/\345\273\266\350\277\237\350\277\236\346\216\245.html"
+++ /dev/null
@@ -1,1473 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.31 延迟连接 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="粘滞连接.html" />
-    
-    
-    <link rel="prev" href="连接控制.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.31 延迟连接</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x5EF6;&#x8FDF;&#x8FDE;&#x63A5;&#xFF0C;&#x7528;&#x4E8E;&#x51CF;&#x5C11;&#x957F;&#x8FDE;&#x63A5;&#x6570;&#xFF0C;&#x5F53;&#x6709;&#x8C03;&#x7528;&#x53D1;&#x8D77;&#x65F6;&#xFF0C;&#x518D;&#x521B;&#x5EFA;&#x957F;&#x8FDE;&#x63A5;&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">&#x53EA;&#x5BF9;&#x4F7F;&#x7528;&#x957F;&#x8FDE;&#x63A5;&#x7684;dubbo&#x534F;&#x8BAE;&#x751F;&#x6548;&#x3002;</p>
-</blockquote>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">lazy</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="连接控制.html" class="navigation navigation-prev " aria-label="Previous page: 4.30 连接控制">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="粘滞连接.html" class="navigation navigation-next " aria-label="Next page: 4.32 粘滞连接">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.31 延迟连接","level":"1.5.30","depth":2,"next":{"title":"4.32 粘滞连接","level":"1.5.31","depth":2,"path":"demos/粘滞连接.md","ref":"demos/粘滞连接.md","articles":[]},"previous":{"title":"4.30 连接控制","level":"1.5.29","depth":2,"path":"demos/连接控制.md","ref":"demos/连接控制.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/延迟连接.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\345\274\202\346\255\245\350\260\203\347\224\250.html" "b/user-guide/demos/\345\274\202\346\255\245\350\260\203\347\224\250.html"
deleted file mode 100644
index 7604eab..0000000
--- "a/user-guide/demos/\345\274\202\346\255\245\350\260\203\347\224\250.html"
+++ /dev/null
@@ -1,1505 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.22 异步调用 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="本地调用.html" />
-    
-    
-    <link rel="prev" href="隐式传参.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.22 异步调用</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x57FA;&#x4E8E;NIO&#x7684;&#x975E;&#x963B;&#x585E;&#x5B9E;&#x73B0;&#x5E76;&#x884C;&#x8C03;&#x7528;&#xFF0C;&#x5BA2;&#x6237;&#x7AEF;&#x4E0D;&#x9700;&#x8981;&#x542F;&#x52A8;&#x591A;&#x7EBF;&#x7A0B;&#x5373;&#x53EF;&#x5B8C;&#x6210;&#x5E76;&#x884C;&#x8C03;&#x7528;&#x591A;&#x4E2A;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#xFF0C;&#x76F8;&#x5BF9;&#x591A;&#x7EBF;&#x7A0B;&#x5F00;&#x9500;&#x8F83;&#x5C0F;&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">2.0.6&#x53CA;&#x5176;&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</p>
-</blockquote>
-<p><img src="../sources/images/future.jpg" alt="/user-guide/images/future.jpg"></p>
-<p>&#x914D;&#x7F6E;&#x58F0;&#x660E;&#xFF1A;</p>
-<p><strong>consumer.xml</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;fooService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.foo.FooService&quot;</span>&gt;</span>
-      <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;findFoo&quot;</span> <span class="hljs-attr">async</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:reference</span>&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;barService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.bar.BarService&quot;</span>&gt;</span>
-      <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;findBar&quot;</span> <span class="hljs-attr">async</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:reference</span>&gt;</span>
-</code></pre>
-<p>&#x8C03;&#x7528;&#x4EE3;&#x7801;:</p>
-<pre><code class="lang-java">fooService.findFoo(fooId); <span class="hljs-comment">// &#x6B64;&#x8C03;&#x7528;&#x4F1A;&#x7ACB;&#x5373;&#x8FD4;&#x56DE;null</span>
-Future&lt;Foo&gt; fooFuture = RpcContext.getContext().getFuture(); <span class="hljs-comment">// &#x62FF;&#x5230;&#x8C03;&#x7528;&#x7684;Future&#x5F15;&#x7528;&#xFF0C;&#x5F53;&#x7ED3;&#x679C;&#x8FD4;&#x56DE;&#x540E;&#xFF0C;&#x4F1A;&#x88AB;&#x901A;&#x77E5;&#x548C;&#x8BBE;&#x7F6E;&#x5230;&#x6B64;Future&#x3002;</span>
-
-barService.findBar(barId); <span class="hljs-comment">// &#x6B64;&#x8C03;&#x7528;&#x4F1A;&#x7ACB;&#x5373;&#x8FD4;&#x56DE;null</span>
-Future&lt;Bar&gt; barFuture = RpcContext.getContext().getFuture(); <span class="hljs-comment">// &#x62FF;&#x5230;&#x8C03;&#x7528;&#x7684;Future&#x5F15;&#x7528;&#xFF0C;&#x5F53;&#x7ED3;&#x679C;&#x8FD4;&#x56DE;&#x540E;&#xFF0C;&#x4F1A;&#x88AB;&#x901A;&#x77E5;&#x548C;&#x8BBE;&#x7F6E;&#x5230;&#x6B64;Future&#x3002;</span>
-
-<span class="hljs-comment">// &#x6B64;&#x65F6;findFoo&#x548C;findBar&#x7684;&#x8BF7;&#x6C42;&#x540C;&#x65F6;&#x5728;&#x6267;&#x884C;&#xFF0C;&#x5BA2;&#x6237;&#x7AEF;&#x4E0D;&#x9700;&#x8981;&#x542F;&#x52A8;&#x591A;&#x7EBF;&#x7A0B;&#x6765;&#x652F;&#x6301;&#x5E76;&#x884C;&#xFF0C;&#x800C;&#x662F;&#x501F;&#x52A9;NIO&#x7684;&#x975E;&#x963B;&#x585E;&#x5B8C;&#x6210;&#x3002;</span>
-
-Foo foo = fooFuture.get(); <span class="hljs-comment">// &#x5982;&#x679C;foo&#x5DF2;&#x8FD4;&#x56DE;&#xFF0C;&#x76F4;&#x63A5;&#x62FF;&#x5230;&#x8FD4;&#x56DE;&#x503C;&#xFF0C;&#x5426;&#x5219;&#x7EBF;&#x7A0B;wait&#x4F4F;&#xFF0C;&#x7B49;&#x5F85;foo&#x8FD4;&#x56DE;&#x540E;&#xFF0C;&#x7EBF;&#x7A0B;&#x4F1A;&#x88AB;notify&#x5524;&#x9192;&#x3002;</span>
-Bar bar = barFuture.get(); <span class="hljs-comment">// &#x540C;&#x7406;&#x7B49;&#x5F85;bar&#x8FD4;&#x56DE;&#x3002;</span>
-
-<span class="hljs-comment">// &#x5982;&#x679C;foo&#x9700;&#x8981;5&#x79D2;&#x8FD4;&#x56DE;&#xFF0C;bar&#x9700;&#x8981;6&#x79D2;&#x8FD4;&#x56DE;&#xFF0C;&#x5B9E;&#x9645;&#x53EA;&#x9700;&#x7B49;6&#x79D2;&#xFF0C;&#x5373;&#x53EF;&#x83B7;&#x53D6;&#x5230;foo&#x548C;bar&#xFF0C;&#x8FDB;&#x884C;&#x63A5;&#x4E0B;&#x6765;&#x7684;&#x5904;&#x7406;&#x3002;</span>
-</code></pre>
-<p>&#x4F60;&#x4E5F;&#x53EF;&#x4EE5;&#x8BBE;&#x7F6E;&#x662F;&#x5426;&#x7B49;&#x5F85;&#x6D88;&#x606F;&#x53D1;&#x51FA;&#xFF1A;(&#x5F02;&#x6B65;&#x603B;&#x662F;&#x4E0D;&#x7B49;&#x5F85;&#x8FD4;&#x56DE;)</p>
-<ul>
-<li><code>sent=&quot;true&quot;</code> &#x7B49;&#x5F85;&#x6D88;&#x606F;&#x53D1;&#x51FA;&#xFF0C;&#x6D88;&#x606F;&#x53D1;&#x9001;&#x5931;&#x8D25;&#x5C06;&#x629B;&#x51FA;&#x5F02;&#x5E38;&#x3002;</li>
-<li><code>sent=&quot;false&quot;</code> &#x4E0D;&#x7B49;&#x5F85;&#x6D88;&#x606F;&#x53D1;&#x51FA;&#xFF0C;&#x5C06;&#x6D88;&#x606F;&#x653E;&#x5165;IO&#x961F;&#x5217;&#xFF0C;&#x5373;&#x523B;&#x8FD4;&#x56DE;&#x3002;</li>
-</ul>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;findFoo&quot;</span> <span class="hljs-attr">async</span>=<span class="hljs-string">&quot;true&quot;</span> <span class="hljs-attr">sent</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x5982;&#x679C;&#x4F60;&#x53EA;&#x662F;&#x60F3;&#x5F02;&#x6B65;&#xFF0C;&#x5B8C;&#x5168;&#x5FFD;&#x7565;&#x8FD4;&#x56DE;&#x503C;&#xFF0C;&#x53EF;&#x4EE5;&#x914D;&#x7F6E; <code>return=&quot;false&quot;</code>&#xFF0C;&#x4EE5;&#x51CF;&#x5C11;Future&#x5BF9;&#x8C61;&#x7684;&#x521B;&#x5EFA;&#x548C;&#x7BA1;&#x7406;&#x6210;&#x672C;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;findFoo&quot;</span> <span class="hljs-attr">async</span>=<span class="hljs-string">&quot;true&quot;</span> <span class="hljs-attr">return</span>=<span class="hljs-string">&quot;false&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="隐式传参.html" class="navigation navigation-prev " aria-label="Previous page: 4.21 隐式参数">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="本地调用.html" class="navigation navigation-next " aria-label="Next page: 4.23 本地调用">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.22 异步调用","level":"1.5.21","depth":2,"next":{"title":"4.23 本地调用","level":"1.5.22","depth":2,"path":"demos/本地调用.md","ref":"demos/本地调用.md","articles":[]},"previous":{"title":"4.21 隐式参数","level":"1.5.20","depth":2,"path":"demos/隐式传参.md","ref":"demos/隐式传参.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/异步调用.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\346\227\245\345\277\227\351\200\202\351\205\215.html" "b/user-guide/demos/\346\227\245\345\277\227\351\200\202\351\205\215.html"
deleted file mode 100644
index 0e6349c..0000000
--- "a/user-guide/demos/\346\227\245\345\277\227\351\200\202\351\205\215.html"
+++ /dev/null
@@ -1,1486 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.39 日志适配 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="访问日志.html" />
-    
-    
-    <link rel="prev" href="主机绑定.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.39 日志适配</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning">2.2.1&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301; </p>
-<p><img src="../sources/images/check.gif" alt="warning">&#x6269;&#x5C55;&#x70B9;&#xFF1A;<a href="http://dubbo.io/developer-guide/SPI%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C/%E6%97%A5%E5%BF%97%E9%80%82%E9%85%8D%E6%89%A9%E5%B1%95.html" target="_blank">&#x65E5;&#x5FD7;&#x9002;&#x914D;&#x6269;&#x5C55;</a></p>
-</blockquote>
-<p>&#x7F3A;&#x7701;&#x81EA;&#x52A8;&#x67E5;&#x627E;&#xFF1A;</p>
-<ul>
-<li>log4j</li>
-<li>slf4j</li>
-<li>jcl</li>
-<li>jdk</li>
-</ul>
-<p>&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x4EE5;&#x4E0B;&#x65B9;&#x5F0F;&#x914D;&#x7F6E;&#x65E5;&#x5FD7;&#x8F93;&#x51FA;&#x7B56;&#x7565;</p>
-<pre><code class="lang-sh">java -Ddubbo.application.logger=<span class="hljs-built_in">log</span>4j
-</code></pre>
-<p><strong>dubbo.properties</strong></p>
-<pre><code>dubbo.application.logger=log4j
-</code></pre><p><strong>dubbo.xml</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">logger</span>=<span class="hljs-string">&quot;log4j&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="主机绑定.html" class="navigation navigation-prev " aria-label="Previous page: 4.38 主机绑定">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="访问日志.html" class="navigation navigation-next " aria-label="Next page: 4.40 访问日志">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.39 日志适配","level":"1.5.38","depth":2,"next":{"title":"4.40 访问日志","level":"1.5.39","depth":2,"path":"demos/访问日志.md","ref":"demos/访问日志.md","articles":[]},"previous":{"title":"4.38 主机绑定","level":"1.5.37","depth":2,"path":"demos/主机绑定.md","ref":"demos/主机绑定.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/日志适配.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\346\234\215\345\212\241\345\210\206\347\273\204.html" "b/user-guide/demos/\346\234\215\345\212\241\345\210\206\347\273\204.html"
deleted file mode 100644
index 9642e31..0000000
--- "a/user-guide/demos/\346\234\215\345\212\241\345\210\206\347\273\204.html"
+++ /dev/null
@@ -1,1484 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.11 服务分组 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="多版本.html" />
-    
-    
-    <link rel="prev" href="多注册中心.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.11 服务分组</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="check">&#x5F53;&#x4E00;&#x4E2A;&#x63A5;&#x53E3;&#x6709;&#x591A;&#x79CD;&#x5B9E;&#x73B0;&#x65F6;&#xFF0C;&#x53EF;&#x4EE5;&#x7528;group&#x533A;&#x5206;&#x3002;</p>
-</blockquote>
-<p><strong>&#x670D;&#x52A1;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;feedback&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.xxx.IndexService&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;member&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.xxx.IndexService&quot;</span> /&gt;</span>
-</code></pre>
-<p><strong>&#x5F15;&#x7528;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;feedbackIndexService&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;feedback&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.xxx.IndexService&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;memberIndexService&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;member&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.xxx.IndexService&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x4EFB;&#x610F;&#x7EC4;&#xFF1A;</p>
-<blockquote>
-<p>2.2.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;&#xFF0C;&#x603B;&#x662F;&#x53EA;&#x8C03;&#x4E00;&#x4E2A;&#x53EF;&#x7528;&#x7EC4;&#x7684;&#x5B9E;&#x73B0;</p>
-</blockquote>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;barService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;*&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="多注册中心.html" class="navigation navigation-prev " aria-label="Previous page: 4.10 多注册中心">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="多版本.html" class="navigation navigation-next " aria-label="Next page: 4.13 多版本">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.11 服务分组","level":"1.5.11","depth":2,"next":{"title":"4.13 多版本","level":"1.5.12","depth":2,"path":"demos/多版本.md","ref":"demos/多版本.md","articles":[]},"previous":{"title":"4.10 多注册中心","level":"1.5.10","depth":2,"path":"demos/多注册中心.md","ref":"demos/多注册中心.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/服务分组.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\346\234\215\345\212\241\345\256\271\345\231\250.html" "b/user-guide/demos/\346\234\215\345\212\241\345\256\271\345\231\250.html"
deleted file mode 100644
index 5e2b81b..0000000
--- "a/user-guide/demos/\346\234\215\345\212\241\345\256\271\345\231\250.html"
+++ /dev/null
@@ -1,1510 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.41 服务容器 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="ReferenceConfig缓存.html" />
-    
-    
-    <link rel="prev" href="访问日志.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.41 服务容器</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x670D;&#x52A1;&#x5BB9;&#x5668;&#x662F;&#x4E00;&#x4E2A;standalone&#x7684;&#x542F;&#x52A8;&#x7A0B;&#x5E8F;&#xFF0C;&#x56E0;&#x4E3A;&#x540E;&#x53F0;&#x670D;&#x52A1;&#x4E0D;&#x9700;&#x8981;Tomcat&#x6216;JBoss&#x7B49;Web&#x5BB9;&#x5668;&#x7684;&#x529F;&#x80FD;&#xFF0C;&#x5982;&#x679C;&#x786C;&#x8981;&#x7528;Web&#x5BB9;&#x5668;&#x53BB;&#x52A0;&#x8F7D;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#xFF0C;&#x589E;&#x52A0;&#x590D;&#x6742;&#x6027;&#xFF0C;&#x4E5F;&#x6D6A;&#x8D39;&#x8D44;&#x6E90;&#x3002;</p>
-<p><img src="../sources/images/check.gif" alt="warning">&#x670D;&#x52A1;&#x5BB9;&#x5668;&#x53EA;&#x662F;&#x4E00;&#x4E2A;&#x7B80;&#x5355;&#x7684;Main&#x65B9;&#x6CD5;&#xFF0C;&#x5E76;&#x52A0;&#x8F7D;&#x4E00;&#x4E2A;&#x7B80;&#x5355;&#x7684;Spring&#x5BB9;&#x5668;&#xFF0C;&#x7528;&#x4E8E;&#x66B4;&#x9732;&#x670D;&#x52A1;&#x3002;</p>
-<p><img src="../sources/images/check.gif" alt="warning">&#x670D;&#x52A1;&#x5BB9;&#x5668;&#x7684;&#x52A0;&#x8F7D;&#x5185;&#x5BB9;&#x53EF;&#x4EE5;&#x6269;&#x5C55;&#xFF0C;&#x5185;&#x7F6E;&#x4E86;spring, jetty, log4j&#x7B49;&#x52A0;&#x8F7D;&#xFF0C;&#x53EF;&#x901A;&#x8FC7;Container&#x6269;&#x5C55;&#x70B9;&#x8FDB;&#x884C;&#x6269;&#x5C55;&#xFF0C;&#x53C2;&#x89C1;&#xFF1A;<a href="http://dubbo.io/developer-guide/SPI%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C/%E5%AE%B9%E5%99%A8%E6%89%A9%E5%B1%95.html" target="_blank">Container</a>&#x3002;&#x914D;&#x7F6E;&#x914D;&#x5728;java&#x547D;&#x4EE4;-D&#x53C2;&#x6570;&#x6216;&#x8005;dubbo.properties&#x4E2D;</p>
-</blockquote>
-<h5 id="spring-container">Spring Container</h5>
-<ul>
-<li>&#x81EA;&#x52A8;&#x52A0;&#x8F7D; META-INF/spring &#x76EE;&#x5F55;&#x4E0B;&#x7684;&#x6240;&#x6709; Spring &#x914D;&#x7F6E;&#x3002;</li>
-<li>&#x914D;&#x7F6E;spring&#x914D;&#x7F6E;&#x52A0;&#x8F7D;&#x4F4D;&#x7F6E;&#xFF1A;<code>dubbo.spring.config=classpath*:META-INF/spring/*.xml</code></li>
-</ul>
-<h5 id="jetty-container">Jetty Container</h5>
-<ul>
-<li>&#x542F;&#x52A8;&#x4E00;&#x4E2A;&#x5185;&#x5D4C;Jetty&#xFF0C;&#x7528;&#x4E8E;&#x6C47;&#x62A5;&#x72B6;&#x6001;&#x3002;</li>
-<li>&#x914D;&#x7F6E;&#xFF1A;<ul>
-<li>dubbo.jetty.port=8080 ----&#x914D;&#x7F6E;jetty&#x542F;&#x52A8;&#x7AEF;&#x53E3;</li>
-<li>dubbo.jetty.directory=/foo/bar ----&#x914D;&#x7F6E;&#x53EF;&#x901A;&#x8FC7;jetty&#x76F4;&#x63A5;&#x8BBF;&#x95EE;&#x7684;&#x76EE;&#x5F55;&#xFF0C;&#x7528;&#x4E8E;&#x5B58;&#x653E;&#x9759;&#x6001;&#x6587;&#x4EF6;</li>
-<li>dubbo.jetty.page=log,status,system ----&#x914D;&#x7F6E;&#x663E;&#x793A;&#x7684;&#x9875;&#x9762;&#xFF0C;&#x7F3A;&#x7701;&#x52A0;&#x8F7D;&#x6240;&#x6709;&#x9875;&#x9762;</li>
-</ul>
-</li>
-</ul>
-<h5 id="log4j-container">Log4j Container</h5>
-<ul>
-<li>&#x81EA;&#x52A8;&#x914D;&#x7F6E;log4j&#x7684;&#x914D;&#x7F6E;&#xFF0C;&#x5728;&#x591A;&#x8FDB;&#x7A0B;&#x542F;&#x52A8;&#x65F6;&#xFF0C;&#x81EA;&#x52A8;&#x7ED9;&#x65E5;&#x5FD7;&#x6587;&#x4EF6;&#x6309;&#x8FDB;&#x7A0B;&#x5206;&#x76EE;&#x5F55;&#x3002;</li>
-<li>&#x914D;&#x7F6E;&#xFF1A;<ul>
-<li>dubbo.log4j.file=/foo/bar.log ----&#x914D;&#x7F6E;&#x65E5;&#x5FD7;&#x6587;&#x4EF6;&#x8DEF;&#x5F84;</li>
-<li>dubbo.log4j.level=WARN ----&#x914D;&#x7F6E;&#x65E5;&#x5FD7;&#x7EA7;&#x522B;</li>
-<li>dubbo.log4j.subdirectory=20880 ----&#x914D;&#x7F6E;&#x65E5;&#x5FD7;&#x5B50;&#x76EE;&#x5F55;&#xFF0C;&#x7528;&#x4E8E;&#x591A;&#x8FDB;&#x7A0B;&#x542F;&#x52A8;&#xFF0C;&#x907F;&#x514D;&#x51B2;&#x7A81;</li>
-</ul>
-</li>
-</ul>
-<h5 id="&#x5BB9;&#x5668;&#x542F;&#x52A8;">&#x5BB9;&#x5668;&#x542F;&#x52A8;</h5>
-<p>&#x5982;&#xFF1A;(&#x7F3A;&#x7701;&#x53EA;&#x52A0;&#x8F7D;spring)</p>
-<pre><code class="lang-sh">java com.alibaba.dubbo.container.Main
-</code></pre>
-<p>&#x6216;&#xFF1A;(&#x901A;&#x8FC7;main&#x51FD;&#x6570;&#x53C2;&#x6570;&#x4F20;&#x5165;&#x8981;&#x52A0;&#x8F7D;&#x7684;&#x5BB9;&#x5668;)</p>
-<pre><code class="lang-sh">java com.alibaba.dubbo.container.Main spring jetty <span class="hljs-built_in">log</span>4j
-</code></pre>
-<p>&#x6216;&#xFF1A;(&#x901A;&#x8FC7;JVM&#x542F;&#x52A8;&#x53C2;&#x6570;&#x4F20;&#x5165;&#x8981;&#x52A0;&#x8F7D;&#x7684;&#x5BB9;&#x5668;)</p>
-<pre><code class="lang-sh">java com.alibaba.dubbo.container.Main -Ddubbo.container=spring,jetty,<span class="hljs-built_in">log</span>4j
-</code></pre>
-<p>&#x6216;&#xFF1A;(&#x901A;&#x8FC7;classpath&#x4E0B;&#x7684;dubbo.properties&#x914D;&#x7F6E;&#x4F20;&#x5165;&#x8981;&#x52A0;&#x8F7D;&#x7684;&#x5BB9;&#x5668;)</p>
-<p><strong>dubbo.properties</strong></p>
-<pre><code>dubbo.container=spring,jetty,log4j
-</code></pre>
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="访问日志.html" class="navigation navigation-prev " aria-label="Previous page: 4.40 访问日志">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="ReferenceConfig缓存.html" class="navigation navigation-next " aria-label="Next page: 4.42 Reference Config缓存">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.41 服务容器","level":"1.5.40","depth":2,"next":{"title":"4.42 Reference Config缓存","level":"1.5.41","depth":2,"path":"demos/ReferenceConfig缓存.md","ref":"demos/ReferenceConfig缓存.md","articles":[]},"previous":{"title":"4.40 访问日志","level":"1.5.39","depth":2,"path":"demos/访问日志.md","ref":"demos/访问日志.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/服务容器.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\346\234\215\345\212\241\351\231\215\347\272\247.html" "b/user-guide/demos/\346\234\215\345\212\241\351\231\215\347\272\247.html"
deleted file mode 100644
index 0ce8a08..0000000
--- "a/user-guide/demos/\346\234\215\345\212\241\351\231\215\347\272\247.html"
+++ /dev/null
@@ -1,1491 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.36 服务降级 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="优雅停机.html" />
-    
-    
-    <link rel="prev" href="配置规则.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.36 服务降级</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning">2.2.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;,</p>
-<p><img src="../sources/images/check.gif" alt="warning">&#x53C2;&#x89C1;&#xFF1A;<a href="&#x914D;&#x7F6E;&#x89C4;&#x5219;.html">&#x914D;&#x7F6E;&#x89C4;&#x5219;</a></p>
-</blockquote>
-<p>&#x5411;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5199;&#x5165;&#x52A8;&#x6001;&#x914D;&#x7F6E;&#x8986;&#x76D6;&#x89C4;&#x5219;&#xFF1A;(&#x901A;&#x8FC7;&#x7531;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x6216;&#x6CBB;&#x7406;&#x4E2D;&#x5FC3;&#x7684;&#x9875;&#x9762;&#x5B8C;&#x6210;)</p>
-<pre><code class="lang-java">
-RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
-Registry registry = registryFactory.getRegistry(URL.valueOf(<span class="hljs-string">&quot;zookeeper://10.20.153.10:2181&quot;</span>));
-registry.register(URL.valueOf(<span class="hljs-string">&quot;override://0.0.0.0/com.foo.BarService?category=configurators&amp;dynamic=false&amp;application=foo&amp;mock=force:return+null&quot;</span>));
-</code></pre>
-<p>&#x5176;&#x4E2D;:</p>
-<pre><code class="lang-sh">mock=force:<span class="hljs-built_in">return</span>+null
-</code></pre>
-<ul>
-<li>&#x8868;&#x793A;&#x6D88;&#x8D39;&#x65B9;&#x5BF9;&#x8BE5;&#x670D;&#x52A1;&#x7684;&#x65B9;&#x6CD5;&#x8C03;&#x7528;&#x90FD;&#x76F4;&#x63A5;&#x8FD4;&#x56DE;null&#x503C;&#xFF0C;&#x4E0D;&#x53D1;&#x8D77;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x3002;</li>
-<li>&#x5C4F;&#x853D;&#x4E0D;&#x91CD;&#x8981;&#x670D;&#x52A1;&#x4E0D;&#x53EF;&#x7528;&#x65F6;&#x5BF9;&#x8C03;&#x7528;&#x65B9;&#x7684;&#x5F71;&#x54CD;&#x3002;</li>
-</ul>
-<p>&#x8FD8;&#x53EF;&#x4EE5;&#x6539;&#x4E3A;&#xFF1A;</p>
-<pre><code class="lang-sh">mock=fail:<span class="hljs-built_in">return</span>+null
-</code></pre>
-<ul>
-<li>&#x8868;&#x793A;&#x6D88;&#x8D39;&#x65B9;&#x5BF9;&#x8BE5;&#x670D;&#x52A1;&#x7684;&#x65B9;&#x6CD5;&#x8C03;&#x7528;&#x5728;&#x5931;&#x8D25;&#x540E;&#xFF0C;&#x518D;&#x8FD4;&#x56DE;null&#x503C;&#xFF0C;&#x4E0D;&#x629B;&#x5F02;&#x5E38;&#x3002;</li>
-<li>&#x5BB9;&#x5FCD;&#x4E0D;&#x91CD;&#x8981;&#x670D;&#x52A1;&#x4E0D;&#x7A33;&#x5B9A;&#x65F6;&#x5BF9;&#x8C03;&#x7528;&#x65B9;&#x7684;&#x5F71;&#x54CD;&#x3002;</li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="配置规则.html" class="navigation navigation-prev " aria-label="Previous page: 4.35 配置规则">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="优雅停机.html" class="navigation navigation-next " aria-label="Next page: 4.37 优雅停机">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.36 服务降级","level":"1.5.35","depth":2,"next":{"title":"4.37 优雅停机","level":"1.5.36","depth":2,"path":"demos/优雅停机.md","ref":"demos/优雅停机.md","articles":[]},"previous":{"title":"4.35 配置规则","level":"1.5.34","depth":2,"path":"demos/配置规则.md","ref":"demos/配置规则.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/服务降级.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\346\234\254\345\234\260\344\274\252\350\243\205.html" "b/user-guide/demos/\346\234\254\345\234\260\344\274\252\350\243\205.html"
deleted file mode 100644
index ca187ba..0000000
--- "a/user-guide/demos/\346\234\254\345\234\260\344\274\252\350\243\205.html"
+++ /dev/null
@@ -1,1501 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.27 本地伪装 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="延迟暴露.html" />
-    
-    
-    <link rel="prev" href="本地存根.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.27 本地伪装</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">Mock&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x670D;&#x52A1;&#x964D;&#x7EA7;&#xFF0C;&#x6BD4;&#x5982;&#x67D0;&#x9A8C;&#x6743;&#x670D;&#x52A1;&#xFF0C;&#x5F53;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x5168;&#x90E8;&#x6302;&#x6389;&#x540E;&#xFF0C;&#x5BA2;&#x6237;&#x7AEF;&#x4E0D;&#x629B;&#x51FA;&#x5F02;&#x5E38;&#xFF0C;&#x800C;&#x662F;&#x901A;&#x8FC7;Mock&#x6570;&#x636E;&#x8FD4;&#x56DE;&#x6388;&#x6743;&#x5931;&#x8D25;&#x3002;</p>
-<p><img src="../sources/images/check.gif" alt="warning">Mock&#x662F;Stub&#x7684;&#x4E00;&#x4E2A;&#x5B50;&#x96C6;&#xFF0C;&#x4FBF;&#x4E8E;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x6267;&#x884C;&#x5BB9;&#x9519;&#x903B;&#x8F91;&#xFF0C;&#x56E0;&#x7ECF;&#x5E38;&#x9700;&#x8981;&#x5728;&#x51FA;&#x73B0;RpcException(&#x6BD4;&#x5982;&#x7F51;&#x7EDC;&#x5931;&#x8D25;&#xFF0C;&#x8D85;&#x65F6;&#x7B49;)&#x65F6;&#x8FDB;&#x884C;&#x5BB9;&#x9519;&#xFF0C;&#x800C;&#x5728;&#x51FA;&#x73B0;&#x4E1A;&#x52A1;&#x5F02;&#x5E38;(&#x6BD4;&#x5982;&#x767B;&#x5F55;&#x7528;&#x6237;&#x540D;&#x5BC6;&#x7801;&#x9519;&#x8BEF;)&#x65F6;&#x4E0D;&#x9700;&#x8981;&#x5BB9;&#x9519;&#xFF0C;&#x5982;&#x679C;&#x7528;Stub&#xFF0C;&#x53EF;&#x80FD;&#x5C31;&#x9700;&#x8981;&#x6355;&#x83B7;&#x5E76;&#x4F9D;&#x8D56;RpcException&#x7C7B;&#xFF0C;&#x800C;&#x7528;Mock&#x5C31;&#x53EF;&#x4EE5;&#x4E0D;&#x4F9D;&#x8D56;RpcException&#xFF0C;&#x56E0;&#x4E3A;&#x5B83;&#x7684;&#x7EA6;&#x5B9A;&#x5C31;&#x662F;&#x53EA;&#x6709;&#x51FA;&#x73B0;RpcException&#x65F6;&#x624D;&#x6267;&#x884C;&#x3002;</p>
-</blockquote>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">mock</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">mock</span>=<span class="hljs-string">&quot;com.foo.BarServiceMock&quot;</span> /&gt;</span>
-</code></pre>
-<p>api.jar:</p>
-<pre><code class="lang-sh">com.foo.BarService
-com.foo.BarServiceMock // &#x5728;API&#x65C1;&#x8FB9;&#x653E;&#x4E00;&#x4E2A;Mock&#x5B9E;&#x73B0;&#xFF0C;&#x5B83;&#x5B9E;&#x73B0;BarService&#x63A5;&#x53E3;&#xFF0C;&#x5E76;&#x6709;&#x4E00;&#x4E2A;&#x65E0;&#x53C2;&#x6784;&#x9020;&#x51FD;&#x6570;
-</code></pre>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.foo;
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">BarServiceMock</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">BarService</span> </span>{
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> String <span class="hljs-title">sayHello</span><span class="hljs-params">(String name)</span> </span>{
-        <span class="hljs-comment">// &#x4F60;&#x53EF;&#x4EE5;&#x4F2A;&#x9020;&#x5BB9;&#x9519;&#x6570;&#x636E;&#xFF0C;&#x6B64;&#x65B9;&#x6CD5;&#x53EA;&#x5728;&#x51FA;&#x73B0;RpcException&#x65F6;&#x88AB;&#x6267;&#x884C;</span>
-        <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;&#x5BB9;&#x9519;&#x6570;&#x636E;&quot;</span>;
-    }
-}
-</code></pre>
-<p>&#x5982;&#x679C;&#x670D;&#x52A1;&#x7684;&#x6D88;&#x8D39;&#x65B9;&#x7ECF;&#x5E38;&#x9700;&#x8981;try-catch&#x6355;&#x83B7;&#x5F02;&#x5E38;&#xFF0C;&#x5982;&#xFF1A;</p>
-<pre><code class="lang-java">Offer offer = <span class="hljs-keyword">null</span>;
-<span class="hljs-keyword">try</span> {
-    offer = offerService.findOffer(offerId);
-} <span class="hljs-keyword">catch</span> (RpcException e) {
-   logger.error(e);
-}
-</code></pre>
-<p>&#x8BF7;&#x8003;&#x8651;&#x6539;&#x4E3A;Mock&#x5B9E;&#x73B0;&#xFF0C;&#x5E76;&#x5728;Mock&#x4E2D;return null&#x3002;</p>
-<p>&#x5982;&#x679C;&#x53EA;&#x662F;&#x60F3;&#x7B80;&#x5355;&#x7684;&#x5FFD;&#x7565;&#x5F02;&#x5E38;&#xFF0C;&#x5728;2.0.11&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x53EF;&#x7528;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">mock</span>=<span class="hljs-string">&quot;return null&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="本地存根.html" class="navigation navigation-prev " aria-label="Previous page: 4.26 本地存根">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="延迟暴露.html" class="navigation navigation-next " aria-label="Next page: 4.28 延迟暴露">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.27 本地伪装","level":"1.5.26","depth":2,"next":{"title":"4.28 延迟暴露","level":"1.5.27","depth":2,"path":"demos/延迟暴露.md","ref":"demos/延迟暴露.md","articles":[]},"previous":{"title":"4.26 本地存根","level":"1.5.25","depth":2,"path":"demos/本地存根.md","ref":"demos/本地存根.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/本地伪装.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\346\234\254\345\234\260\345\255\230\346\240\271.html" "b/user-guide/demos/\346\234\254\345\234\260\345\255\230\346\240\271.html"
deleted file mode 100644
index b222e9a..0000000
--- "a/user-guide/demos/\346\234\254\345\234\260\345\255\230\346\240\271.html"
+++ /dev/null
@@ -1,1503 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.26 本地存根 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="本地伪装.html" />
-    
-    
-    <link rel="prev" href="事件通知.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.26 本地存根</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x540E;&#xFF0C;&#x5BA2;&#x6237;&#x7AEF;&#x901A;&#x5E38;&#x53EA;&#x5269;&#x4E0B;&#x63A5;&#x53E3;&#xFF0C;&#x800C;&#x5B9E;&#x73B0;&#x5168;&#x5728;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#xFF0C;&#x4F46;&#x63D0;&#x4F9B;&#x65B9;&#x6709;&#x4E9B;&#x65F6;&#x5019;&#x60F3;&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x4E5F;&#x6267;&#x884C;&#x90E8;&#x5206;&#x903B;&#x8F91;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;&#x505A;ThreadLocal&#x7F13;&#x5B58;&#xFF0C;&#x63D0;&#x524D;&#x9A8C;&#x8BC1;&#x53C2;&#x6570;&#xFF0C;&#x8C03;&#x7528;&#x5931;&#x8D25;&#x540E;&#x4F2A;&#x9020;&#x5BB9;&#x9519;&#x6570;&#x636E;&#x7B49;&#x7B49;&#xFF0C;&#x6B64;&#x65F6;&#x5C31;&#x9700;&#x8981;&#x5728;API&#x4E2D;&#x5E26;&#x4E0A;Stub&#xFF0C;&#x5BA2;&#x6237;&#x7AEF;&#x751F;&#x6210;Proxy&#x5B9E;&#x4F8B;&#xFF0C;&#x4F1A;&#x628A;Proxy&#x901A;&#x8FC7;&#x6784;&#x9020;&#x51FD;&#x6570;&#x4F20;&#x7ED9;Stub&#xFF0C;&#x7136;&#x540E;&#x628A;Stub&#x66B4;&#x9732;&#x7EC4;&#x7ED9;&#x7528;&#x6237;&#xFF0C;Stub&#x53EF;&#x4EE5;&#x51B3;&#x5B9A;&#x8981;&#x4E0D;&#x8981;&#x53BB;&#x8C03;Proxy&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">Stub&#x5FC5;&#x987B;&#x6709;&#x53EF;&#x4F20;&#x5165;Proxy&#x7684;&#x6784;&#x9020;&#x51FD;&#x6570;&#x3002;</p>
-</blockquote>
-<p><img src="../sources/images/stub.jpg" alt="/user-guide/images/stub.jpg"></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">stub</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">stub</span>=<span class="hljs-string">&quot;com.foo.BarServiceStub&quot;</span> /&gt;</span>
-</code></pre>
-<p>api.jar:</p>
-<pre><code class="lang-sh">com.foo.BarService
-com.foo.BarServiceStub // &#x5728;API&#x65C1;&#x8FB9;&#x653E;&#x4E00;&#x4E2A;Stub&#x5B9E;&#x73B0;&#xFF0C;&#x5B83;&#x5B9E;&#x73B0;BarService&#x63A5;&#x53E3;&#xFF0C;&#x5E76;&#x6709;&#x4E00;&#x4E2A;&#x4F20;&#x5165;&#x8FDC;&#x7A0B;BarService&#x5B9E;&#x4F8B;&#x7684;&#x6784;&#x9020;&#x51FD;&#x6570;
-</code></pre>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.foo;
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">BarServiceStub</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">BarService</span> </span>{
-
-    <span class="hljs-keyword">private</span> <span class="hljs-keyword">final</span> BarService barService;
-
-    <span class="hljs-comment">// &#x6784;&#x9020;&#x51FD;&#x6570;&#x4F20;&#x5165;&#x771F;&#x6B63;&#x7684;&#x8FDC;&#x7A0B;&#x4EE3;&#x7406;&#x5BF9;&#x8C61;</span>
-    <span class="hljs-keyword">public</span> (BarService barService) {
-        <span class="hljs-keyword">this</span>.barService = barService;
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> String <span class="hljs-title">sayHello</span><span class="hljs-params">(String name)</span> </span>{
-        <span class="hljs-comment">// &#x6B64;&#x4EE3;&#x7801;&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x6267;&#x884C;</span>
-        <span class="hljs-comment">// &#x4F60;&#x53EF;&#x4EE5;&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x505A;ThreadLocal&#x672C;&#x5730;&#x7F13;&#x5B58;&#xFF0C;&#x6216;&#x9884;&#x5148;&#x9A8C;&#x8BC1;&#x53C2;&#x6570;&#x662F;&#x5426;&#x5408;&#x6CD5;&#xFF0C;&#x7B49;&#x7B49;</span>
-        <span class="hljs-keyword">try</span> {
-            <span class="hljs-keyword">return</span> barService.sayHello(name);
-        } <span class="hljs-keyword">catch</span> (Exception e) {
-            <span class="hljs-comment">// &#x4F60;&#x53EF;&#x4EE5;&#x5BB9;&#x9519;&#xFF0C;&#x53EF;&#x4EE5;&#x505A;&#x4EFB;&#x4F55;AOP&#x62E6;&#x622A;&#x4E8B;&#x9879;</span>
-            <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;&#x5BB9;&#x9519;&#x6570;&#x636E;&quot;</span>;
-        }
-    }
-}
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="事件通知.html" class="navigation navigation-prev " aria-label="Previous page: 4.25 事件通知">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="本地伪装.html" class="navigation navigation-next " aria-label="Next page: 4.27 本地伪装">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.26 本地存根","level":"1.5.25","depth":2,"next":{"title":"4.27 本地伪装","level":"1.5.26","depth":2,"path":"demos/本地伪装.md","ref":"demos/本地伪装.md","articles":[]},"previous":{"title":"4.25 事件通知","level":"1.5.24","depth":2,"path":"demos/事件通知.md","ref":"demos/事件通知.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/本地存根.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\346\234\254\345\234\260\350\260\203\347\224\250.html" "b/user-guide/demos/\346\234\254\345\234\260\350\260\203\347\224\250.html"
deleted file mode 100644
index 9dbe827..0000000
--- "a/user-guide/demos/\346\234\254\345\234\260\350\260\203\347\224\250.html"
+++ /dev/null
@@ -1,1494 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.23 本地调用 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="参数回调.html" />
-    
-    
-    <link rel="prev" href="异步调用.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.23 本地调用</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x672C;&#x5730;&#x8C03;&#x7528;&#xFF0C;&#x4F7F;&#x7528;&#x4E86;Injvm&#x534F;&#x8BAE;&#xFF0C;&#x662F;&#x4E00;&#x4E2A;&#x4F2A;&#x534F;&#x8BAE;&#xFF0C;&#x5B83;&#x4E0D;&#x5F00;&#x542F;&#x7AEF;&#x53E3;&#xFF0C;&#x4E0D;&#x53D1;&#x8D77;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#xFF0C;&#x53EA;&#x5728;JVM&#x5185;&#x76F4;&#x63A5;&#x5173;&#x8054;&#xFF0C;&#x4F46;&#x6267;&#x884C;Dubbo&#x7684;Filter&#x94FE;&#x3002;</p>
-</blockquote>
-<p>&#x5B9A;&#x4E49; injvm &#x534F;&#x8BAE;:</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;injvm&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x8BBE;&#x7F6E;&#x9ED8;&#x8BA4;&#x534F;&#x8BAE;:</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;injvm&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x8BBE;&#x7F6E;&#x670D;&#x52A1;&#x534F;&#x8BAE;:</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;injvm&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x4F18;&#x5148;&#x4F7F;&#x7528; injvm:</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:consumer</span> <span class="hljs-attr">injvm</span>=<span class="hljs-string">&quot;true&quot;</span> <span class="hljs-attr">...</span>/&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">injvm</span>=<span class="hljs-string">&quot;true&quot;</span> <span class="hljs-attr">...</span>/&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">injvm</span>=<span class="hljs-string">&quot;true&quot;</span> <span class="hljs-attr">...</span>/&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">injvm</span>=<span class="hljs-string">&quot;true&quot;</span> <span class="hljs-attr">...</span>/&gt;</span>
-</code></pre>
-<blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning">&#x6CE8;&#x610F;&#xFF1A;&#x670D;&#x52A1;&#x66B4;&#x9732;&#x4E0E;&#x670D;&#x52A1;&#x5F15;&#x7528;&#x90FD;&#x9700;&#x8981;&#x58F0;&#x660E; <code>injvm=&quot;true&quot;</code></p>
-</blockquote>
-<h5 id="&#x81EA;&#x52A8;&#x66B4;&#x9732;&#x3001;&#x5F15;&#x7528;&#x672C;&#x5730;&#x670D;&#x52A1;">&#x81EA;&#x52A8;&#x66B4;&#x9732;&#x3001;&#x5F15;&#x7528;&#x672C;&#x5730;&#x670D;&#x52A1;</h5>
-<p>&#x4ECE; dubbo 2.2.0 &#x5F00;&#x59CB;&#xFF0C;&#x6BCF;&#x4E2A;&#x670D;&#x52A1;&#x9ED8;&#x8BA4;&#x90FD;&#x4F1A;&#x5728;&#x672C;&#x5730;&#x66B4;&#x9732;&#x3002;&#x5728;&#x5F15;&#x7528;&#x670D;&#x52A1;&#x7684;&#x65F6;&#x5019;&#xFF0C;&#x9ED8;&#x8BA4;&#x4F18;&#x5148;&#x5F15;&#x7528;&#x672C;&#x5730;&#x670D;&#x52A1;&#x3002;&#x5982;&#x679C;&#x5E0C;&#x671B;&#x5F15;&#x7528;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x4E00;&#x4E0B;&#x914D;&#x7F6E;&#x5F3A;&#x5236;&#x5F15;&#x7528;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x3002;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">...</span> <span class="hljs-attr">scope</span>=<span class="hljs-string">&quot;remote&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="异步调用.html" class="navigation navigation-prev " aria-label="Previous page: 4.22 异步调用">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="参数回调.html" class="navigation navigation-next " aria-label="Next page: 4.24 参数回调">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.23 本地调用","level":"1.5.22","depth":2,"next":{"title":"4.24 参数回调","level":"1.5.23","depth":2,"path":"demos/参数回调.md","ref":"demos/参数回调.md","articles":[]},"previous":{"title":"4.22 异步调用","level":"1.5.21","depth":2,"path":"demos/异步调用.md","ref":"demos/异步调用.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/本地调用.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\346\263\233\345\214\226\345\256\236\347\216\260.html" "b/user-guide/demos/\346\263\233\345\214\226\345\256\236\347\216\260.html"
deleted file mode 100644
index fa28220..0000000
--- "a/user-guide/demos/\346\263\233\345\214\226\345\256\236\347\216\260.html"
+++ /dev/null
@@ -1,1494 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.18 泛化实现 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="回声测试.html" />
-    
-    
-    <link rel="prev" href="泛化引用.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.18 泛化实现</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x6CDB;&#x63A5;&#x53E3;&#x5B9E;&#x73B0;&#x65B9;&#x5F0F;&#x4E3B;&#x8981;&#x7528;&#x4E8E;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x6CA1;&#x6709;API&#x63A5;&#x53E3;&#x53CA;&#x6A21;&#x578B;&#x7C7B;&#x5143;&#x7684;&#x60C5;&#x51B5;&#xFF0C;&#x53C2;&#x6570;&#x53CA;&#x8FD4;&#x56DE;&#x503C;&#x4E2D;&#x7684;&#x6240;&#x6709;POJO&#x5747;&#x7528;Map&#x8868;&#x793A;&#xFF0C;&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x6846;&#x67B6;&#x96C6;&#x6210;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x901A;&#x7528;&#x7684;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;Mock&#x6846;&#x67B6;&#xFF0C;&#x53EF;&#x901A;&#x8FC7;&#x5B9E;&#x73B0;GenericService&#x63A5;&#x53E3;&#x5904;&#x7406;&#x6240;&#x6709;&#x670D;&#x52A1;&#x8BF7;&#x6C42;&#x3002;</p>
-</blockquote>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">bean</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;genericService&quot;</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;com.foo.MyGenericService&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">&quot;genericService&quot;</span> /&gt;</span>
-</code></pre>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.foo;
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">MyGenericService</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">GenericService</span> </span>{
-
-    <span class="hljs-keyword">public</span> Object $invoke(String methodName, String[] parameterTypes, Object[] args) <span class="hljs-keyword">throws</span> GenericException {
-        <span class="hljs-keyword">if</span> (<span class="hljs-string">&quot;sayHello&quot;</span>.equals(methodName)) {
-            <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;Welcome &quot;</span> + args[<span class="hljs-number">0</span>];
-        }
-    }
-}
-</code></pre>
-<pre><code class="lang-java">... 
-GenericService xxxService = <span class="hljs-keyword">new</span> XxxGenericService(); <span class="hljs-comment">// &#x7528;com.alibaba.dubbo.rpc.service.GenericService&#x53EF;&#x4EE5;&#x66FF;&#x4EE3;&#x6240;&#x6709;&#x63A5;&#x53E3;&#x5B9E;&#x73B0; </span>
-
-ServiceConfig&lt;GenericService&gt; service = <span class="hljs-keyword">new</span> ServiceConfig&lt;GenericService&gt;(); <span class="hljs-comment">// &#x8BE5;&#x5B9E;&#x4F8B;&#x5F88;&#x91CD;&#x91CF;&#xFF0C;&#x91CC;&#x9762;&#x5C01;&#x88C5;&#x4E86;&#x6240;&#x6709;&#x4E0E;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x53CA;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x8FDE;&#x63A5;&#xFF0C;&#x8BF7;&#x7F13;&#x5B58;</span>
-service.setInterface(<span class="hljs-string">&quot;com.xxx.XxxService&quot;</span>); <span class="hljs-comment">// &#x5F31;&#x7C7B;&#x578B;&#x63A5;&#x53E3;&#x540D; </span>
-service.setVersion(<span class="hljs-string">&quot;1.0.0&quot;</span>); 
-service.setRef(xxxService); <span class="hljs-comment">// &#x6307;&#x5411;&#x4E00;&#x4E2A;&#x901A;&#x7528;&#x670D;&#x52A1;&#x5B9E;&#x73B0; </span>
-
-<span class="hljs-comment">// &#x66B4;&#x9732;&#x53CA;&#x6CE8;&#x518C;&#x670D;&#x52A1; </span>
-service.export();
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="泛化引用.html" class="navigation navigation-prev " aria-label="Previous page: 4.17 泛化引用">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="回声测试.html" class="navigation navigation-next " aria-label="Next page: 4.19 回声测试">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.18 泛化实现","level":"1.5.17","depth":2,"next":{"title":"4.19 回声测试","level":"1.5.18","depth":2,"path":"demos/回声测试.md","ref":"demos/回声测试.md","articles":[]},"previous":{"title":"4.17 泛化引用","level":"1.5.16","depth":2,"path":"demos/泛化引用.md","ref":"demos/泛化引用.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/泛化实现.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\346\263\233\345\214\226\345\274\225\347\224\250.html" "b/user-guide/demos/\346\263\233\345\214\226\345\274\225\347\224\250.html"
deleted file mode 100644
index 4479ea5..0000000
--- "a/user-guide/demos/\346\263\233\345\214\226\345\274\225\347\224\250.html"
+++ /dev/null
@@ -1,1532 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.17 泛化引用 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="泛化实现.html" />
-    
-    
-    <link rel="prev" href="结果缓存.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.17 泛化引用</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x6CDB;&#x63A5;&#x53E3;&#x8C03;&#x7528;&#x65B9;&#x5F0F;&#x4E3B;&#x8981;&#x7528;&#x4E8E;&#x5BA2;&#x6237;&#x7AEF;&#x6CA1;&#x6709;API&#x63A5;&#x53E3;&#x53CA;&#x6A21;&#x578B;&#x7C7B;&#x5143;&#x7684;&#x60C5;&#x51B5;&#xFF0C;&#x53C2;&#x6570;&#x53CA;&#x8FD4;&#x56DE;&#x503C;&#x4E2D;&#x7684;&#x6240;&#x6709;POJO&#x5747;&#x7528;Map&#x8868;&#x793A;&#xFF0C;&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x6846;&#x67B6;&#x96C6;&#x6210;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x901A;&#x7528;&#x7684;&#x670D;&#x52A1;&#x6D4B;&#x8BD5;&#x6846;&#x67B6;&#xFF0C;&#x53EF;&#x901A;&#x8FC7;GenericService&#x8C03;&#x7528;&#x6240;&#x6709;&#x670D;&#x52A1;&#x5B9E;&#x73B0;&#x3002;</p>
-</blockquote>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;barService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">generic</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-</code></pre>
-<pre><code class="lang-java">GenericService barService = (GenericService) applicationContext.getBean(<span class="hljs-string">&quot;barService&quot;</span>);
-Object result = barService.$invoke(<span class="hljs-string">&quot;sayHello&quot;</span>, <span class="hljs-keyword">new</span> String[] { <span class="hljs-string">&quot;java.lang.String&quot;</span> }, <span class="hljs-keyword">new</span> Object[] { <span class="hljs-string">&quot;World&quot;</span> });
-</code></pre>
-<pre><code class="lang-java"><span class="hljs-keyword">import</span> com.alibaba.dubbo.rpc.service.GenericService; 
-... 
-
-<span class="hljs-comment">// &#x5F15;&#x7528;&#x8FDC;&#x7A0B;&#x670D;&#x52A1; </span>
-ReferenceConfig&lt;GenericService&gt; reference = <span class="hljs-keyword">new</span> ReferenceConfig&lt;GenericService&gt;(); <span class="hljs-comment">// &#x8BE5;&#x5B9E;&#x4F8B;&#x5F88;&#x91CD;&#x91CF;&#xFF0C;&#x91CC;&#x9762;&#x5C01;&#x88C5;&#x4E86;&#x6240;&#x6709;&#x4E0E;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x53CA;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x8FDE;&#x63A5;&#xFF0C;&#x8BF7;&#x7F13;&#x5B58;</span>
-reference.setInterface(<span class="hljs-string">&quot;com.xxx.XxxService&quot;</span>); <span class="hljs-comment">// &#x5F31;&#x7C7B;&#x578B;&#x63A5;&#x53E3;&#x540D; </span>
-reference.setVersion(<span class="hljs-string">&quot;1.0.0&quot;</span>); 
-reference.setGeneric(<span class="hljs-keyword">true</span>); <span class="hljs-comment">// &#x58F0;&#x660E;&#x4E3A;&#x6CDB;&#x5316;&#x63A5;&#x53E3; </span>
-
-GenericService genericService = reference.get(); <span class="hljs-comment">// &#x7528;com.alibaba.dubbo.rpc.service.GenericService&#x53EF;&#x4EE5;&#x66FF;&#x4EE3;&#x6240;&#x6709;&#x63A5;&#x53E3;&#x5F15;&#x7528; </span>
-
-<span class="hljs-comment">// &#x57FA;&#x672C;&#x7C7B;&#x578B;&#x4EE5;&#x53CA;Date,List,Map&#x7B49;&#x4E0D;&#x9700;&#x8981;&#x8F6C;&#x6362;&#xFF0C;&#x76F4;&#x63A5;&#x8C03;&#x7528; </span>
-Object result = genericService.$invoke(<span class="hljs-string">&quot;sayHello&quot;</span>, <span class="hljs-keyword">new</span> String[] {<span class="hljs-string">&quot;java.lang.String&quot;</span>}, <span class="hljs-keyword">new</span> Object[] {<span class="hljs-string">&quot;world&quot;</span>}); 
-
-<span class="hljs-comment">// &#x7528;Map&#x8868;&#x793A;POJO&#x53C2;&#x6570;&#xFF0C;&#x5982;&#x679C;&#x8FD4;&#x56DE;&#x503C;&#x4E3A;POJO&#x4E5F;&#x5C06;&#x81EA;&#x52A8;&#x8F6C;&#x6210;Map </span>
-Map&lt;String, Object&gt; person = <span class="hljs-keyword">new</span> HashMap&lt;String, Object&gt;(); 
-person.put(<span class="hljs-string">&quot;name&quot;</span>, <span class="hljs-string">&quot;xxx&quot;</span>); 
-person.put(<span class="hljs-string">&quot;password&quot;</span>, <span class="hljs-string">&quot;yyy&quot;</span>); 
-Object result = genericService.$invoke(<span class="hljs-string">&quot;findPerson&quot;</span>, <span class="hljs-keyword">new</span> String[]{<span class="hljs-string">&quot;com.xxx.Person&quot;</span>}, <span class="hljs-keyword">new</span> Object[]{person}); <span class="hljs-comment">// &#x5982;&#x679C;&#x8FD4;&#x56DE;POJO&#x5C06;&#x81EA;&#x52A8;&#x8F6C;&#x6210;Map </span>
-
-...
-</code></pre>
-<p>&#x5047;&#x8BBE;&#x5B58;&#x5728;POJO&#x5982;&#xFF1A;</p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.xxx;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">PersonImpl</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Person</span> </span>{
-    <span class="hljs-keyword">private</span> String name;
-    <span class="hljs-keyword">private</span> String password;
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> String <span class="hljs-title">getName</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-keyword">return</span> name;
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">setName</span><span class="hljs-params">(String name)</span> </span>{
-        <span class="hljs-keyword">this</span>.name = name;
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> String <span class="hljs-title">getPassword</span><span class="hljs-params">()</span> </span>{
-        <span class="hljs-keyword">return</span> password;
-    }
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">setPassword</span><span class="hljs-params">(String password)</span> </span>{
-        <span class="hljs-keyword">this</span>.password = password;
-    }
-}
-</code></pre>
-<p>&#x5219;POJO&#x6570;&#x636E;&#xFF1A;</p>
-<pre><code class="lang-java">Person person = <span class="hljs-keyword">new</span> PersonImpl(); 
-person.setName(<span class="hljs-string">&quot;xxx&quot;</span>); 
-person.setPassword(<span class="hljs-string">&quot;yyy&quot;</span>);
-</code></pre>
-<p>&#x53EF;&#x7528;&#x4E0B;&#x9762;Map&#x8868;&#x793A;&#xFF1A;</p>
-<pre><code class="lang-java">Map&lt;String, Object&gt; map = <span class="hljs-keyword">new</span> HashMap&lt;String, Object&gt;(); 
-map.put(<span class="hljs-string">&quot;class&quot;</span>, <span class="hljs-string">&quot;com.xxx.PersonImpl&quot;</span>); <span class="hljs-comment">// &#x6CE8;&#x610F;&#xFF1A;&#x5982;&#x679C;&#x53C2;&#x6570;&#x7C7B;&#x578B;&#x662F;&#x63A5;&#x53E3;&#xFF0C;&#x6216;&#x8005;List&#x7B49;&#x4E22;&#x5931;&#x6CDB;&#x578B;&#xFF0C;&#x53EF;&#x901A;&#x8FC7;class&#x5C5E;&#x6027;&#x6307;&#x5B9A;&#x7C7B;&#x578B;&#x3002;</span>
-map.put(<span class="hljs-string">&quot;name&quot;</span>, <span class="hljs-string">&quot;xxx&quot;</span>); 
-map.put(<span class="hljs-string">&quot;password&quot;</span>, <span class="hljs-string">&quot;yyy&quot;</span>);
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="结果缓存.html" class="navigation navigation-prev " aria-label="Previous page: 4.16 结果缓存">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="泛化实现.html" class="navigation navigation-next " aria-label="Next page: 4.18 泛化实现">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.17 泛化引用","level":"1.5.16","depth":2,"next":{"title":"4.18 泛化实现","level":"1.5.17","depth":2,"path":"demos/泛化实现.md","ref":"demos/泛化实现.md","articles":[]},"previous":{"title":"4.16 结果缓存","level":"1.5.15","depth":2,"path":"demos/结果缓存.md","ref":"demos/结果缓存.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/泛化引用.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\347\233\264\350\277\236\346\217\220\344\276\233\350\200\205.html" "b/user-guide/demos/\347\233\264\350\277\236\346\217\220\344\276\233\350\200\205.html"
deleted file mode 100644
index 2d1c1da..0000000
--- "a/user-guide/demos/\347\233\264\350\277\236\346\217\220\344\276\233\350\200\205.html"
+++ /dev/null
@@ -1,1499 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.5 直连提供者 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="只订阅.html" />
-    
-    
-    <link rel="prev" href="线程模型.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.5 直连提供者</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x5728;&#x5F00;&#x53D1;&#x53CA;&#x6D4B;&#x8BD5;&#x73AF;&#x5883;&#x4E0B;&#xFF0C;&#x7ECF;&#x5E38;&#x9700;&#x8981;&#x7ED5;&#x8FC7;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x53EA;&#x6D4B;&#x8BD5;&#x6307;&#x5B9A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x8FD9;&#x65F6;&#x5019;&#x53EF;&#x80FD;&#x9700;&#x8981;&#x70B9;&#x5BF9;&#x70B9;&#x76F4;&#x8FDE;&#xFF0C;&#x70B9;&#x5BF9;&#x70B9;&#x76F4;&#x8054;&#x65B9;&#x5F0F;&#xFF0C;&#x5C06;&#x4EE5;&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x4E3A;&#x5355;&#x4F4D;&#xFF0C;&#x5FFD;&#x7565;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x63D0;&#x4F9B;&#x8005;&#x5217;&#x8868;&#xFF0C;A&#x63A5;&#x53E3;&#x914D;&#x7F6E;&#x70B9;&#x5BF9;&#x70B9;&#xFF0C;&#x4E0D;&#x5F71;&#x54CD;B&#x63A5;&#x53E3;&#x4ECE;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x83B7;&#x53D6;&#x5217;&#x8868;&#x3002;</p>
-<p><img src="../sources/images/dubbo-directly.jpg" alt="/user-guide/images/dubbo-directly.jpg"></p>
-<ul>
-<li><p>&#x5982;&#x679C;&#x662F;&#x7EBF;&#x4E0A;&#x9700;&#x6C42;&#x9700;&#x8981;&#x70B9;&#x5BF9;&#x70B9;&#xFF0C;&#x53EF;&#x5728; <code>&lt;dubbo:reference&gt;</code> &#x4E2D;&#x914D;&#x7F6E;url&#x6307;&#x5411;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x5C06;&#x7ED5;&#x8FC7;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x591A;&#x4E2A;&#x5730;&#x5740;&#x7528;&#x5206;&#x53F7;&#x9694;&#x5F00;&#xFF0C;&#x914D;&#x7F6E;&#x5982;&#x4E0B;&#xFF1A;</p>
-<blockquote>
-<p>1.0.6&#x53CA;&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</p>
-</blockquote>
-<pre><code class="lang-xml">  <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;xxxService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.xxx.XxxService&quot;</span> <span class="hljs-attr">url</span>=<span class="hljs-string">&quot;dubbo://localhost:20890&quot;</span> /&gt;</span>
-</code></pre>
-</li>
-<li><p>&#x5728;JVM&#x542F;&#x52A8;&#x53C2;&#x6570;&#x4E2D;&#x52A0;&#x5165;-D&#x53C2;&#x6570;&#x6620;&#x5C04;&#x670D;&#x52A1;&#x5730;&#x5740;&#xFF0C;&#x5982;&#xFF1A;</p>
-<blockquote>
-<p>key&#x4E3A;&#x670D;&#x52A1;&#x540D;&#xFF0C;value&#x4E3A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;url&#xFF0C;&#x6B64;&#x914D;&#x7F6E;&#x4F18;&#x5148;&#x7EA7;&#x6700;&#x9AD8;&#xFF0C;1.0.15&#x53CA;&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</p>
-</blockquote>
-<pre><code class="lang-sh">  java -Dcom.alibaba.xxx.XxxService=dubbo://localhost:20890
-</code></pre>
-</li>
-<li><p>&#x5982;&#x679C;&#x670D;&#x52A1;&#x6BD4;&#x8F83;&#x591A;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x7528;&#x6587;&#x4EF6;&#x6620;&#x5C04;&#xFF0C;&#x5982;&#xFF1A;</p>
-<blockquote>
-<p>&#x7528;-Ddubbo.resolve.file&#x6307;&#x5B9A;&#x6620;&#x5C04;&#x6587;&#x4EF6;&#x8DEF;&#x5F84;&#xFF0C;&#x6B64;&#x914D;&#x7F6E;&#x4F18;&#x5148;&#x7EA7;&#x9AD8;&#x4E8E;<code>&lt;dubbo:reference&gt;</code>&#x4E2D;&#x7684;&#x914D;&#x7F6E;&#xFF0C;1.0.15&#x53CA;&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;
-2.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x81EA;&#x52A8;&#x52A0;&#x8F7D;${user.home}/dubbo-resolve.properties&#x6587;&#x4EF6;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x914D;&#x7F6E;</p>
-</blockquote>
-<pre><code class="lang-sh">  java -Ddubbo.resolve.file=xxx.properties
-</code></pre>
-<p>  &#x7136;&#x540E;&#x5728;&#x6620;&#x5C04;&#x6587;&#x4EF6;xxx.properties&#x4E2D;&#x52A0;&#x5165;&#xFF1A;(key&#x4E3A;&#x670D;&#x52A1;&#x540D;&#xFF0C;value&#x4E3A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;url)</p>
-<pre><code class="lang-sh">  com.alibaba.xxx.XxxService=dubbo://localhost:20890
-</code></pre>
-</li>
-</ul>
-<blockquote>
-<p><strong><img src="../sources/images/check.gif" alt="warning">&#x6CE8;&#x610F;</strong><br>&#x4E3A;&#x4E86;&#x907F;&#x514D;&#x590D;&#x6742;&#x5316;&#x7EBF;&#x4E0A;&#x73AF;&#x5883;&#xFF0C;&#x4E0D;&#x8981;&#x5728;&#x7EBF;&#x4E0A;&#x4F7F;&#x7528;&#x8FD9;&#x4E2A;&#x529F;&#x80FD;&#xFF0C;&#x53EA;&#x5E94;&#x5728;&#x6D4B;&#x8BD5;&#x9636;&#x6BB5;&#x4F7F;&#x7528;&#x3002;</p>
-</blockquote>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="线程模型.html" class="navigation navigation-prev " aria-label="Previous page: 4.4 线程模型">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="只订阅.html" class="navigation navigation-next " aria-label="Next page: 4.6 只订阅">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.5 直连提供者","level":"1.5.5","depth":2,"next":{"title":"4.6 只订阅","level":"1.5.6","depth":2,"path":"demos/只订阅.md","ref":"demos/只订阅.md","articles":[]},"previous":{"title":"4.4 线程模型","level":"1.5.4","depth":2,"path":"demos/线程模型.md","ref":"demos/线程模型.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/直连提供者.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\347\262\230\346\273\236\350\277\236\346\216\245.html" "b/user-guide/demos/\347\262\230\346\273\236\350\277\236\346\216\245.html"
deleted file mode 100644
index 237ba27..0000000
--- "a/user-guide/demos/\347\262\230\346\273\236\350\277\236\346\216\245.html"
+++ /dev/null
@@ -1,1473 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.32 粘滞连接 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="令牌验证.html" />
-    
-    
-    <link rel="prev" href="延迟连接.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.32 粘滞连接</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x7C98;&#x6EDE;&#x8FDE;&#x63A5;&#x7528;&#x4E8E;&#x6709;&#x72B6;&#x6001;&#x670D;&#x52A1;&#xFF0C;&#x5C3D;&#x53EF;&#x80FD;&#x8BA9;&#x5BA2;&#x6237;&#x7AEF;&#x603B;&#x662F;&#x5411;&#x540C;&#x4E00;&#x63D0;&#x4F9B;&#x8005;&#x53D1;&#x8D77;&#x8C03;&#x7528;&#xFF0C;&#x9664;&#x975E;&#x8BE5;&#x63D0;&#x4F9B;&#x8005;&#x6302;&#x4E86;&#xFF0C;&#x518D;&#x8FDE;&#x53E6;&#x4E00;&#x53F0;&#x3002;</p>
-<p><img src="../sources/images/check.gif" alt="warning">&#x7C98;&#x6EDE;&#x8FDE;&#x63A5;&#x5C06;&#x81EA;&#x52A8;&#x5F00;&#x542F;&#x5EF6;&#x8FDF;&#x8FDE;&#x63A5;&#xFF0C;&#x4EE5;&#x51CF;&#x5C11;&#x957F;&#x8FDE;&#x63A5;&#x6570;, &#x53C2;&#x89C1;&#xFF1A;<a href="&#x5EF6;&#x8FDF;&#x8FDE;&#x63A5;.html">&#x5EF6;&#x8FDF;&#x8FDE;&#x63A5;</a></p>
-</blockquote>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">sticky</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="延迟连接.html" class="navigation navigation-prev " aria-label="Previous page: 4.31 延迟连接">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="令牌验证.html" class="navigation navigation-next " aria-label="Next page: 4.33 令牌验证">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.32 粘滞连接","level":"1.5.31","depth":2,"next":{"title":"4.33 令牌验证","level":"1.5.32","depth":2,"path":"demos/令牌验证.md","ref":"demos/令牌验证.md","articles":[]},"previous":{"title":"4.31 延迟连接","level":"1.5.30","depth":2,"path":"demos/延迟连接.md","ref":"demos/延迟连接.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/粘滞连接.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\347\272\277\347\250\213\346\250\241\345\236\213.html" "b/user-guide/demos/\347\272\277\347\250\213\346\250\241\345\236\213.html"
deleted file mode 100644
index 141f99d..0000000
--- "a/user-guide/demos/\347\272\277\347\250\213\346\250\241\345\236\213.html"
+++ /dev/null
@@ -1,1493 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.4 线程模型 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="直连提供者.html" />
-    
-    
-    <link rel="prev" href="负载均衡.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.4 线程模型</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p><img src="../sources/images/dubbo-protocol.jpg" alt="dubbo-protocol"></p>
-<blockquote>
-<p><strong><img src="../sources/images/check.gif" alt="check">&#x4E8B;&#x4EF6;&#x5904;&#x7406;&#x7EBF;&#x7A0B;&#x8BF4;&#x660E;</strong> </p>
-<ul>
-<li>&#x5982;&#x679C;&#x4E8B;&#x4EF6;&#x5904;&#x7406;&#x7684;&#x903B;&#x8F91;&#x80FD;&#x8FC5;&#x901F;&#x5B8C;&#x6210;&#xFF0C;&#x5E76;&#x4E14;&#x4E0D;&#x4F1A;&#x53D1;&#x8D77;&#x65B0;&#x7684;IO&#x8BF7;&#x6C42;&#xFF0C;&#x6BD4;&#x5982;&#x53EA;&#x662F;&#x5728;&#x5185;&#x5B58;&#x4E2D;&#x8BB0;&#x4E2A;&#x6807;&#x8BC6;&#xFF0C;&#x5219;&#x76F4;&#x63A5;&#x5728;IO&#x7EBF;&#x7A0B;&#x4E0A;&#x5904;&#x7406;&#x66F4;&#x5FEB;&#xFF0C;&#x56E0;&#x4E3A;&#x51CF;&#x5C11;&#x4E86;&#x7EBF;&#x7A0B;&#x6C60;&#x8C03;&#x5EA6;&#x3002;  </li>
-<li>&#x4F46;&#x5982;&#x679C;&#x4E8B;&#x4EF6;&#x5904;&#x7406;&#x903B;&#x8F91;&#x8F83;&#x6162;&#xFF0C;&#x6216;&#x8005;&#x9700;&#x8981;&#x53D1;&#x8D77;&#x65B0;&#x7684;IO&#x8BF7;&#x6C42;&#xFF0C;&#x6BD4;&#x5982;&#x9700;&#x8981;&#x67E5;&#x8BE2;&#x6570;&#x636E;&#x5E93;&#xFF0C;&#x5219;&#x5FC5;&#x987B;&#x6D3E;&#x53D1;&#x5230;&#x7EBF;&#x7A0B;&#x6C60;&#xFF0C;&#x5426;&#x5219;IO&#x7EBF;&#x7A0B;&#x963B;&#x585E;&#xFF0C;&#x5C06;&#x5BFC;&#x81F4;&#x4E0D;&#x80FD;&#x63A5;&#x6536;&#x5176;&#x5B83;&#x8BF7;&#x6C42;&#x3002;  </li>
-<li>&#x5982;&#x679C;&#x7528;IO&#x7EBF;&#x7A0B;&#x5904;&#x7406;&#x4E8B;&#x4EF6;&#xFF0C;&#x53C8;&#x5728;&#x4E8B;&#x4EF6;&#x5904;&#x7406;&#x8FC7;&#x7A0B;&#x4E2D;&#x53D1;&#x8D77;&#x65B0;&#x7684;IO&#x8BF7;&#x6C42;&#xFF0C;&#x6BD4;&#x5982;&#x5728;&#x8FDE;&#x63A5;&#x4E8B;&#x4EF6;&#x4E2D;&#x53D1;&#x8D77;&#x767B;&#x5F55;&#x8BF7;&#x6C42;&#xFF0C;&#x4F1A;&#x62A5;&#x201C;&#x53EF;&#x80FD;&#x5F15;&#x53D1;&#x6B7B;&#x9501;&#x201D;&#x5F02;&#x5E38;&#xFF0C;&#x4F46;&#x4E0D;&#x4F1A;&#x771F;&#x6B7B;&#x9501;&#x3002;</li>
-</ul>
-</blockquote>
-<h5 id="dispatcher">Dispatcher</h5>
-<ul>
-<li><code>all</code> &#x6240;&#x6709;&#x6D88;&#x606F;&#x90FD;&#x6D3E;&#x53D1;&#x5230;&#x7EBF;&#x7A0B;&#x6C60;&#xFF0C;&#x5305;&#x62EC;&#x8BF7;&#x6C42;&#xFF0C;&#x54CD;&#x5E94;&#xFF0C;&#x8FDE;&#x63A5;&#x4E8B;&#x4EF6;&#xFF0C;&#x65AD;&#x5F00;&#x4E8B;&#x4EF6;&#xFF0C;&#x5FC3;&#x8DF3;&#x7B49;&#x3002;</li>
-<li><code>direct</code> &#x6240;&#x6709;&#x6D88;&#x606F;&#x90FD;&#x4E0D;&#x6D3E;&#x53D1;&#x5230;&#x7EBF;&#x7A0B;&#x6C60;&#xFF0C;&#x5168;&#x90E8;&#x5728;IO&#x7EBF;&#x7A0B;&#x4E0A;&#x76F4;&#x63A5;&#x6267;&#x884C;&#x3002;</li>
-<li><code>message</code> &#x53EA;&#x6709;&#x8BF7;&#x6C42;&#x54CD;&#x5E94;&#x6D88;&#x606F;&#x6D3E;&#x53D1;&#x5230;&#x7EBF;&#x7A0B;&#x6C60;&#xFF0C;&#x5176;&#x5B83;&#x8FDE;&#x63A5;&#x65AD;&#x5F00;&#x4E8B;&#x4EF6;&#xFF0C;&#x5FC3;&#x8DF3;&#x7B49;&#x6D88;&#x606F;&#xFF0C;&#x76F4;&#x63A5;&#x5728;IO&#x7EBF;&#x7A0B;&#x4E0A;&#x6267;&#x884C;&#x3002;</li>
-<li><code>execution</code> &#x53EA;&#x8BF7;&#x6C42;&#x6D88;&#x606F;&#x6D3E;&#x53D1;&#x5230;&#x7EBF;&#x7A0B;&#x6C60;&#xFF0C;&#x4E0D;&#x542B;&#x54CD;&#x5E94;&#xFF0C;&#x54CD;&#x5E94;&#x548C;&#x5176;&#x5B83;&#x8FDE;&#x63A5;&#x65AD;&#x5F00;&#x4E8B;&#x4EF6;&#xFF0C;&#x5FC3;&#x8DF3;&#x7B49;&#x6D88;&#x606F;&#xFF0C;&#x76F4;&#x63A5;&#x5728;IO&#x7EBF;&#x7A0B;&#x4E0A;&#x6267;&#x884C;&#x3002;</li>
-<li><code>connection</code> &#x5728;IO&#x7EBF;&#x7A0B;&#x4E0A;&#xFF0C;&#x5C06;&#x8FDE;&#x63A5;&#x65AD;&#x5F00;&#x4E8B;&#x4EF6;&#x653E;&#x5165;&#x961F;&#x5217;&#xFF0C;&#x6709;&#x5E8F;&#x9010;&#x4E2A;&#x6267;&#x884C;&#xFF0C;&#x5176;&#x5B83;&#x6D88;&#x606F;&#x6D3E;&#x53D1;&#x5230;&#x7EBF;&#x7A0B;&#x6C60;&#x3002;</li>
-</ul>
-<h5 id="threadpool">ThreadPool</h5>
-<ul>
-<li><code>fixed</code> &#x56FA;&#x5B9A;&#x5927;&#x5C0F;&#x7EBF;&#x7A0B;&#x6C60;&#xFF0C;&#x542F;&#x52A8;&#x65F6;&#x5EFA;&#x7ACB;&#x7EBF;&#x7A0B;&#xFF0C;&#x4E0D;&#x5173;&#x95ED;&#xFF0C;&#x4E00;&#x76F4;&#x6301;&#x6709;&#x3002;(&#x7F3A;&#x7701;)</li>
-<li><code>cached</code> &#x7F13;&#x5B58;&#x7EBF;&#x7A0B;&#x6C60;&#xFF0C;&#x7A7A;&#x95F2;&#x4E00;&#x5206;&#x949F;&#x81EA;&#x52A8;&#x5220;&#x9664;&#xFF0C;&#x9700;&#x8981;&#x65F6;&#x91CD;&#x5EFA;&#x3002;</li>
-<li><code>limited</code> &#x53EF;&#x4F38;&#x7F29;&#x7EBF;&#x7A0B;&#x6C60;&#xFF0C;&#x4F46;&#x6C60;&#x4E2D;&#x7684;&#x7EBF;&#x7A0B;&#x6570;&#x53EA;&#x4F1A;&#x589E;&#x957F;&#x4E0D;&#x4F1A;&#x6536;&#x7F29;&#x3002;(&#x4E3A;&#x907F;&#x514D;&#x6536;&#x7F29;&#x65F6;&#x7A81;&#x7136;&#x6765;&#x4E86;&#x5927;&#x6D41;&#x91CF;&#x5F15;&#x8D77;&#x7684;&#x6027;&#x80FD;&#x95EE;&#x9898;)&#x3002;</li>
-</ul>
-<p>&#x914D;&#x7F6E;&#x5982;&#x4E0B;:</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">dispatcher</span>=<span class="hljs-string">&quot;all&quot;</span> <span class="hljs-attr">threadpool</span>=<span class="hljs-string">&quot;fixed&quot;</span> <span class="hljs-attr">threads</span>=<span class="hljs-string">&quot;100&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="负载均衡.html" class="navigation navigation-prev " aria-label="Previous page: 4.3 负载均衡">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="直连提供者.html" class="navigation navigation-next " aria-label="Next page: 4.5 直连提供者">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.4 线程模型","level":"1.5.4","depth":2,"next":{"title":"4.5 直连提供者","level":"1.5.5","depth":2,"path":"demos/直连提供者.md","ref":"demos/直连提供者.md","articles":[]},"previous":{"title":"4.3 负载均衡","level":"1.5.3","depth":2,"path":"demos/负载均衡.md","ref":"demos/负载均衡.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/线程模型.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\347\273\223\346\236\234\347\274\223\345\255\230.html" "b/user-guide/demos/\347\273\223\346\236\234\347\274\223\345\255\230.html"
deleted file mode 100644
index 4876671..0000000
--- "a/user-guide/demos/\347\273\223\346\236\234\347\274\223\345\255\230.html"
+++ /dev/null
@@ -1,1486 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.16 结果缓存 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="泛化引用.html" />
-    
-    
-    <link rel="prev" href="参数验证.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.16 结果缓存</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x7ED3;&#x679C;&#x7F13;&#x5B58;&#xFF0C;&#x7528;&#x4E8E;&#x52A0;&#x901F;&#x70ED;&#x95E8;&#x6570;&#x636E;&#x7684;&#x8BBF;&#x95EE;&#x901F;&#x5EA6;&#xFF0C;Dubbo&#x63D0;&#x4F9B;&#x58F0;&#x660E;&#x5F0F;&#x7F13;&#x5B58;&#xFF0C;&#x4EE5;&#x51CF;&#x5C11;&#x7528;&#x6237;&#x52A0;&#x7F13;&#x5B58;&#x7684;&#x5DE5;&#x4F5C;&#x91CF;&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">2.1.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</p>
-</blockquote>
-<p>&#x793A;&#x4F8B;&#x4EE3;&#x7801;&#xFF1A;<a href="https://github.com/alibaba/dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/cache" target="_blank">https://github.com/alibaba/dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/cache</a></p>
-<ul>
-<li><code>lru</code> &#x57FA;&#x4E8E;&#x6700;&#x8FD1;&#x6700;&#x5C11;&#x4F7F;&#x7528;&#x539F;&#x5219;&#x5220;&#x9664;&#x591A;&#x4F59;&#x7F13;&#x5B58;&#xFF0C;&#x4FDD;&#x6301;&#x6700;&#x70ED;&#x7684;&#x6570;&#x636E;&#x88AB;&#x7F13;&#x5B58;&#x3002;</li>
-<li><code>threadlocal</code> &#x5F53;&#x524D;&#x7EBF;&#x7A0B;&#x7F13;&#x5B58;&#xFF0C;&#x6BD4;&#x5982;&#x4E00;&#x4E2A;&#x9875;&#x9762;&#x6E32;&#x67D3;&#xFF0C;&#x7528;&#x5230;&#x5F88;&#x591A;portal&#xFF0C;&#x6BCF;&#x4E2A;portal&#x90FD;&#x8981;&#x53BB;&#x67E5;&#x7528;&#x6237;&#x4FE1;&#x606F;&#xFF0C;&#x901A;&#x8FC7;&#x7EBF;&#x7A0B;&#x7F13;&#x5B58;&#xFF0C;&#x53EF;&#x4EE5;&#x51CF;&#x5C11;&#x8FD9;&#x79CD;&#x591A;&#x4F59;&#x8BBF;&#x95EE;&#x3002;</li>
-<li><code>jcache</code> &#x4E0E; <a href="http://jcp.org/en/jsr/detail?id=107%27" target="_blank">JSR107</a> &#x96C6;&#x6210;&#xFF0C;&#x53EF;&#x4EE5;&#x6865;&#x63A5;&#x5404;&#x79CD;&#x7F13;&#x5B58;&#x5B9E;&#x73B0;&#x3002;</li>
-</ul>
-<p>&#x7F13;&#x5B58;&#x7C7B;&#x578B;&#x53EF;&#x6269;&#x5C55;&#xFF0C;&#x53C2;&#x89C1;&#xFF1A;<a href="http://dubbo.io/developer-guide/SPI%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C/%E7%BC%93%E5%AD%98%E6%89%A9%E5%B1%95.html" target="_blank">CacheFactory&#x6269;&#x5C55;&#x70B9;</a></p>
-<p>&#x914D;&#x7F6E;&#x5982;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">cache</span>=<span class="hljs-string">&quot;lru&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;findBar&quot;</span> <span class="hljs-attr">cache</span>=<span class="hljs-string">&quot;lru&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:reference</span>&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="参数验证.html" class="navigation navigation-prev " aria-label="Previous page: 4.15 参数验证">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="泛化引用.html" class="navigation navigation-next " aria-label="Next page: 4.17 泛化引用">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.16 结果缓存","level":"1.5.15","depth":2,"next":{"title":"4.17 泛化引用","level":"1.5.16","depth":2,"path":"demos/泛化引用.md","ref":"demos/泛化引用.md","articles":[]},"previous":{"title":"4.15 参数验证","level":"1.5.14","depth":2,"path":"demos/参数验证.md","ref":"demos/参数验证.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/结果缓存.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\350\256\277\351\227\256\346\227\245\345\277\227.html" "b/user-guide/demos/\350\256\277\351\227\256\346\227\245\345\277\227.html"
deleted file mode 100644
index a5420e9..0000000
--- "a/user-guide/demos/\350\256\277\351\227\256\346\227\245\345\277\227.html"
+++ /dev/null
@@ -1,1477 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.40 访问日志 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="服务容器.html" />
-    
-    
-    <link rel="prev" href="日志适配.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.40 访问日志</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x5982;&#x679C;&#x4F60;&#x60F3;&#x8BB0;&#x5F55;&#x6BCF;&#x4E00;&#x6B21;&#x8BF7;&#x6C42;&#x4FE1;&#x606F;&#xFF0C;&#x53EF;&#x5F00;&#x542F;&#x8BBF;&#x95EE;&#x65E5;&#x5FD7;&#xFF0C;&#x7C7B;&#x4F3C;&#x4E8E;apache&#x7684;&#x8BBF;&#x95EE;&#x65E5;&#x5FD7;&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">&#x6B64;&#x65E5;&#x5FD7;&#x91CF;&#x6BD4;&#x8F83;&#x5927;&#xFF0C;&#x8BF7;&#x6CE8;&#x610F;&#x78C1;&#x76D8;&#x5BB9;&#x91CF;&#x3002;</p>
-</blockquote>
-<p>&#x5C06;&#x8BBF;&#x95EE;&#x65E5;&#x5FD7;&#x8F93;&#x51FA;&#x5230;&#x5F53;&#x524D;&#x5E94;&#x7528;&#x7684;log4j&#x65E5;&#x5FD7;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">accesslog</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x5C06;&#x8BBF;&#x95EE;&#x65E5;&#x5FD7;&#x8F93;&#x51FA;&#x5230;&#x6307;&#x5B9A;&#x6587;&#x4EF6;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">accesslog</span>=<span class="hljs-string">&quot;http://10.20.160.198/wiki/display/dubbo/foo/bar.log&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="日志适配.html" class="navigation navigation-prev " aria-label="Previous page: 4.39 日志适配">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="服务容器.html" class="navigation navigation-next " aria-label="Next page: 4.41 服务容器">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.40 访问日志","level":"1.5.39","depth":2,"next":{"title":"4.41 服务容器","level":"1.5.40","depth":2,"path":"demos/服务容器.md","ref":"demos/服务容器.md","articles":[]},"previous":{"title":"4.39 日志适配","level":"1.5.38","depth":2,"path":"demos/日志适配.md","ref":"demos/日志适配.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/访问日志.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\350\264\237\350\275\275\345\235\207\350\241\241.html" "b/user-guide/demos/\350\264\237\350\275\275\345\235\207\350\241\241.html"
deleted file mode 100644
index 2eebc5b..0000000
--- "a/user-guide/demos/\350\264\237\350\275\275\345\235\207\350\241\241.html"
+++ /dev/null
@@ -1,1509 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.3 负载均衡 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="线程模型.html" />
-    
-    
-    <link rel="prev" href="集群容错.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.3 负载均衡</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x5728;&#x96C6;&#x7FA4;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x65F6;&#xFF0C;Dubbo&#x63D0;&#x4F9B;&#x4E86;&#x591A;&#x79CD;&#x5747;&#x8861;&#x7B56;&#x7565;&#xFF0C;&#x7F3A;&#x7701;&#x4E3A;random&#x968F;&#x673A;&#x8C03;&#x7528;&#x3002;&#x53EF;&#x4EE5;&#x81EA;&#x884C;&#x6269;&#x5C55;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x7B56;&#x7565;&#xFF0C;&#x53C2;&#x89C1;&#xFF1A;<a href="http://dubbo.io/developer-guide/SPI%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E6%89%A9%E5%B1%95.html" target="_blank">&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x6269;&#x5C55;</a></p>
-</blockquote>
-<h5 id="random-loadbalance">Random LoadBalance</h5>
-<ul>
-<li>&#x968F;&#x673A;&#xFF0C;&#x6309;&#x6743;&#x91CD;&#x8BBE;&#x7F6E;&#x968F;&#x673A;&#x6982;&#x7387;&#x3002;</li>
-<li>&#x5728;&#x4E00;&#x4E2A;&#x622A;&#x9762;&#x4E0A;&#x78B0;&#x649E;&#x7684;&#x6982;&#x7387;&#x9AD8;&#xFF0C;&#x4F46;&#x8C03;&#x7528;&#x91CF;&#x8D8A;&#x5927;&#x5206;&#x5E03;&#x8D8A;&#x5747;&#x5300;&#xFF0C;&#x800C;&#x4E14;&#x6309;&#x6982;&#x7387;&#x4F7F;&#x7528;&#x6743;&#x91CD;&#x540E;&#x4E5F;&#x6BD4;&#x8F83;&#x5747;&#x5300;&#xFF0C;&#x6709;&#x5229;&#x4E8E;&#x52A8;&#x6001;&#x8C03;&#x6574;&#x63D0;&#x4F9B;&#x8005;&#x6743;&#x91CD;&#x3002;</li>
-</ul>
-<h5 id="roundrobin-loadbalance">RoundRobin LoadBalance</h5>
-<ul>
-<li>&#x8F6E;&#x5FAA;&#xFF0C;&#x6309;&#x516C;&#x7EA6;&#x540E;&#x7684;&#x6743;&#x91CD;&#x8BBE;&#x7F6E;&#x8F6E;&#x5FAA;&#x6BD4;&#x7387;&#x3002;</li>
-<li>&#x5B58;&#x5728;&#x6162;&#x7684;&#x63D0;&#x4F9B;&#x8005;&#x7D2F;&#x79EF;&#x8BF7;&#x6C42;&#x7684;&#x95EE;&#x9898;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;&#x7B2C;&#x4E8C;&#x53F0;&#x673A;&#x5668;&#x5F88;&#x6162;&#xFF0C;&#x4F46;&#x6CA1;&#x6302;&#xFF0C;&#x5F53;&#x8BF7;&#x6C42;&#x8C03;&#x5230;&#x7B2C;&#x4E8C;&#x53F0;&#x65F6;&#x5C31;&#x5361;&#x5728;&#x90A3;&#xFF0C;&#x4E45;&#x800C;&#x4E45;&#x4E4B;&#xFF0C;&#x6240;&#x6709;&#x8BF7;&#x6C42;&#x90FD;&#x5361;&#x5728;&#x8C03;&#x5230;&#x7B2C;&#x4E8C;&#x53F0;&#x4E0A;&#x3002;</li>
-</ul>
-<h5 id="leastactive-loadbalance">LeastActive LoadBalance</h5>
-<ul>
-<li>&#x6700;&#x5C11;&#x6D3B;&#x8DC3;&#x8C03;&#x7528;&#x6570;&#xFF0C;&#x76F8;&#x540C;&#x6D3B;&#x8DC3;&#x6570;&#x7684;&#x968F;&#x673A;&#xFF0C;&#x6D3B;&#x8DC3;&#x6570;&#x6307;&#x8C03;&#x7528;&#x524D;&#x540E;&#x8BA1;&#x6570;&#x5DEE;&#x3002;</li>
-<li>&#x4F7F;&#x6162;&#x7684;&#x63D0;&#x4F9B;&#x8005;&#x6536;&#x5230;&#x66F4;&#x5C11;&#x8BF7;&#x6C42;&#xFF0C;&#x56E0;&#x4E3A;&#x8D8A;&#x6162;&#x7684;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x8C03;&#x7528;&#x524D;&#x540E;&#x8BA1;&#x6570;&#x5DEE;&#x4F1A;&#x8D8A;&#x5927;&#x3002;</li>
-</ul>
-<h5 id="consistenthash-loadbalance">ConsistentHash LoadBalance</h5>
-<ul>
-<li>&#x4E00;&#x81F4;&#x6027;Hash&#xFF0C;&#x76F8;&#x540C;&#x53C2;&#x6570;&#x7684;&#x8BF7;&#x6C42;&#x603B;&#x662F;&#x53D1;&#x5230;&#x540C;&#x4E00;&#x63D0;&#x4F9B;&#x8005;&#x3002;</li>
-<li>&#x5F53;&#x67D0;&#x4E00;&#x53F0;&#x63D0;&#x4F9B;&#x8005;&#x6302;&#x65F6;&#xFF0C;&#x539F;&#x672C;&#x53D1;&#x5F80;&#x8BE5;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x8BF7;&#x6C42;&#xFF0C;&#x57FA;&#x4E8E;&#x865A;&#x62DF;&#x8282;&#x70B9;&#xFF0C;&#x5E73;&#x644A;&#x5230;&#x5176;&#x5B83;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x4E0D;&#x4F1A;&#x5F15;&#x8D77;&#x5267;&#x70C8;&#x53D8;&#x52A8;&#x3002;</li>
-<li>&#x7B97;&#x6CD5;&#x53C2;&#x89C1;&#xFF1A;<a href="http://en.wikipedia.org/wiki/Consistent_hashing&#x3002;" target="_blank">http://en.wikipedia.org/wiki/Consistent_hashing&#x3002;</a></li>
-<li>&#x7F3A;&#x7701;&#x53EA;&#x5BF9;&#x7B2C;&#x4E00;&#x4E2A;&#x53C2;&#x6570;Hash&#xFF0C;&#x5982;&#x679C;&#x8981;&#x4FEE;&#x6539;&#xFF0C;&#x8BF7;&#x914D;&#x7F6E;<code>&lt;dubbo:parameter key=&quot;hash.arguments&quot; value=&quot;0,1&quot; /&gt;</code></li>
-<li>&#x7F3A;&#x7701;&#x7528;160&#x4EFD;&#x865A;&#x62DF;&#x8282;&#x70B9;&#xFF0C;&#x5982;&#x679C;&#x8981;&#x4FEE;&#x6539;&#xFF0C;&#x8BF7;&#x914D;&#x7F6E; <code>&lt;dubbo:parameter key=&quot;hash.nodes&quot; value=&quot;320&quot; /&gt;</code></li>
-</ul>
-<p>&#x914D;&#x7F6E;&#x5982;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;...&quot;</span> <span class="hljs-attr">loadbalance</span>=<span class="hljs-string">&quot;roundrobin&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;...&quot;</span> <span class="hljs-attr">loadbalance</span>=<span class="hljs-string">&quot;roundrobin&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;...&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;...&quot;</span> <span class="hljs-attr">loadbalance</span>=<span class="hljs-string">&quot;roundrobin&quot;</span>/&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:service</span>&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;...&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;...&quot;</span> <span class="hljs-attr">loadbalance</span>=<span class="hljs-string">&quot;roundrobin&quot;</span>/&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:reference</span>&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="集群容错.html" class="navigation navigation-prev " aria-label="Previous page: 4.2 集群容错">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="线程模型.html" class="navigation navigation-next " aria-label="Next page: 4.4 线程模型">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.3 负载均衡","level":"1.5.3","depth":2,"next":{"title":"4.4 线程模型","level":"1.5.4","depth":2,"path":"demos/线程模型.md","ref":"demos/线程模型.md","articles":[]},"previous":{"title":"4.2 集群容错","level":"1.5.2","depth":2,"path":"demos/集群容错.md","ref":"demos/集群容错.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/负载均衡.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\350\267\257\347\224\261\350\247\204\345\210\231.html" "b/user-guide/demos/\350\267\257\347\224\261\350\247\204\345\210\231.html"
deleted file mode 100644
index 88337d3..0000000
--- "a/user-guide/demos/\350\267\257\347\224\261\350\247\204\345\210\231.html"
+++ /dev/null
@@ -1,1579 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.34 路由规则 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="配置规则.html" />
-    
-    
-    <link rel="prev" href="令牌验证.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.34 路由规则</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning">2.2.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;,</p>
-<p><img src="../sources/images/check.gif" alt="warning">&#x8DEF;&#x7531;&#x89C4;&#x5219;&#x6269;&#x5C55;&#x70B9;&#xFF1A;<a href="http://dubbo.io/developer-guide/SPI%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C/%E8%B7%AF%E7%94%B1%E6%89%A9%E5%B1%95.html" target="_blank">&#x8DEF;&#x7531;&#x6269;&#x5C55;</a></p>
-</blockquote>
-<p>&#x5411;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5199;&#x5165;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#xFF1A;(&#x901A;&#x5E38;&#x7531;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x6216;&#x6CBB;&#x7406;&#x4E2D;&#x5FC3;&#x7684;&#x9875;&#x9762;&#x5B8C;&#x6210;)</p>
-<pre><code class="lang-java">RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
-Registry registry = registryFactory.getRegistry(URL.valueOf(&quot;zookeeper://10.20.153.10:2181&quot;));
-registry.register(URL.valueOf(&quot;condition://0.0.0.0/com.foo.BarService?category=routers&amp;dynamic=false&amp;rule=&quot; + URL.encode(&quot;http://10.20.160.198/wiki/display/dubbo/host = 10.20.153.10 =&gt; host = 10.20.153.11&quot;) + &quot;));
-</code></pre>
-<p>&#x5176;&#x4E2D;&#xFF1A;</p>
-<ul>
-<li>condition://
-&#x8868;&#x793A;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#x7684;&#x7C7B;&#x578B;&#xFF0C;&#x652F;&#x6301;&#x6761;&#x4EF6;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#x548C;&#x811A;&#x672C;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#xFF0C;&#x53EF;&#x6269;&#x5C55;&#xFF0C;&#x5FC5;&#x586B;&#x3002;</li>
-<li>0.0.0.0
-&#x8868;&#x793A;&#x5BF9;&#x6240;&#x6709;IP&#x5730;&#x5740;&#x751F;&#x6548;&#xFF0C;&#x5982;&#x679C;&#x53EA;&#x60F3;&#x5BF9;&#x67D0;&#x4E2A;IP&#x7684;&#x751F;&#x6548;&#xFF0C;&#x8BF7;&#x586B;&#x5165;&#x5177;&#x4F53;IP&#xFF0C;&#x5FC5;&#x586B;&#x3002;</li>
-<li>com.foo.BarService
-&#x8868;&#x793A;&#x53EA;&#x5BF9;&#x6307;&#x5B9A;&#x670D;&#x52A1;&#x751F;&#x6548;&#xFF0C;&#x5FC5;&#x586B;&#x3002;</li>
-<li>category=routers
-&#x8868;&#x793A;&#x8BE5;&#x6570;&#x636E;&#x4E3A;&#x52A8;&#x6001;&#x914D;&#x7F6E;&#x7C7B;&#x578B;&#xFF0C;&#x5FC5;&#x586B;&#x3002;</li>
-<li>dynamic=false
-&#x8868;&#x793A;&#x8BE5;&#x6570;&#x636E;&#x4E3A;&#x6301;&#x4E45;&#x6570;&#x636E;&#xFF0C;&#x5F53;&#x6CE8;&#x518C;&#x65B9;&#x9000;&#x51FA;&#x65F6;&#xFF0C;&#x6570;&#x636E;&#x4F9D;&#x7136;&#x4FDD;&#x5B58;&#x5728;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x5FC5;&#x586B;&#x3002;</li>
-<li>enabled=true
-&#x8986;&#x76D6;&#x89C4;&#x5219;&#x662F;&#x5426;&#x751F;&#x6548;&#xFF0C;&#x53EF;&#x4E0D;&#x586B;&#xFF0C;&#x7F3A;&#x7701;&#x751F;&#x6548;&#x3002;</li>
-<li>force=false
-&#x5F53;&#x8DEF;&#x7531;&#x7ED3;&#x679C;&#x4E3A;&#x7A7A;&#x65F6;&#xFF0C;&#x662F;&#x5426;&#x5F3A;&#x5236;&#x6267;&#x884C;&#xFF0C;&#x5982;&#x679C;&#x4E0D;&#x5F3A;&#x5236;&#x6267;&#x884C;&#xFF0C;&#x8DEF;&#x7531;&#x7ED3;&#x679C;&#x4E3A;&#x7A7A;&#x7684;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#x5C06;&#x81EA;&#x52A8;&#x5931;&#x6548;&#xFF0C;&#x53EF;&#x4E0D;&#x586B;&#xFF0C;&#x7F3A;&#x7701;&#x4E3A;flase&#x3002;</li>
-<li>runtime=false
-&#x662F;&#x5426;&#x5728;&#x6BCF;&#x6B21;&#x8C03;&#x7528;&#x65F6;&#x6267;&#x884C;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#xFF0C;&#x5426;&#x5219;&#x53EA;&#x5728;&#x63D0;&#x4F9B;&#x8005;&#x5730;&#x5740;&#x5217;&#x8868;&#x53D8;&#x66F4;&#x65F6;&#x9884;&#x5148;&#x6267;&#x884C;&#x5E76;&#x7F13;&#x5B58;&#x7ED3;&#x679C;&#xFF0C;&#x8C03;&#x7528;&#x65F6;&#x76F4;&#x63A5;&#x4ECE;&#x7F13;&#x5B58;&#x4E2D;&#x83B7;&#x53D6;&#x8DEF;&#x7531;&#x7ED3;&#x679C;&#x3002;
-&#x5982;&#x679C;&#x7528;&#x4E86;&#x53C2;&#x6570;&#x8DEF;&#x7531;&#xFF0C;&#x5FC5;&#x987B;&#x8BBE;&#x4E3A;true&#xFF0C;&#x9700;&#x8981;&#x6CE8;&#x610F;&#x8BBE;&#x7F6E;&#x4F1A;&#x5F71;&#x54CD;&#x8C03;&#x7528;&#x7684;&#x6027;&#x80FD;&#xFF0C;&#x53EF;&#x4E0D;&#x586B;&#xFF0C;&#x7F3A;&#x7701;&#x4E3A;flase&#x3002;</li>
-<li>priority=1
-&#x8DEF;&#x7531;&#x89C4;&#x5219;&#x7684;&#x4F18;&#x5148;&#x7EA7;&#xFF0C;&#x7528;&#x4E8E;&#x6392;&#x5E8F;&#xFF0C;&#x4F18;&#x5148;&#x7EA7;&#x8D8A;&#x5927;&#x8D8A;&#x9760;&#x524D;&#x6267;&#x884C;&#xFF0C;&#x53EF;&#x4E0D;&#x586B;&#xFF0C;&#x7F3A;&#x7701;&#x4E3A;0&#x3002;</li>
-<li>rule=URL.encode(&quot;host = 10.20.153.10 =&gt; host = 10.20.153.11&quot;)
-&#x8868;&#x793A;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#x7684;&#x5185;&#x5BB9;&#xFF0C;&#x5FC5;&#x586B;&#x3002;</li>
-</ul>
-<h4 id="&#x6761;&#x4EF6;&#x8DEF;&#x7531;&#x89C4;&#x5219;">&#x6761;&#x4EF6;&#x8DEF;&#x7531;&#x89C4;&#x5219;</h4>
-<p>&#x57FA;&#x4E8E;&#x6761;&#x4EF6;&#x8868;&#x8FBE;&#x5F0F;&#x7684;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#xFF0C;&#x5982;&#xFF1A;<code>host = 10.20.153.10 =&gt; host = 10.20.153.11</code></p>
-<p>&#x89C4;&#x5219;&#xFF1A;</p>
-<ul>
-<li>&quot;=&gt;&quot;&#x4E4B;&#x524D;&#x7684;&#x4E3A;&#x6D88;&#x8D39;&#x8005;&#x5339;&#x914D;&#x6761;&#x4EF6;&#xFF0C;&#x6240;&#x6709;&#x53C2;&#x6570;&#x548C;&#x6D88;&#x8D39;&#x8005;&#x7684;URL&#x8FDB;&#x884C;&#x5BF9;&#x6BD4;&#xFF0C;&#x5F53;&#x6D88;&#x8D39;&#x8005;&#x6EE1;&#x8DB3;&#x5339;&#x914D;&#x6761;&#x4EF6;&#x65F6;&#xFF0C;&#x5BF9;&#x8BE5;&#x6D88;&#x8D39;&#x8005;&#x6267;&#x884C;&#x540E;&#x9762;&#x7684;&#x8FC7;&#x6EE4;&#x89C4;&#x5219;&#x3002;</li>
-<li>&quot;=&gt;&quot;&#x4E4B;&#x540E;&#x4E3A;&#x63D0;&#x4F9B;&#x8005;&#x5730;&#x5740;&#x5217;&#x8868;&#x7684;&#x8FC7;&#x6EE4;&#x6761;&#x4EF6;&#xFF0C;&#x6240;&#x6709;&#x53C2;&#x6570;&#x548C;&#x63D0;&#x4F9B;&#x8005;&#x7684;URL&#x8FDB;&#x884C;&#x5BF9;&#x6BD4;&#xFF0C;&#x6D88;&#x8D39;&#x8005;&#x6700;&#x7EC8;&#x53EA;&#x62FF;&#x5230;&#x8FC7;&#x6EE4;&#x540E;&#x7684;&#x5730;&#x5740;&#x5217;&#x8868;&#x3002;</li>
-<li>&#x5982;&#x679C;&#x5339;&#x914D;&#x6761;&#x4EF6;&#x4E3A;&#x7A7A;&#xFF0C;&#x8868;&#x793A;&#x5BF9;&#x6240;&#x6709;&#x6D88;&#x8D39;&#x65B9;&#x5E94;&#x7528;&#xFF0C;&#x5982;&#xFF1A;=&gt; host != 10.20.153.11</li>
-<li>&#x5982;&#x679C;&#x8FC7;&#x6EE4;&#x6761;&#x4EF6;&#x4E3A;&#x7A7A;&#xFF0C;&#x8868;&#x793A;&#x7981;&#x6B62;&#x8BBF;&#x95EE;&#xFF0C;&#x5982;&#xFF1A;host = 10.20.153.10 =&gt;</li>
-</ul>
-<p>&#x8868;&#x8FBE;&#x5F0F;&#xFF1A;</p>
-<ul>
-<li>&#x53C2;&#x6570;&#x652F;&#x6301;&#xFF1A;<ul>
-<li>&#x670D;&#x52A1;&#x8C03;&#x7528;&#x4FE1;&#x606F;&#xFF0C;&#x5982;&#xFF1A;method, argument &#x7B49; (&#x6682;&#x4E0D;&#x652F;&#x6301;&#x53C2;&#x6570;&#x8DEF;&#x7531;)</li>
-<li>URL&#x672C;&#x8EAB;&#x7684;&#x5B57;&#x6BB5;&#xFF0C;&#x5982;&#xFF1A;protocol, host, port &#x7B49;</li>
-<li>&#x4EE5;&#x53CA;URL&#x4E0A;&#x7684;&#x6240;&#x6709;&#x53C2;&#x6570;&#xFF0C;&#x5982;&#xFF1A;application, organization &#x7B49;</li>
-</ul>
-</li>
-<li>&#x6761;&#x4EF6;&#x652F;&#x6301;&#xFF1A;<ul>
-<li>&#x7B49;&#x53F7; <code>=</code> &#x8868;&#x793A;&quot;&#x5339;&#x914D;&quot;&#xFF0C;&#x5982;&#xFF1A;host = 10.20.153.10</li>
-<li>&#x4E0D;&#x7B49;&#x53F7; <code>!=</code> &#x8868;&#x793A;&quot;&#x4E0D;&#x5339;&#x914D;&quot;&#xFF0C;&#x5982;&#xFF1A;host != 10.20.153.10</li>
-</ul>
-</li>
-<li>&#x503C;&#x652F;&#x6301;&#xFF1A;<ul>
-<li>&#x4EE5;&#x9017;&#x53F7; <code>,</code> &#x5206;&#x9694;&#x591A;&#x4E2A;&#x503C;&#xFF0C;&#x5982;&#xFF1A;host != 10.20.153.10,10.20.153.11</li>
-<li>&#x4EE5;&#x661F;&#x53F7; <code>*</code> &#x7ED3;&#x5C3E;&#xFF0C;&#x8868;&#x793A;&#x901A;&#x914D;&#xFF0C;&#x5982;&#xFF1A;host != 10.20.*</li>
-<li>&#x4EE5;&#x7F8E;&#x5143;&#x7B26; <code>$</code> &#x5F00;&#x5934;&#xFF0C;&#x8868;&#x793A;&#x5F15;&#x7528;&#x6D88;&#x8D39;&#x8005;&#x53C2;&#x6570;&#xFF0C;&#x5982;&#xFF1A;host = $host</li>
-</ul>
-</li>
-</ul>
-<p>&#x793A;&#x4F8B;&#xFF1A;</p>
-<ol>
-<li><p>&#x6392;&#x9664;&#x9884;&#x53D1;&#x5E03;&#x673A;&#xFF1A;</p>
-<pre><code> =&gt; host != 172.22.3.91
-</code></pre></li>
-<li><p>&#x767D;&#x540D;&#x5355;&#xFF1A;
- &#x6CE8;&#x610F;&#xFF1A;&#x4E00;&#x4E2A;&#x670D;&#x52A1;&#x53EA;&#x80FD;&#x6709;&#x4E00;&#x6761;&#x767D;&#x540D;&#x5355;&#x89C4;&#x5219;&#xFF0C;&#x5426;&#x5219;&#x4E24;&#x6761;&#x89C4;&#x5219;&#x4EA4;&#x53C9;&#xFF0C;&#x5C31;&#x90FD;&#x88AB;&#x7B5B;&#x9009;&#x6389;&#x4E86;) </p>
-<pre><code> host != 10.20.153.10,10.20.153.11 =&gt;
-</code></pre></li>
-<li><p>&#x9ED1;&#x540D;&#x5355;&#xFF1A;</p>
-<pre><code> host = 10.20.153.10,10.20.153.11 =&gt;
-</code></pre></li>
-<li><p>&#x670D;&#x52A1;&#x5BC4;&#x5BBF;&#x5728;&#x5E94;&#x7528;&#x4E0A;&#xFF0C;&#x53EA;&#x66B4;&#x9732;&#x4E00;&#x90E8;&#x5206;&#x7684;&#x673A;&#x5668;&#xFF0C;&#x9632;&#x6B62;&#x6574;&#x4E2A;&#x96C6;&#x7FA4;&#x6302;&#x6389;&#xFF1A;</p>
-<pre><code> =&gt; host = 172.22.3.1*,172.22.3.2*
-</code></pre></li>
-<li><p>&#x4E3A;&#x91CD;&#x8981;&#x5E94;&#x7528;&#x63D0;&#x4F9B;&#x989D;&#x5916;&#x7684;&#x673A;&#x5668;&#xFF1A;</p>
-<pre><code> application != kylin =&gt; host != 172.22.3.95,172.22.3.96
-</code></pre></li>
-<li><p>&#x8BFB;&#x5199;&#x5206;&#x79BB;&#xFF1A;</p>
-<pre><code> method = find*,list*,get*,is* =&gt; host = 172.22.3.94,172.22.3.95,172.22.3.96
- method != find*,list*,get*,is* =&gt; host = 172.22.3.97,172.22.3.98
-</code></pre></li>
-<li><p>&#x524D;&#x540E;&#x53F0;&#x5206;&#x79BB;&#xFF1A;</p>
-<pre><code> application = bops =&gt; host = 172.22.3.91,172.22.3.92,172.22.3.93
- application != bops =&gt; host = 172.22.3.94,172.22.3.95,172.22.3.96
-</code></pre></li>
-<li><p>&#x9694;&#x79BB;&#x4E0D;&#x540C;&#x673A;&#x623F;&#x7F51;&#x6BB5;&#xFF1A;</p>
-<pre><code> host != 172.22.3.* =&gt; host != 172.22.3.*
-</code></pre></li>
-<li><p>&#x63D0;&#x4F9B;&#x8005;&#x4E0E;&#x6D88;&#x8D39;&#x8005;&#x90E8;&#x7F72;&#x5728;&#x540C;&#x96C6;&#x7FA4;&#x5185;&#xFF0C;&#x672C;&#x673A;&#x53EA;&#x8BBF;&#x95EE;&#x672C;&#x673A;&#x7684;&#x670D;&#x52A1;&#xFF1A;</p>
-<pre><code> =&gt; host = $host
-</code></pre></li>
-</ol>
-<h4 id="&#x811A;&#x672C;&#x8DEF;&#x7531;&#x89C4;&#x5219;">&#x811A;&#x672C;&#x8DEF;&#x7531;&#x89C4;&#x5219;</h4>
-<blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x652F;&#x6301;JDK&#x811A;&#x672C;&#x5F15;&#x64CE;&#x7684;&#x6240;&#x6709;&#x811A;&#x672C;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;javascript, jruby, groovy &#x7B49;&#xFF0C;&#x901A;&#x8FC7; type=javascript &#x53C2;&#x6570;&#x8BBE;&#x7F6E;&#x811A;&#x672C;&#x7C7B;&#x578B;&#xFF0C;&#x7F3A;&#x7701;&#x4E3A;javascript&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">&#x811A;&#x672C;&#x6CA1;&#x6709;&#x6C99;&#x7BB1;&#x7EA6;&#x675F;&#xFF0C;&#x53EF;&#x6267;&#x884C;&#x4EFB;&#x610F;&#x4EE3;&#x7801;&#xFF0C;&#x5B58;&#x5728;&#x540E;&#x95E8;&#x98CE;&#x9669;</p>
-</blockquote>
-<pre><code>&quot;script://0.0.0.0/com.foo.BarService?category=routers&amp;dynamic=false&amp;rule=&quot; + URL.encode(&quot;function route(invokers) { ... } (invokers)&quot;)
-</code></pre><p>&#x57FA;&#x4E8E;&#x811A;&#x672C;&#x5F15;&#x64CE;&#x7684;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#xFF0C;&#x5982;&#xFF1A;</p>
-<pre><code class="lang-javascript"><span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">route</span>(<span class="hljs-params">invokers</span>) </span>{
-    <span class="hljs-keyword">var</span> result = <span class="hljs-keyword">new</span> java.util.ArrayList(invokers.size());
-    <span class="hljs-keyword">for</span> (i = <span class="hljs-number">0</span>; i &lt; invokers.size(); i ++) {
-        <span class="hljs-keyword">if</span> (<span class="hljs-string">&quot;http://10.20.160.198/wiki/display/dubbo/10.20.153.10&quot;</span>.equals(invokers.get(i).getUrl().getHost())) {
-            result.add(invokers.get(i));
-        }
-    }
-    <span class="hljs-keyword">return</span> result;
-} (invokers); <span class="hljs-comment">// &#x8868;&#x793A;&#x7ACB;&#x5373;&#x6267;&#x884C;&#x65B9;&#x6CD5;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="令牌验证.html" class="navigation navigation-prev " aria-label="Previous page: 4.33 令牌验证">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="配置规则.html" class="navigation navigation-next " aria-label="Next page: 4.35 配置规则">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.34 路由规则","level":"1.5.33","depth":2,"next":{"title":"4.35 配置规则","level":"1.5.34","depth":2,"path":"demos/配置规则.md","ref":"demos/配置规则.md","articles":[]},"previous":{"title":"4.33 令牌验证","level":"1.5.32","depth":2,"path":"demos/令牌验证.md","ref":"demos/令牌验证.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/路由规则.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\350\277\236\346\216\245\346\216\247\345\210\266.html" "b/user-guide/demos/\350\277\236\346\216\245\346\216\247\345\210\266.html"
deleted file mode 100644
index b1b8fd6..0000000
--- "a/user-guide/demos/\350\277\236\346\216\245\346\216\247\345\210\266.html"
+++ /dev/null
@@ -1,1479 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.30 连接控制 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="延迟连接.html" />
-    
-    
-    <link rel="prev" href="并发控制.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.30 连接控制</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x9650;&#x5236;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x63A5;&#x53D7;&#x7684;&#x8FDE;&#x63A5;&#x4E0D;&#x80FD;&#x8D85;&#x8FC7;10&#x4E2A;&#xFF1A;&#xFF08;&#x56E0;&#x4E3A;&#x8FDE;&#x63A5;&#x5728;Server&#x4E0A;&#xFF0C;&#x6240;&#x4EE5;&#x914D;&#x7F6E;&#x5728;Provider&#x4E0A;&#xFF09;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">accepts</span>=<span class="hljs-string">&quot;10&quot;</span> /&gt;</span>
-</code></pre>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">accepts</span>=<span class="hljs-string">&quot;10&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x9650;&#x5236;&#x5BA2;&#x6237;&#x7AEF;&#x670D;&#x52A1;&#x4F7F;&#x7528;&#x8FDE;&#x63A5;&#x8FDE;&#x63A5;&#x6570;&#xFF1A;(&#x5982;&#x679C;&#x662F;&#x957F;&#x8FDE;&#x63A5;&#xFF0C;&#x6BD4;&#x5982;Dubbo&#x534F;&#x8BAE;&#xFF0C;connections&#x8868;&#x793A;&#x8BE5;&#x670D;&#x52A1;&#x5BF9;&#x6BCF;&#x4E2A;&#x63D0;&#x4F9B;&#x8005;&#x5EFA;&#x7ACB;&#x7684;&#x957F;&#x8FDE;&#x63A5;&#x6570;)</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">connections</span>=<span class="hljs-string">&quot;10&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.BarService&quot;</span> <span class="hljs-attr">connections</span>=<span class="hljs-string">&quot;10&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x5982;&#x679C; <code>&lt;dubbo:service&gt;</code>&#x548C; <code>&lt;dubbo:reference&gt;</code> &#x90FD;&#x914D;&#x4E86;connections&#xFF0C;<code>&lt;dubbo:reference&gt;</code> &#x4F18;&#x5148;&#xFF0C;&#x53C2;&#x89C1;&#xFF1A;<a href="../configuration/xml.html">&#x914D;&#x7F6E;&#x7684;&#x8986;&#x76D6;&#x7B56;&#x7565;</a></p>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="并发控制.html" class="navigation navigation-prev " aria-label="Previous page: 4.29 并发控制">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="延迟连接.html" class="navigation navigation-next " aria-label="Next page: 4.31 延迟连接">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.30 连接控制","level":"1.5.29","depth":2,"next":{"title":"4.31 延迟连接","level":"1.5.30","depth":2,"path":"demos/延迟连接.md","ref":"demos/延迟连接.md","articles":[]},"previous":{"title":"4.29 并发控制","level":"1.5.28","depth":2,"path":"demos/并发控制.md","ref":"demos/并发控制.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/连接控制.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\351\205\215\347\275\256\350\247\204\345\210\231.html" "b/user-guide/demos/\351\205\215\347\275\256\350\247\204\345\210\231.html"
deleted file mode 100644
index 7e1ee66..0000000
--- "a/user-guide/demos/\351\205\215\347\275\256\350\247\204\345\210\231.html"
+++ /dev/null
@@ -1,1501 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.35 配置规则 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="服务降级.html" />
-    
-    
-    <link rel="prev" href="路由规则.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.35 配置规则</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning">2.2.0 &#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</p>
-</blockquote>
-<p>&#x5411;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5199;&#x5165;&#x52A8;&#x6001;&#x914D;&#x7F6E;&#x8986;&#x76D6;&#x89C4;&#x5219;&#xFF1A;(&#x901A;&#x5E38;&#x7531;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x6216;&#x6CBB;&#x7406;&#x4E2D;&#x5FC3;&#x7684;&#x9875;&#x9762;&#x5B8C;&#x6210;)</p>
-<pre><code class="lang-java">RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
-Registry registry = registryFactory.getRegistry(URL.valueOf(<span class="hljs-string">&quot;zookeeper://10.20.153.10:2181&quot;</span>));
-registry.register(URL.valueOf(<span class="hljs-string">&quot;override://0.0.0.0/com.foo.BarService?category=configurators&amp;dynamic=false&amp;application=foo&amp;timeout=1000&quot;</span>));
-</code></pre>
-<p>&#x5176;&#x4E2D;&#xFF1A;</p>
-<ul>
-<li>override:// &#x8868;&#x793A;&#x6570;&#x636E;&#x91C7;&#x7528;&#x8986;&#x76D6;&#x65B9;&#x5F0F;&#xFF0C;&#x652F;&#x6301;override&#x548C;absent&#xFF0C;&#x53EF;&#x6269;&#x5C55;&#xFF0C;&#x5FC5;&#x586B;&#x3002;</li>
-<li>0.0.0.0 &#x8868;&#x793A;&#x5BF9;&#x6240;&#x6709;IP&#x5730;&#x5740;&#x751F;&#x6548;&#xFF0C;&#x5982;&#x679C;&#x53EA;&#x60F3;&#x8986;&#x76D6;&#x67D0;&#x4E2A;IP&#x7684;&#x6570;&#x636E;&#xFF0C;&#x8BF7;&#x586B;&#x5165;&#x5177;&#x4F53;IP&#xFF0C;&#x5FC5;&#x586B;&#x3002;</li>
-<li>com.foo.BarService &#x8868;&#x793A;&#x53EA;&#x5BF9;&#x6307;&#x5B9A;&#x670D;&#x52A1;&#x751F;&#x6548;&#xFF0C;&#x5FC5;&#x586B;&#x3002;</li>
-<li>category=configurators &#x8868;&#x793A;&#x8BE5;&#x6570;&#x636E;&#x4E3A;&#x52A8;&#x6001;&#x914D;&#x7F6E;&#x7C7B;&#x578B;&#xFF0C;&#x5FC5;&#x586B;&#x3002;</li>
-<li>dynamic=false &#x8868;&#x793A;&#x8BE5;&#x6570;&#x636E;&#x4E3A;&#x6301;&#x4E45;&#x6570;&#x636E;&#xFF0C;&#x5F53;&#x6CE8;&#x518C;&#x65B9;&#x9000;&#x51FA;&#x65F6;&#xFF0C;&#x6570;&#x636E;&#x4F9D;&#x7136;&#x4FDD;&#x5B58;&#x5728;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x5FC5;&#x586B;&#x3002;</li>
-<li>enabled=true &#x8986;&#x76D6;&#x89C4;&#x5219;&#x662F;&#x5426;&#x751F;&#x6548;&#xFF0C;&#x53EF;&#x4E0D;&#x586B;&#xFF0C;&#x7F3A;&#x7701;&#x751F;&#x6548;&#x3002;</li>
-<li>application=foo &#x8868;&#x793A;&#x53EA;&#x5BF9;&#x6307;&#x5B9A;&#x5E94;&#x7528;&#x751F;&#x6548;&#xFF0C;&#x53EF;&#x4E0D;&#x586B;&#xFF0C;&#x8868;&#x793A;&#x5BF9;&#x6240;&#x6709;&#x5E94;&#x7528;&#x751F;&#x6548;&#x3002;</li>
-<li>timeout=1000 &#x8868;&#x793A;&#x5C06;&#x6EE1;&#x8DB3;&#x4EE5;&#x4E0A;&#x6761;&#x4EF6;&#x7684;timeout&#x53C2;&#x6570;&#x7684;&#x503C;&#x8986;&#x76D6;&#x4E3A;1000&#x3002;&#x5982;&#x679C;&#x60F3;&#x8986;&#x76D6;&#x5176;&#x5B83;&#x53C2;&#x6570;&#xFF0C;&#x76F4;&#x63A5;&#x52A0;&#x5728;override&#x7684;URL&#x53C2;&#x6570;&#x4E0A;&#x3002;</li>
-</ul>
-<p>&#x793A;&#x4F8B;&#xFF1A;</p>
-<ol>
-<li><p>&#x7981;&#x7528;&#x63D0;&#x4F9B;&#x8005;&#xFF1A;(&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x4E34;&#x65F6;&#x8E22;&#x9664;&#x67D0;&#x53F0;&#x63D0;&#x4F9B;&#x8005;&#x673A;&#x5668;&#xFF0C;&#x76F8;&#x4F3C;&#x7684;&#xFF0C;&#x7981;&#x6B62;&#x6D88;&#x8D39;&#x8005;&#x8BBF;&#x95EE;&#x8BF7;&#x4F7F;&#x7528;&#x8DEF;&#x7531;&#x89C4;&#x5219;)</p>
-<pre><code> override://10.20.153.10/com.foo.BarService?category=configurators&amp;dynamic=false&amp;disbaled=true
-</code></pre></li>
-<li><p>&#x8C03;&#x6574;&#x6743;&#x91CD;&#xFF1A;(&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x5BB9;&#x91CF;&#x8BC4;&#x4F30;&#xFF0C;&#x7F3A;&#x7701;&#x6743;&#x91CD;&#x4E3A;100)</p>
-<pre><code> override://10.20.153.10/com.foo.BarService?category=configurators&amp;dynamic=false&amp;weight=200
-</code></pre></li>
-<li><p>&#x8C03;&#x6574;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x7B56;&#x7565;&#xFF1A;(&#x7F3A;&#x7701;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x7B56;&#x7565;&#x4E3A;random)</p>
-<pre><code> override://10.20.153.10/com.foo.BarService?category=configurators&amp;dynamic=false&amp;loadbalance=leastactive
-</code></pre></li>
-<li><p>&#x670D;&#x52A1;&#x964D;&#x7EA7;&#xFF1A;(&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x4E34;&#x65F6;&#x5C4F;&#x853D;&#x67D0;&#x4E2A;&#x51FA;&#x9519;&#x7684;&#x975E;&#x5173;&#x952E;&#x670D;&#x52A1;)</p>
-<pre><code> override://0.0.0.0/com.foo.BarService?category=configurators&amp;dynamic=false&amp;application=foo&amp;mock=force:return+null
-</code></pre></li>
-</ol>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="路由规则.html" class="navigation navigation-prev " aria-label="Previous page: 4.34 路由规则">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="服务降级.html" class="navigation navigation-next " aria-label="Next page: 4.36 服务降级">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.35 配置规则","level":"1.5.34","depth":2,"next":{"title":"4.36 服务降级","level":"1.5.35","depth":2,"path":"demos/服务降级.md","ref":"demos/服务降级.md","articles":[]},"previous":{"title":"4.34 路由规则","level":"1.5.33","depth":2,"path":"demos/路由规则.md","ref":"demos/路由规则.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/配置规则.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\351\232\220\345\274\217\344\274\240\345\217\202.html" "b/user-guide/demos/\351\232\220\345\274\217\344\274\240\345\217\202.html"
deleted file mode 100644
index 9685e19..0000000
--- "a/user-guide/demos/\351\232\220\345\274\217\344\274\240\345\217\202.html"
+++ /dev/null
@@ -1,1488 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.21 隐式参数 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="异步调用.html" />
-    
-    
-    <link rel="prev" href="上下文信息.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.21 隐式参数</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning"> &#x6CE8;&#xFF1A;path,group,version,dubbo,token,timeout&#x51E0;&#x4E2A;key&#x6709;&#x7279;&#x6B8A;&#x5904;&#x7406;&#xFF0C;&#x8BF7;&#x4F7F;&#x7528;&#x5176;&#x5B83;key&#x503C;&#x3002;</p>
-</blockquote>
-<p><img src="../sources/images/context.png" alt="/user-guide/images/context.png"></p>
-<h5 id="1-&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;">(1) &#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;</h5>
-<pre><code class="lang-xml">RpcContext.getContext().setAttachment(&quot;index&quot;, &quot;1&quot;); // &#x9690;&#x5F0F;&#x4F20;&#x53C2;&#xFF0C;&#x540E;&#x9762;&#x7684;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x90FD;&#x4F1A;&#x9690;&#x5F0F;&#x5C06;&#x8FD9;&#x4E9B;&#x53C2;&#x6570;&#x53D1;&#x9001;&#x5230;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#xFF0C;&#x7C7B;&#x4F3C;cookie&#xFF0C;&#x7528;&#x4E8E;&#x6846;&#x67B6;&#x96C6;&#x6210;&#xFF0C;&#x4E0D;&#x5EFA;&#x8BAE;&#x5E38;&#x89C4;&#x4E1A;&#x52A1;&#x4F7F;&#x7528;
-xxxService.xxx(); // &#x8FDC;&#x7A0B;&#x8C03;&#x7528;
-// ...
-</code></pre>
-<blockquote>
-<p>&#x6CE8;: setAttachment&#x8BBE;&#x7F6E;&#x7684;KV&#xFF0C;&#x5728;&#x5B8C;&#x6210;&#x4E0B;&#x9762;&#x4E00;&#x6B21;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x4F1A;&#x88AB;&#x6E05;&#x7A7A;&#x3002;&#x5373;&#x591A;&#x6B21;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x8981;&#x591A;&#x6B21;&#x8BBE;&#x7F6E;&#x3002;</p>
-</blockquote>
-<h5 id="2-&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;">(2) &#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;</h5>
-<pre><code class="lang-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">XxxServiceImpl</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">XxxService</span> </span>{
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">xxx</span><span class="hljs-params">()</span> </span>{ <span class="hljs-comment">// &#x670D;&#x52A1;&#x65B9;&#x6CD5;&#x5B9E;&#x73B0;</span>
-        String index = RpcContext.getContext().getAttachment(<span class="hljs-string">&quot;index&quot;</span>); <span class="hljs-comment">// &#x83B7;&#x53D6;&#x5BA2;&#x6237;&#x7AEF;&#x9690;&#x5F0F;&#x4F20;&#x5165;&#x7684;&#x53C2;&#x6570;&#xFF0C;&#x7528;&#x4E8E;&#x6846;&#x67B6;&#x96C6;&#x6210;&#xFF0C;&#x4E0D;&#x5EFA;&#x8BAE;&#x5E38;&#x89C4;&#x4E1A;&#x52A1;&#x4F7F;&#x7528;</span>
-        <span class="hljs-comment">// ...</span>
-    }
-}
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="上下文信息.html" class="navigation navigation-prev " aria-label="Previous page: 4.20 上下文信息">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="异步调用.html" class="navigation navigation-next " aria-label="Next page: 4.22 异步调用">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.21 隐式参数","level":"1.5.20","depth":2,"next":{"title":"4.22 异步调用","level":"1.5.21","depth":2,"path":"demos/异步调用.md","ref":"demos/异步调用.md","articles":[]},"previous":{"title":"4.20 上下文信息","level":"1.5.19","depth":2,"path":"demos/上下文信息.md","ref":"demos/上下文信息.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/隐式传参.md","mtime":"2017-07-28T09:53:03.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\351\233\206\347\276\244\345\256\271\351\224\231.html" "b/user-guide/demos/\351\233\206\347\276\244\345\256\271\351\224\231.html"
deleted file mode 100644
index 990f4e9..0000000
--- "a/user-guide/demos/\351\233\206\347\276\244\345\256\271\351\224\231.html"
+++ /dev/null
@@ -1,1530 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.2 集群容错 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="负载均衡.html" />
-    
-    
-    <link rel="prev" href="启动时检查.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.2 集群容错</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x5728;&#x96C6;&#x7FA4;&#x8C03;&#x7528;&#x5931;&#x8D25;&#x65F6;&#xFF0C;Dubbo&#x63D0;&#x4F9B;&#x4E86;&#x591A;&#x79CD;&#x5BB9;&#x9519;&#x65B9;&#x6848;&#xFF0C;&#x7F3A;&#x7701;&#x4E3A;failover&#x91CD;&#x8BD5;&#x3002;</p>
-</blockquote>
-<p><img src="../sources/images/cluster.jpg" alt="cluster"></p>
-<p>&#x5404;&#x8282;&#x70B9;&#x5173;&#x7CFB;&#xFF1A;</p>
-<ul>
-<li>&#x8FD9;&#x91CC;&#x7684;Invoker&#x662F;Provider&#x7684;&#x4E00;&#x4E2A;&#x53EF;&#x8C03;&#x7528;Service&#x7684;&#x62BD;&#x8C61;&#xFF0C;Invoker&#x5C01;&#x88C5;&#x4E86;Provider&#x5730;&#x5740;&#x53CA;Service&#x63A5;&#x53E3;&#x4FE1;&#x606F;&#x3002;</li>
-<li>Directory&#x4EE3;&#x8868;&#x591A;&#x4E2A;Invoker&#xFF0C;&#x53EF;&#x4EE5;&#x628A;&#x5B83;&#x770B;&#x6210;List<invoker>&#xFF0C;&#x4F46;&#x4E0E;List&#x4E0D;&#x540C;&#x7684;&#x662F;&#xFF0C;&#x5B83;&#x7684;&#x503C;&#x53EF;&#x80FD;&#x662F;&#x52A8;&#x6001;&#x53D8;&#x5316;&#x7684;&#xFF0C;&#x6BD4;&#x5982;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x63A8;&#x9001;&#x53D8;&#x66F4;&#x3002;</invoker></li>
-<li>Cluster&#x5C06;Directory&#x4E2D;&#x7684;&#x591A;&#x4E2A;Invoker&#x4F2A;&#x88C5;&#x6210;&#x4E00;&#x4E2A;Invoker&#xFF0C;&#x5BF9;&#x4E0A;&#x5C42;&#x900F;&#x660E;&#xFF0C;&#x4F2A;&#x88C5;&#x8FC7;&#x7A0B;&#x5305;&#x542B;&#x4E86;&#x5BB9;&#x9519;&#x903B;&#x8F91;&#xFF0C;&#x8C03;&#x7528;&#x5931;&#x8D25;&#x540E;&#xFF0C;&#x91CD;&#x8BD5;&#x53E6;&#x4E00;&#x4E2A;&#x3002;</li>
-<li>Router&#x8D1F;&#x8D23;&#x4ECE;&#x591A;&#x4E2A;Invoker&#x4E2D;&#x6309;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#x9009;&#x51FA;&#x5B50;&#x96C6;&#xFF0C;&#x6BD4;&#x5982;&#x8BFB;&#x5199;&#x5206;&#x79BB;&#xFF0C;&#x5E94;&#x7528;&#x9694;&#x79BB;&#x7B49;&#x3002;</li>
-<li>LoadBalance&#x8D1F;&#x8D23;&#x4ECE;&#x591A;&#x4E2A;Invoker&#x4E2D;&#x9009;&#x51FA;&#x5177;&#x4F53;&#x7684;&#x4E00;&#x4E2A;&#x7528;&#x4E8E;&#x672C;&#x6B21;&#x8C03;&#x7528;&#xFF0C;&#x9009;&#x7684;&#x8FC7;&#x7A0B;&#x5305;&#x542B;&#x4E86;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x7B97;&#x6CD5;&#xFF0C;&#x8C03;&#x7528;&#x5931;&#x8D25;&#x540E;&#xFF0C;&#x9700;&#x8981;&#x91CD;&#x9009;</li>
-</ul>
-<h5 id="&#x96C6;&#x7FA4;&#x5BB9;&#x9519;&#x6A21;&#x5F0F;">&#x96C6;&#x7FA4;&#x5BB9;&#x9519;&#x6A21;&#x5F0F;</h5>
-<p>&#x53EF;&#x4EE5;&#x81EA;&#x884C;&#x6269;&#x5C55;&#x96C6;&#x7FA4;&#x5BB9;&#x9519;&#x7B56;&#x7565;&#xFF0C;&#x53C2;&#x89C1;&#xFF1A;<a href="dev-guide-spi-reference-manual#&#x96C6;&#x7FA4;&#x6269;&#x5C55;">&#x96C6;&#x7FA4;&#x6269;&#x5C55;</a></p>
-<h6 id="failover-cluster">Failover Cluster</h6>
-<ul>
-<li>&#x5931;&#x8D25;&#x81EA;&#x52A8;&#x5207;&#x6362;&#xFF0C;&#x5F53;&#x51FA;&#x73B0;&#x5931;&#x8D25;&#xFF0C;&#x91CD;&#x8BD5;&#x5176;&#x5B83;&#x670D;&#x52A1;&#x5668;&#x3002;(&#x7F3A;&#x7701;)</li>
-<li>&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x8BFB;&#x64CD;&#x4F5C;&#xFF0C;&#x4F46;&#x91CD;&#x8BD5;&#x4F1A;&#x5E26;&#x6765;&#x66F4;&#x957F;&#x5EF6;&#x8FDF;&#x3002;</li>
-<li>&#x53EF;&#x901A;&#x8FC7; <code>retries=&quot;2&quot;</code> &#x6765;&#x8BBE;&#x7F6E;&#x91CD;&#x8BD5;&#x6B21;&#x6570;(&#x4E0D;&#x542B;&#x7B2C;&#x4E00;&#x6B21;)&#x3002;</li>
-</ul>
-<h6 id="failfast-cluster">Failfast Cluster</h6>
-<ul>
-<li>&#x5FEB;&#x901F;&#x5931;&#x8D25;&#xFF0C;&#x53EA;&#x53D1;&#x8D77;&#x4E00;&#x6B21;&#x8C03;&#x7528;&#xFF0C;&#x5931;&#x8D25;&#x7ACB;&#x5373;&#x62A5;&#x9519;&#x3002;</li>
-<li>&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x975E;&#x5E42;&#x7B49;&#x6027;&#x7684;&#x5199;&#x64CD;&#x4F5C;&#xFF0C;&#x6BD4;&#x5982;&#x65B0;&#x589E;&#x8BB0;&#x5F55;&#x3002;</li>
-</ul>
-<h6 id="failsafe-cluster">Failsafe Cluster</h6>
-<ul>
-<li>&#x5931;&#x8D25;&#x5B89;&#x5168;&#xFF0C;&#x51FA;&#x73B0;&#x5F02;&#x5E38;&#x65F6;&#xFF0C;&#x76F4;&#x63A5;&#x5FFD;&#x7565;&#x3002;</li>
-<li>&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x5199;&#x5165;&#x5BA1;&#x8BA1;&#x65E5;&#x5FD7;&#x7B49;&#x64CD;&#x4F5C;&#x3002;</li>
-</ul>
-<h6 id="failback-cluster">Failback Cluster</h6>
-<ul>
-<li>&#x5931;&#x8D25;&#x81EA;&#x52A8;&#x6062;&#x590D;&#xFF0C;&#x540E;&#x53F0;&#x8BB0;&#x5F55;&#x5931;&#x8D25;&#x8BF7;&#x6C42;&#xFF0C;&#x5B9A;&#x65F6;&#x91CD;&#x53D1;&#x3002;</li>
-<li>&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x6D88;&#x606F;&#x901A;&#x77E5;&#x64CD;&#x4F5C;&#x3002;</li>
-</ul>
-<h6 id="forking-cluster">Forking Cluster</h6>
-<ul>
-<li>&#x5E76;&#x884C;&#x8C03;&#x7528;&#x591A;&#x4E2A;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x53EA;&#x8981;&#x4E00;&#x4E2A;&#x6210;&#x529F;&#x5373;&#x8FD4;&#x56DE;&#x3002;</li>
-<li>&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x5B9E;&#x65F6;&#x6027;&#x8981;&#x6C42;&#x8F83;&#x9AD8;&#x7684;&#x8BFB;&#x64CD;&#x4F5C;&#xFF0C;&#x4F46;&#x9700;&#x8981;&#x6D6A;&#x8D39;&#x66F4;&#x591A;&#x670D;&#x52A1;&#x8D44;&#x6E90;&#x3002;</li>
-<li>&#x53EF;&#x901A;&#x8FC7; <code>forks=&quot;2&quot;</code> &#x6765;&#x8BBE;&#x7F6E;&#x6700;&#x5927;&#x5E76;&#x884C;&#x6570;&#x3002;</li>
-</ul>
-<h6 id="broadcast-cluster">Broadcast Cluster</h6>
-<ul>
-<li>&#x5E7F;&#x64AD;&#x8C03;&#x7528;&#x6240;&#x6709;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x9010;&#x4E2A;&#x8C03;&#x7528;&#xFF0C;&#x4EFB;&#x610F;&#x4E00;&#x53F0;&#x62A5;&#x9519;&#x5219;&#x62A5;&#x9519;&#x3002;(2.1.0&#x5F00;&#x59CB;&#x652F;&#x6301;)</li>
-<li>&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x901A;&#x77E5;&#x6240;&#x6709;&#x63D0;&#x4F9B;&#x8005;&#x66F4;&#x65B0;&#x7F13;&#x5B58;&#x6216;&#x65E5;&#x5FD7;&#x7B49;&#x672C;&#x5730;&#x8D44;&#x6E90;&#x4FE1;&#x606F;&#x3002;</li>
-</ul>
-<p>&#x91CD;&#x8BD5;&#x6B21;&#x6570;&#x914D;&#x7F6E;&#x5982;: (failover&#x96C6;&#x7FA4;&#x6A21;&#x5F0F;&#x751F;&#x6548;)</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">retries</span>=<span class="hljs-string">&quot;2&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">retries</span>=<span class="hljs-string">&quot;2&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;findFoo&quot;</span> <span class="hljs-attr">retries</span>=<span class="hljs-string">&quot;2&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:reference</span>&gt;</span>
-</code></pre>
-<p>&#x96C6;&#x7FA4;&#x6A21;&#x5F0F;&#x914D;&#x7F6E;&#x5982;:</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">cluster</span>=<span class="hljs-string">&quot;failsafe&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">cluster</span>=<span class="hljs-string">&quot;failsafe&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="启动时检查.html" class="navigation navigation-prev " aria-label="Previous page: 4.1 启动时检查">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="负载均衡.html" class="navigation navigation-next " aria-label="Next page: 4.3 负载均衡">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.2 集群容错","level":"1.5.2","depth":2,"next":{"title":"4.3 负载均衡","level":"1.5.3","depth":2,"path":"demos/负载均衡.md","ref":"demos/负载均衡.md","articles":[]},"previous":{"title":"4.1 启动时检查","level":"1.5.1","depth":2,"path":"demos/启动时检查.md","ref":"demos/启动时检查.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/集群容错.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git "a/user-guide/demos/\351\235\231\346\200\201\346\234\215\345\212\241.html" "b/user-guide/demos/\351\235\231\346\200\201\346\234\215\345\212\241.html"
deleted file mode 100644
index 9571887..0000000
--- "a/user-guide/demos/\351\235\231\346\200\201\346\234\215\345\212\241.html"
+++ /dev/null
@@ -1,1482 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>4.8 静态服务 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="多协议.html" />
-    
-    
-    <link rel="prev" href="只注册.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="启动时检查.html">
-            
-                <a href="启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="集群容错.html">
-            
-                <a href="集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="负载均衡.html">
-            
-                <a href="负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="线程模型.html">
-            
-                <a href="线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="直连提供者.html">
-            
-                <a href="直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="只订阅.html">
-            
-                <a href="只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="只注册.html">
-            
-                <a href="只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.5.8" data-path="静态服务.html">
-            
-                <a href="静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="多协议.html">
-            
-                <a href="多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="多注册中心.html">
-            
-                <a href="多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="服务分组.html">
-            
-                <a href="服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="多版本.html">
-            
-                <a href="多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="分组聚合.html">
-            
-                <a href="分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="参数验证.html">
-            
-                <a href="参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="结果缓存.html">
-            
-                <a href="结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="泛化引用.html">
-            
-                <a href="泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="泛化实现.html">
-            
-                <a href="泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="回声测试.html">
-            
-                <a href="回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="上下文信息.html">
-            
-                <a href="上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="隐式传参.html">
-            
-                <a href="隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="异步调用.html">
-            
-                <a href="异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="本地调用.html">
-            
-                <a href="本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="参数回调.html">
-            
-                <a href="参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="事件通知.html">
-            
-                <a href="事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="本地存根.html">
-            
-                <a href="本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="本地伪装.html">
-            
-                <a href="本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="延迟暴露.html">
-            
-                <a href="延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="并发控制.html">
-            
-                <a href="并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="连接控制.html">
-            
-                <a href="连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="延迟连接.html">
-            
-                <a href="延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="粘滞连接.html">
-            
-                <a href="粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="令牌验证.html">
-            
-                <a href="令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="路由规则.html">
-            
-                <a href="路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="配置规则.html">
-            
-                <a href="配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="服务降级.html">
-            
-                <a href="服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="优雅停机.html">
-            
-                <a href="优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="主机绑定.html">
-            
-                <a href="主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="日志适配.html">
-            
-                <a href="日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="访问日志.html">
-            
-                <a href="访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="服务容器.html">
-            
-                <a href="服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="ReferenceConfig缓存.html">
-            
-                <a href="ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="分布式事务.html">
-            
-                <a href="分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >4.8 静态服务</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x6709;&#x65F6;&#x5019;&#x5E0C;&#x671B;&#x4EBA;&#x5DE5;&#x7BA1;&#x7406;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x4E0A;&#x7EBF;&#x548C;&#x4E0B;&#x7EBF;&#xFF0C;&#x6B64;&#x65F6;&#x9700;&#x5C06;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6807;&#x8BC6;&#x4E3A;&#x975E;&#x52A8;&#x6001;&#x7BA1;&#x7406;&#x6A21;&#x5F0F;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090&quot;</span> <span class="hljs-attr">dynamic</span>=<span class="hljs-string">&quot;false&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;&#x8005;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.141.150:9090?dynamic=false&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x521D;&#x6B21;&#x6CE8;&#x518C;&#x65F6;&#x4E3A;&#x7981;&#x7528;&#x72B6;&#x6001;&#xFF0C;&#x9700;&#x4EBA;&#x5DE5;&#x542F;&#x7528;&#xFF0C;&#x65AD;&#x7EBF;&#x65F6;&#xFF0C;&#x5C06;&#x4E0D;&#x4F1A;&#x88AB;&#x81EA;&#x52A8;&#x5220;&#x9664;&#xFF0C;&#x9700;&#x4EBA;&#x5DE5;&#x7981;&#x7528;&#x3002;</p>
-<p>&#x5982;&#x679C;&#x662F;&#x4E00;&#x4E2A;&#x7B2C;&#x4E09;&#x65B9;&#x72EC;&#x7ACB;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x6BD4;&#x5982;memcached&#x7B49;&#xFF0C;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x5411;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5199;&#x5165;&#x63D0;&#x4F9B;&#x8005;&#x5730;&#x5740;&#x4FE1;&#x606F;&#xFF0C;&#x6D88;&#x8D39;&#x8005;&#x6B63;&#x5E38;&#x4F7F;&#x7528;&#xFF1A;</p>
-<blockquote>
-<p>&#x901A;&#x5E38;&#x7531;&#x811A;&#x672C;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x9875;&#x9762;&#x7B49;&#x8C03;&#x7528;</p>
-</blockquote>
-<pre><code class="lang-java">RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
-Registry registry = registryFactory.getRegistry(URL.valueOf(<span class="hljs-string">&quot;zookeeper://10.20.153.10:2181&quot;</span>));
-registry.register(URL.valueOf(<span class="hljs-string">&quot;memcached://10.20.153.11/com.foo.BarService?category=providers&amp;dynamic=false&amp;application=foo&quot;</span>));
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="只注册.html" class="navigation navigation-prev " aria-label="Previous page: 4.7 只注册">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="多协议.html" class="navigation navigation-next " aria-label="Next page: 4.9 多协议">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"4.8 静态服务","level":"1.5.8","depth":2,"next":{"title":"4.9 多协议","level":"1.5.9","depth":2,"path":"demos/多协议.md","ref":"demos/多协议.md","articles":[]},"previous":{"title":"4.7 只注册","level":"1.5.7","depth":2,"path":"demos/只注册.md","ref":"demos/只注册.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"demos/静态服务.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/dependencies/dependencies.html b/user-guide/dependencies/dependencies.html
deleted file mode 100644
index 50344f8..0000000
--- a/user-guide/dependencies/dependencies.html
+++ /dev/null
@@ -1,1520 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>2.1 依赖 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="../maturity/maturity.html" />
-    
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter active" data-level="1.3.1" data-path="dependencies.html">
-            
-                <a href="dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >2.1 依赖</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h3 id="&#x5FC5;&#x987B;&#x4F9D;&#x8D56;">&#x5FC5;&#x987B;&#x4F9D;&#x8D56;</h3>
-<p>JDK1.5+</p>
-<blockquote>
-<p>&#x7406;&#x8BBA;&#x4E0A;Dubbo&#x53EF;&#x4EE5;&#x53EA;&#x4F9D;&#x8D56;JDK&#xFF0C;&#x4E0D;&#x4F9D;&#x8D56;&#x4E8E;&#x4EFB;&#x4F55;&#x4E09;&#x65B9;&#x5E93;&#x8FD0;&#x884C;&#xFF0C;&#x53EA;&#x9700;&#x914D;&#x7F6E;&#x4F7F;&#x7528;JDK&#x76F8;&#x5173;&#x5B9E;&#x73B0;&#x7B56;&#x7565;&#x3002;</p>
-</blockquote>
-<h3 id="&#x7F3A;&#x7701;&#x4F9D;&#x8D56;">&#x7F3A;&#x7701;&#x4F9D;&#x8D56;</h3>
-<p>&#x901A;&#x8FC7;<code>mvn dependency:tree &gt; dep.log</code>&#x547D;&#x4EE4;&#x5206;&#x6790;&#xFF0C;Dubbo&#x7F3A;&#x7701;&#x4F9D;&#x8D56;&#x4EE5;&#x4E0B;&#x4E09;&#x65B9;&#x5E93;&#xFF1A;</p>
-<pre><code>[INFO] +- com.alibaba:dubbo:jar:2.1.2:compile
-[INFO] |  +- log4j:log4j:jar:1.2.16:compile 
-[INFO] |  +- org.javassist:javassist:jar:3.15.0-GA:compile
-[INFO] |  +- org.springframework:spring:jar:2.5.6.SEC03:compile
-[INFO] |  +- commons-logging:commons-logging:jar:1.1.1:compile
-[INFO] |  \- org.jboss.netty:netty:jar:3.2.5.Final:compile
-</code></pre><p>&#x8FD9;&#x91CC;&#x6240;&#x6709;&#x4F9D;&#x8D56;&#x90FD;&#x662F;&#x6362;&#x7167;Dubbo&#x7F3A;&#x7701;&#x914D;&#x7F6E;&#x9009;&#x7684;&#xFF0C;&#x8FD9;&#x4E9B;&#x7F3A;&#x7701;&#x503C;&#x662F;&#x57FA;&#x4E8E;&#x7A33;&#x5B9A;&#x6027;&#x548C;&#x6027;&#x80FD;&#x8003;&#x8651;&#x7684;&#x3002;</p>
-<ul>
-<li>log4j.jar&#x548C;commons-logging.jar&#x65E5;&#x5FD7;&#x8F93;&#x51FA;&#x5305;&#x3002;  <ul>
-<li>&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x53BB;&#x6389;&#xFF0C;dubbo&#x672C;&#x8EAB;&#x7684;&#x65E5;&#x5FD7;&#x4F1A;&#x81EA;&#x52A8;&#x5207;&#x6362;&#x4E3A;JDK&#x7684;java.util.logging&#x8F93;&#x51FA;&#x3002;</li>
-<li>&#x4F46;&#x5982;&#x679C;&#x5176;&#x5B83;&#x4E09;&#x65B9;&#x5E93;&#x6BD4;&#x5982;spring.jar&#x95F4;&#x63A5;&#x4F9D;&#x8D56;commons-logging&#xFF0C;&#x5219;&#x4E0D;&#x80FD;&#x53BB;&#x6389;&#x3002;</li>
-</ul>
-</li>
-<li>javassist.jar &#x5B57;&#x8282;&#x7801;&#x751F;&#x6210;&#x3002;<ul>
-<li>&#x5982;&#x679C;<dubbo:provider proxy="jdk">&#x6216;<dubbo:consumer proxy="jdk">&#xFF0C;&#x4EE5;&#x53CA;<dubbo:application compiler="jdk">&#xFF0C;&#x5219;&#x4E0D;&#x9700;&#x8981;&#x3002;</dubbo:application></dubbo:consumer></dubbo:provider></li>
-</ul>
-</li>
-<li>spring.jar &#x914D;&#x7F6E;&#x89E3;&#x6790;&#x3002;<ul>
-<li>&#x5982;&#x679C;&#x7528;ServiceConfig&#x548C;ReferenceConfig&#x7684;API&#x8C03;&#x7528;&#xFF0C;&#x5219;&#x4E0D;&#x9700;&#x8981;&#x3002;</li>
-</ul>
-</li>
-<li>netty.jar &#x7F51;&#x7EDC;&#x4F20;&#x8F93;&#x3002;<ul>
-<li>&#x5982;&#x679C;<dubbo:protocol server="mina">&#x6216;<dubbo:protocol server="grizzly">&#xFF0C;&#x5219;&#x6362;&#x6210;mina.jar&#x6216;grizzly.jar&#x3002;</dubbo:protocol></dubbo:protocol></li>
-<li>&#x5982;&#x679C;<protocol name="rmi">&#xFF0C;&#x5219;&#x4E0D;&#x9700;&#x8981;&#x3002;<h3 id="&#x53EF;&#x9009;&#x4F9D;&#x8D56;">&#x53EF;&#x9009;&#x4F9D;&#x8D56;</h3>
-&#x4EE5;&#x4E0B;&#x4F9D;&#x8D56;&#xFF0C;&#x5728;&#x4E3B;&#x52A8;&#x914D;&#x7F6E;&#x4F7F;&#x7528;&#x76F8;&#x5E94;&#x5B9E;&#x73B0;&#x7B56;&#x7565;&#x65F6;&#x7528;&#x5230;&#xFF0C;&#x9700;&#x81EA;&#x884C;&#x52A0;&#x5165;&#x4F9D;&#x8D56;&#x3002;</protocol></li>
-</ul>
-</li>
-<li>mina: 1.1.7</li>
-<li>grizzly: 2.1.4</li>
-<li>httpclient: 4.1.2</li>
-<li>hessian_lite: 3.2.1-fixed</li>
-<li>xstream: 1.4.1</li>
-<li>fastjson: 1.1.8</li>
-<li>zookeeper: 3.3.3</li>
-<li>jedis: 2.0.0</li>
-<li>xmemcached: 1.3.6</li>
-<li>jfreechart: 1.0.13</li>
-<li>hessian: 4.0.7</li>
-<li>jetty: 6.1.26</li>
-<li>hibernate-validator: 4.2.0.Final</li>
-<li>zkclient: 0.1</li>
-<li>curator: 1.1.10</li>
-<li>cxf: 2.6.1</li>
-<li>thrift: 0.8.0</li>
-</ul>
-<p>JEE:</p>
-<ul>
-<li>servlet: 2.5</li>
-<li>bsf: 3.1</li>
-<li>validation-api: 1.0.0.GA</li>
-<li>jcache: 0.4</li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                
-                <a href="../maturity/maturity.html" class="navigation navigation-next navigation-unique" aria-label="Next page: 2.2 成熟度">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"2.1 依赖","level":"1.3.1","depth":2,"next":{"title":"2.2 成熟度","level":"1.3.2","depth":2,"path":"maturity/maturity.md","ref":"maturity/maturity.md","articles":[]},"previous":{"title":"2 快速启动","level":"1.3","depth":1,"ref":"","articles":[{"title":"2.1 依赖","level":"1.3.1","depth":2,"path":"dependencies/dependencies.md","ref":"dependencies/dependencies.md","articles":[]},{"title":"2.2 成熟度","level":"1.3.2","depth":2,"path":"maturity/maturity.md","ref":"maturity/maturity.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"dependencies/dependencies.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/gitbook/fonts/fontawesome/FontAwesome.otf b/user-guide/gitbook/fonts/fontawesome/FontAwesome.otf
deleted file mode 100644
index d4de13e..0000000
--- a/user-guide/gitbook/fonts/fontawesome/FontAwesome.otf
+++ /dev/null
Binary files differ
diff --git a/user-guide/gitbook/fonts/fontawesome/fontawesome-webfont.eot b/user-guide/gitbook/fonts/fontawesome/fontawesome-webfont.eot
deleted file mode 100644
index c7b00d2..0000000
--- a/user-guide/gitbook/fonts/fontawesome/fontawesome-webfont.eot
+++ /dev/null
Binary files differ
diff --git a/user-guide/gitbook/fonts/fontawesome/fontawesome-webfont.svg b/user-guide/gitbook/fonts/fontawesome/fontawesome-webfont.svg
deleted file mode 100644
index 8b66187..0000000
--- a/user-guide/gitbook/fonts/fontawesome/fontawesome-webfont.svg
+++ /dev/null
@@ -1,685 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata></metadata>
-<defs>
-<font id="fontawesomeregular" horiz-adv-x="1536" >
-<font-face units-per-em="1792" ascent="1536" descent="-256" />
-<missing-glyph horiz-adv-x="448" />
-<glyph unicode=" "  horiz-adv-x="448" />
-<glyph unicode="&#x09;" horiz-adv-x="448" />
-<glyph unicode="&#xa0;" horiz-adv-x="448" />
-<glyph unicode="&#xa8;" horiz-adv-x="1792" />
-<glyph unicode="&#xa9;" horiz-adv-x="1792" />
-<glyph unicode="&#xae;" horiz-adv-x="1792" />
-<glyph unicode="&#xb4;" horiz-adv-x="1792" />
-<glyph unicode="&#xc6;" horiz-adv-x="1792" />
-<glyph unicode="&#xd8;" horiz-adv-x="1792" />
-<glyph unicode="&#x2000;" horiz-adv-x="768" />
-<glyph unicode="&#x2001;" horiz-adv-x="1537" />
-<glyph unicode="&#x2002;" horiz-adv-x="768" />
-<glyph unicode="&#x2003;" horiz-adv-x="1537" />
-<glyph unicode="&#x2004;" horiz-adv-x="512" />
-<glyph unicode="&#x2005;" horiz-adv-x="384" />
-<glyph unicode="&#x2006;" horiz-adv-x="256" />
-<glyph unicode="&#x2007;" horiz-adv-x="256" />
-<glyph unicode="&#x2008;" horiz-adv-x="192" />
-<glyph unicode="&#x2009;" horiz-adv-x="307" />
-<glyph unicode="&#x200a;" horiz-adv-x="85" />
-<glyph unicode="&#x202f;" horiz-adv-x="307" />
-<glyph unicode="&#x205f;" horiz-adv-x="384" />
-<glyph unicode="&#x2122;" horiz-adv-x="1792" />
-<glyph unicode="&#x221e;" horiz-adv-x="1792" />
-<glyph unicode="&#x2260;" horiz-adv-x="1792" />
-<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
-<glyph unicode="&#xf000;" horiz-adv-x="1792" d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
-<glyph unicode="&#xf001;" d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf002;" horiz-adv-x="1664" d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
-<glyph unicode="&#xf003;" horiz-adv-x="1792" d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf004;" horiz-adv-x="1792" d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 q-18 -18 -44 -18z" />
-<glyph unicode="&#xf005;" horiz-adv-x="1664" d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 l502 -73q56 -9 56 -46z" />
-<glyph unicode="&#xf006;" horiz-adv-x="1664" d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
-<glyph unicode="&#xf007;" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf008;" horiz-adv-x="1920" d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf009;" horiz-adv-x="1664" d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf00a;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf00b;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf00c;" horiz-adv-x="1792" d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
-<glyph unicode="&#xf00d;" horiz-adv-x="1408" d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
-<glyph unicode="&#xf00e;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
-<glyph unicode="&#xf010;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z " />
-<glyph unicode="&#xf011;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
-<glyph unicode="&#xf012;" horiz-adv-x="1792" d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf013;" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
-<glyph unicode="&#xf014;" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf015;" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
-<glyph unicode="&#xf016;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z " />
-<glyph unicode="&#xf017;" d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf018;" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
-<glyph unicode="&#xf019;" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
-<glyph unicode="&#xf01a;" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf01b;" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf01c;" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" />
-<glyph unicode="&#xf01d;" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf01e;" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
-<glyph unicode="&#xf021;" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf022;" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" />
-<glyph unicode="&#xf023;" horiz-adv-x="1152" d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf024;" horiz-adv-x="1792" d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf025;" horiz-adv-x="1664" d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
-<glyph unicode="&#xf026;" horiz-adv-x="768" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf027;" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
-<glyph unicode="&#xf028;" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
-<glyph unicode="&#xf029;" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
-<glyph unicode="&#xf02a;" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
-<glyph unicode="&#xf02b;" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" />
-<glyph unicode="&#xf02c;" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
-<glyph unicode="&#xf02d;" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
-<glyph unicode="&#xf02e;" horiz-adv-x="1280" d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
-<glyph unicode="&#xf02f;" horiz-adv-x="1664" d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
-<glyph unicode="&#xf030;" horiz-adv-x="1920" d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf031;" horiz-adv-x="1664" d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57 q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -4 -0.5 -13t-0.5 -13q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5 q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" />
-<glyph unicode="&#xf032;" horiz-adv-x="1408" d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142 q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5 t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68.5 -0.5t67.5 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5 t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" />
-<glyph unicode="&#xf033;" horiz-adv-x="1024" d="M0 -126l17 85q6 2 81.5 21.5t111.5 37.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5 q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" />
-<glyph unicode="&#xf034;" horiz-adv-x="1792" d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2 t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5 q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" />
-<glyph unicode="&#xf035;" d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1 t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5 t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49 t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" />
-<glyph unicode="&#xf036;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf037;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf038;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf039;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf03a;" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf03b;" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf03c;" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf03d;" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" />
-<glyph unicode="&#xf03e;" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf040;" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" />
-<glyph unicode="&#xf041;" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
-<glyph unicode="&#xf042;" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf043;" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
-<glyph unicode="&#xf044;" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
-<glyph unicode="&#xf045;" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
-<glyph unicode="&#xf046;" horiz-adv-x="1664" d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 q24 -24 24 -57t-24 -57z" />
-<glyph unicode="&#xf047;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
-<glyph unicode="&#xf048;" horiz-adv-x="1024" d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19z" />
-<glyph unicode="&#xf049;" horiz-adv-x="1792" d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />
-<glyph unicode="&#xf04a;" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />
-<glyph unicode="&#xf04b;" horiz-adv-x="1408" d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
-<glyph unicode="&#xf04c;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf04d;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf04e;" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
-<glyph unicode="&#xf050;" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
-<glyph unicode="&#xf051;" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />
-<glyph unicode="&#xf052;" horiz-adv-x="1538" d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
-<glyph unicode="&#xf053;" horiz-adv-x="1280" d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" />
-<glyph unicode="&#xf054;" horiz-adv-x="1280" d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" />
-<glyph unicode="&#xf055;" d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf056;" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
-<glyph unicode="&#xf057;" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf058;" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf059;" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05a;" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05b;" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf05c;" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05d;" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf05e;" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
-<glyph unicode="&#xf060;" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" />
-<glyph unicode="&#xf061;" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
-<glyph unicode="&#xf062;" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" />
-<glyph unicode="&#xf063;" horiz-adv-x="1664" d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
-<glyph unicode="&#xf064;" horiz-adv-x="1792" d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
-<glyph unicode="&#xf065;" d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf066;" d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
-<glyph unicode="&#xf067;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf068;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf069;" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
-<glyph unicode="&#xf06a;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
-<glyph unicode="&#xf06b;" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf06c;" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
-<glyph unicode="&#xf06d;" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
-<glyph unicode="&#xf06e;" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
-<glyph unicode="&#xf070;" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " />
-<glyph unicode="&#xf071;" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
-<glyph unicode="&#xf072;" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
-<glyph unicode="&#xf073;" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf074;" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
-<glyph unicode="&#xf075;" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
-<glyph unicode="&#xf076;" d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf077;" horiz-adv-x="1792" d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" />
-<glyph unicode="&#xf078;" horiz-adv-x="1792" d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" />
-<glyph unicode="&#xf079;" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z " />
-<glyph unicode="&#xf07a;" horiz-adv-x="1664" d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45 t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf07b;" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf07c;" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf07d;" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
-<glyph unicode="&#xf07e;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
-<glyph unicode="&#xf080;" horiz-adv-x="2048" d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" />
-<glyph unicode="&#xf081;" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf082;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960z" />
-<glyph unicode="&#xf083;" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf084;" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
-<glyph unicode="&#xf085;" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
-<glyph unicode="&#xf086;" horiz-adv-x="1792" d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
-<glyph unicode="&#xf087;" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
-<glyph unicode="&#xf088;" d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 32 18 69t-17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -74 49 -163z" />
-<glyph unicode="&#xf089;" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
-<glyph unicode="&#xf08a;" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" />
-<glyph unicode="&#xf08b;" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
-<glyph unicode="&#xf08c;" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf08d;" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
-<glyph unicode="&#xf08e;" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf090;" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf091;" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf092;" d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4 q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4 t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16 q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf093;" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
-<glyph unicode="&#xf094;" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
-<glyph unicode="&#xf095;" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
-<glyph unicode="&#xf096;" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf097;" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
-<glyph unicode="&#xf098;" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf099;" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
-<glyph unicode="&#xf09a;" horiz-adv-x="1024" d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" />
-<glyph unicode="&#xf09b;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24 q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5 t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12 q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" />
-<glyph unicode="&#xf09c;" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" />
-<glyph unicode="&#xf09d;" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
-<glyph unicode="&#xf09e;" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" />
-<glyph unicode="&#xf0a0;" d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
-<glyph unicode="&#xf0a1;" horiz-adv-x="1792" d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
-<glyph unicode="&#xf0a2;" horiz-adv-x="1792" d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5 t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
-<glyph unicode="&#xf0a3;" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
-<glyph unicode="&#xf0a4;" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
-<glyph unicode="&#xf0a5;" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf0a6;" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
-<glyph unicode="&#xf0a7;" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
-<glyph unicode="&#xf0a8;" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0a9;" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0aa;" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0ab;" d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0ac;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 10.5t-9.5 10.5q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10t17 -20q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q7 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
-<glyph unicode="&#xf0ad;" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
-<glyph unicode="&#xf0ae;" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0b0;" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
-<glyph unicode="&#xf0b1;" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf0b2;" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " />
-<glyph unicode="&#xf0c0;" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
-<glyph unicode="&#xf0c1;" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
-<glyph unicode="&#xf0c2;" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " />
-<glyph unicode="&#xf0c3;" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
-<glyph unicode="&#xf0c4;" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
-<glyph unicode="&#xf0c5;" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
-<glyph unicode="&#xf0c6;" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" />
-<glyph unicode="&#xf0c7;" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
-<glyph unicode="&#xf0c8;" d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf0c9;" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0ca;" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf0cb;" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
-<glyph unicode="&#xf0cc;" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
-<glyph unicode="&#xf0cd;" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
-<glyph unicode="&#xf0ce;" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" />
-<glyph unicode="&#xf0d0;" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
-<glyph unicode="&#xf0d1;" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0d2;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf0d3;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
-<glyph unicode="&#xf0d4;" d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585 h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf0d5;" horiz-adv-x="2304" d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62 q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" />
-<glyph unicode="&#xf0d6;" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0d7;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0d8;" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0d9;" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf0da;" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0db;" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf0dc;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0dd;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0de;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
-<glyph unicode="&#xf0e0;" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
-<glyph unicode="&#xf0e1;" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
-<glyph unicode="&#xf0e2;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
-<glyph unicode="&#xf0e3;" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
-<glyph unicode="&#xf0e4;" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf0e5;" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
-<glyph unicode="&#xf0e6;" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
-<glyph unicode="&#xf0e7;" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
-<glyph unicode="&#xf0e8;" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" />
-<glyph unicode="&#xf0e9;" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
-<glyph unicode="&#xf0ea;" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
-<glyph unicode="&#xf0eb;" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
-<glyph unicode="&#xf0ec;" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
-<glyph unicode="&#xf0ed;" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
-<glyph unicode="&#xf0ee;" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
-<glyph unicode="&#xf0f0;" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf0f1;" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
-<glyph unicode="&#xf0f2;" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" />
-<glyph unicode="&#xf0f3;" horiz-adv-x="1792" d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5 t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" />
-<glyph unicode="&#xf0f4;" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf0f5;" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0f6;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704 q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" />
-<glyph unicode="&#xf0f7;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0f8;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0f9;" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf0fa;" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf0fb;" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
-<glyph unicode="&#xf0fc;" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
-<glyph unicode="&#xf0fd;" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf0fe;" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf100;" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
-<glyph unicode="&#xf101;" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf102;" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf103;" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
-<glyph unicode="&#xf104;" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
-<glyph unicode="&#xf105;" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf106;" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
-<glyph unicode="&#xf107;" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
-<glyph unicode="&#xf108;" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf109;" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
-<glyph unicode="&#xf10a;" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf10b;" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf10c;" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf10d;" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
-<glyph unicode="&#xf10e;" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
-<glyph unicode="&#xf110;" horiz-adv-x="1792" d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5 t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5 q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf111;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf112;" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
-<glyph unicode="&#xf113;" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />
-<glyph unicode="&#xf114;" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
-<glyph unicode="&#xf115;" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
-<glyph unicode="&#xf116;" horiz-adv-x="1792" />
-<glyph unicode="&#xf117;" horiz-adv-x="1792" />
-<glyph unicode="&#xf118;" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf119;" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf11a;" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf11b;" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
-<glyph unicode="&#xf11c;" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf11d;" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
-<glyph unicode="&#xf11e;" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
-<glyph unicode="&#xf120;" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />
-<glyph unicode="&#xf121;" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
-<glyph unicode="&#xf122;" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
-<glyph unicode="&#xf123;" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
-<glyph unicode="&#xf124;" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
-<glyph unicode="&#xf125;" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf126;" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
-<glyph unicode="&#xf127;" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
-<glyph unicode="&#xf128;" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
-<glyph unicode="&#xf129;" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf12a;" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
-<glyph unicode="&#xf12b;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
-<glyph unicode="&#xf12c;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />
-<glyph unicode="&#xf12d;" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
-<glyph unicode="&#xf12e;" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
-<glyph unicode="&#xf130;" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
-<glyph unicode="&#xf131;" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
-<glyph unicode="&#xf132;" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf133;" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf134;" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
-<glyph unicode="&#xf135;" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
-<glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
-<glyph unicode="&#xf137;" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf138;" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf139;" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf13a;" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf13b;" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
-<glyph unicode="&#xf13c;" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
-<glyph unicode="&#xf13d;" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf13e;" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" />
-<glyph unicode="&#xf140;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf141;" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf142;" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
-<glyph unicode="&#xf143;" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf144;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />
-<glyph unicode="&#xf145;" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
-<glyph unicode="&#xf146;" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
-<glyph unicode="&#xf147;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf148;" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
-<glyph unicode="&#xf149;" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
-<glyph unicode="&#xf14a;" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14b;" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14c;" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14d;" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf14e;" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf150;" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf151;" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf152;" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf153;" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
-<glyph unicode="&#xf154;" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
-<glyph unicode="&#xf155;" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
-<glyph unicode="&#xf156;" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf157;" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
-<glyph unicode="&#xf158;" horiz-adv-x="1280" d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
-<glyph unicode="&#xf159;" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf15a;" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
-<glyph unicode="&#xf15b;" d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" />
-<glyph unicode="&#xf15c;" d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704 q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" />
-<glyph unicode="&#xf15d;" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" />
-<glyph unicode="&#xf15e;" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" />
-<glyph unicode="&#xf160;" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf161;" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf162;" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
-<glyph unicode="&#xf163;" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
-<glyph unicode="&#xf164;" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
-<glyph unicode="&#xf165;" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
-<glyph unicode="&#xf166;" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf167;" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
-<glyph unicode="&#xf168;" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" />
-<glyph unicode="&#xf169;" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf16a;" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
-<glyph unicode="&#xf16b;" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
-<glyph unicode="&#xf16c;" d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" />
-<glyph unicode="&#xf16d;" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1162 640q0 -164 -115 -279t-279 -115t-279 115t-115 279t115 279t279 115t279 -115t115 -279zM1270 1050q0 -38 -27 -65t-65 -27t-65 27t-27 65t27 65t65 27t65 -27t27 -65zM768 1270 q-7 0 -76.5 0.5t-105.5 0t-96.5 -3t-103 -10t-71.5 -18.5q-50 -20 -88 -58t-58 -88q-11 -29 -18.5 -71.5t-10 -103t-3 -96.5t0 -105.5t0.5 -76.5t-0.5 -76.5t0 -105.5t3 -96.5t10 -103t18.5 -71.5q20 -50 58 -88t88 -58q29 -11 71.5 -18.5t103 -10t96.5 -3t105.5 0t76.5 0.5 t76.5 -0.5t105.5 0t96.5 3t103 10t71.5 18.5q50 20 88 58t58 88q11 29 18.5 71.5t10 103t3 96.5t0 105.5t-0.5 76.5t0.5 76.5t0 105.5t-3 96.5t-10 103t-18.5 71.5q-20 50 -58 88t-88 58q-29 11 -71.5 18.5t-103 10t-96.5 3t-105.5 0t-76.5 -0.5zM1536 640q0 -229 -5 -317 q-10 -208 -124 -322t-322 -124q-88 -5 -317 -5t-317 5q-208 10 -322 124t-124 322q-5 88 -5 317t5 317q10 208 124 322t322 124q88 5 317 5t317 -5q208 -10 322 -124t124 -322q5 -88 5 -317z" />
-<glyph unicode="&#xf16e;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
-<glyph unicode="&#xf170;" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf171;" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
-<glyph unicode="&#xf172;" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf173;" horiz-adv-x="1024" d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14 q78 2 134 29z" />
-<glyph unicode="&#xf174;" d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf175;" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
-<glyph unicode="&#xf176;" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
-<glyph unicode="&#xf177;" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf178;" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
-<glyph unicode="&#xf179;" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
-<glyph unicode="&#xf17a;" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
-<glyph unicode="&#xf17b;" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
-<glyph unicode="&#xf17c;" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
-<glyph unicode="&#xf17d;" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf17e;" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
-<glyph unicode="&#xf180;" horiz-adv-x="1280" d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324 l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" />
-<glyph unicode="&#xf181;" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf182;" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf183;" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf184;" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf185;" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
-<glyph unicode="&#xf186;" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
-<glyph unicode="&#xf187;" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf188;" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
-<glyph unicode="&#xf189;" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
-<glyph unicode="&#xf18a;" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
-<glyph unicode="&#xf18b;" d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
-<glyph unicode="&#xf18c;" horiz-adv-x="1408" d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
-<glyph unicode="&#xf18d;" horiz-adv-x="1280" d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z " />
-<glyph unicode="&#xf18e;" d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf190;" d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf191;" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf192;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf193;" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
-<glyph unicode="&#xf194;" d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179 q157 0 383 294q220 283 226 444zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf195;" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf196;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf197;" horiz-adv-x="2176" d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40 t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29 q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" />
-<glyph unicode="&#xf198;" horiz-adv-x="1664" d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9 q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102 t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" />
-<glyph unicode="&#xf199;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69 q-46 32 -141.5 92.5t-142.5 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13 t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" />
-<glyph unicode="&#xf19a;" horiz-adv-x="1792" d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5 t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21 t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286 t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273 t273 -182.5t331.5 -68z" />
-<glyph unicode="&#xf19b;" horiz-adv-x="1792" d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" />
-<glyph unicode="&#xf19c;" horiz-adv-x="2048" d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64 q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" />
-<glyph unicode="&#xf19d;" horiz-adv-x="2304" d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433 q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" />
-<glyph unicode="&#xf19e;" d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q43 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0 q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" />
-<glyph unicode="&#xf1a0;" d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5 t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" />
-<glyph unicode="&#xf1a1;" horiz-adv-x="1792" d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26 t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q-19 5 -25 -16l-69 -312q-180 -7 -309 -97q-35 37 -87 37 q-50 0 -85 -35t-35 -84q0 -35 18.5 -64t49.5 -44q-6 -27 -6 -56q0 -142 140 -243t337 -101q198 0 338 101t140 243q0 32 -7 57q30 15 48 43.5t18 63.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191 t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf1a2;" d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54 q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42q-17 5 -21 -13l-60 -268q-154 -6 -265 -83 q-30 32 -74 32q-43 0 -73 -30t-30 -72q0 -30 16 -55t42 -38q-5 -25 -5 -48q0 -122 120 -208.5t289 -86.5q170 0 290 86.5t120 208.5q0 25 -6 49q25 13 40.5 37.5t15.5 54.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf1a3;" d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150 v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103 t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf1a4;" horiz-adv-x="1920" d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328 v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" />
-<glyph unicode="&#xf1a5;" d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
-<glyph unicode="&#xf1a6;" horiz-adv-x="2048" d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123 v-369h123z" />
-<glyph unicode="&#xf1a7;" d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101 v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf1a8;" horiz-adv-x="2038" d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14 q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24 q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33 q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5 t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43 q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5 t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13 t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" />
-<glyph unicode="&#xf1a9;" d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10 q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14 q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14 t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44 q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" />
-<glyph unicode="&#xf1aa;" d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5 t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5 q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126 t135.5 51q85 0 145 -60.5t60 -145.5z" />
-<glyph unicode="&#xf1ab;" d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5 q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28 q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11 q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q106 35 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5 q20 0 20 -21v-418z" />
-<glyph unicode="&#xf1ac;" horiz-adv-x="1792" d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48 l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23 t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128 q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128 q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" />
-<glyph unicode="&#xf1ad;" d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9 t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64 q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9 t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64 q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9 t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" />
-<glyph unicode="&#xf1ae;" horiz-adv-x="1280" d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68t68 28t68 -28l228 -228h368l228 228q28 28 68 28t68 -28t28 -68t-28 -68zM864 1152q0 -93 -65.5 -158.5 t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf1b0;" horiz-adv-x="1664" d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5 q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819 q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5 t100.5 134t141.5 55.5z" />
-<glyph unicode="&#xf1b1;" horiz-adv-x="768" d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" />
-<glyph unicode="&#xf1b2;" horiz-adv-x="1792" d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z " />
-<glyph unicode="&#xf1b3;" horiz-adv-x="2304" d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67 t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-5 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70 v-400l434 -186q36 -16 57 -48t21 -70z" />
-<glyph unicode="&#xf1b4;" horiz-adv-x="2048" d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658 q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204 q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" />
-<glyph unicode="&#xf1b5;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5 t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217 t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" />
-<glyph unicode="&#xf1b6;" horiz-adv-x="1792" d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5 q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89 q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" />
-<glyph unicode="&#xf1b7;" d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5 q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5 q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z " />
-<glyph unicode="&#xf1b8;" horiz-adv-x="1792" d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188 l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5 t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1 q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" />
-<glyph unicode="&#xf1b9;" horiz-adv-x="2048" d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384 q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5 l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf1ba;" horiz-adv-x="2048" d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5 t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" />
-<glyph unicode="&#xf1bb;" d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384 q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" />
-<glyph unicode="&#xf1bc;" d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64 q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37 q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf1bd;" horiz-adv-x="1024" d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" />
-<glyph unicode="&#xf1be;" horiz-adv-x="2304" d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11 q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245 q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785 l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242 q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236q0 -11 -8 -19 t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786q-13 2 -22 11t-9 22v899 q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" />
-<glyph unicode="&#xf1c0;" d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127 t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5 t-103 128v128q0 69 103 128t280 93.5t385 34.5z" />
-<glyph unicode="&#xf1c1;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197 q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8 q-1 1 -1 2t-0.5 1.5t-0.5 1.5q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" />
-<glyph unicode="&#xf1c2;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4l-3 21q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5t-3.5 -21.5l-4 -21h-4l-2 21 q-2 26 -7 46l-99 438h90v107h-300z" />
-<glyph unicode="&#xf1c3;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107 h-290v-107h68l189 -272l-194 -283h-68z" />
-<glyph unicode="&#xf1c4;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" />
-<glyph unicode="&#xf1c5;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" />
-<glyph unicode="&#xf1c6;" d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400 v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79 q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" />
-<glyph unicode="&#xf1c7;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5 q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" />
-<glyph unicode="&#xf1c8;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" />
-<glyph unicode="&#xf1c9;" d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243 l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" />
-<glyph unicode="&#xf1ca;" d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406 q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" />
-<glyph unicode="&#xf1cb;" horiz-adv-x="1792" d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546 q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" />
-<glyph unicode="&#xf1cc;" horiz-adv-x="2048" d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94 q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55 t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97q14 -16 29.5 -34t34.5 -40t29 -34q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5 t-85 -189.5z" />
-<glyph unicode="&#xf1cd;" horiz-adv-x="1792" d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194 q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5 t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" />
-<glyph unicode="&#xf1ce;" horiz-adv-x="1792" d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5 t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" />
-<glyph unicode="&#xf1d0;" horiz-adv-x="1792" d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41 t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170 t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136 q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" />
-<glyph unicode="&#xf1d1;" horiz-adv-x="1792" d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251 l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162 q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33 q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5 t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71 t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf1d2;" d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85 q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392 q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072 q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf1d3;" horiz-adv-x="1792" d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58 q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47 q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171 v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" />
-<glyph unicode="&#xf1d4;" d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf1d5;" horiz-adv-x="1280" d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5 t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153 t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" />
-<glyph unicode="&#xf1d6;" horiz-adv-x="1792" d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5 q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20 t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5 t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" />
-<glyph unicode="&#xf1d7;" horiz-adv-x="2048" d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25 q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5 q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109 q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" />
-<glyph unicode="&#xf1d8;" horiz-adv-x="1792" d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" />
-<glyph unicode="&#xf1d9;" horiz-adv-x="1792" d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137 l863 639l-478 -797z" />
-<glyph unicode="&#xf1da;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23 t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf1db;" d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf1dc;" horiz-adv-x="1792" d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15 t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2 t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160 q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5 q0 -26 -12 -48t-36 -22z" />
-<glyph unicode="&#xf1dd;" horiz-adv-x="1280" d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179 q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" />
-<glyph unicode="&#xf1de;" d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256 q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" />
-<glyph unicode="&#xf1e0;" d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5 t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" />
-<glyph unicode="&#xf1e1;" d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5 t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf1e2;" horiz-adv-x="1792" d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5 t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91 q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9 t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
-<glyph unicode="&#xf1e3;" horiz-adv-x="1792" d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323 l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" />
-<glyph unicode="&#xf1e4;" horiz-adv-x="1792" d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23 zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5 t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" />
-<glyph unicode="&#xf1e5;" horiz-adv-x="1792" d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf1e6;" horiz-adv-x="1792" d="M1755 1083q37 -37 37 -90t-37 -91l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234l401 400 q38 37 91 37t90 -37z" />
-<glyph unicode="&#xf1e7;" horiz-adv-x="1792" d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5 t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q3 -2 11 -7 t11 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" />
-<glyph unicode="&#xf1e8;" horiz-adv-x="1792" d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" />
-<glyph unicode="&#xf1e9;" d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36 q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q70 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5 t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87 q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" />
-<glyph unicode="&#xf1ea;" horiz-adv-x="2048" d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19 t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" />
-<glyph unicode="&#xf1eb;" horiz-adv-x="2048" d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121 q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" />
-<glyph unicode="&#xf1ec;" horiz-adv-x="1792" d="M384 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5 t37.5 90.5zM384 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 768q0 53 -37.5 90.5t-90.5 37.5 t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38 h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf1ed;" d="M1519 890q18 -84 -4 -204q-87 -444 -565 -444h-44q-25 0 -44 -16.5t-24 -42.5l-4 -19l-55 -346l-2 -15q-5 -26 -24.5 -42.5t-44.5 -16.5h-251q-21 0 -33 15t-9 36q9 56 26.5 168t26.5 168t27 167.5t27 167.5q5 37 43 37h131q133 -2 236 21q175 39 287 144q102 95 155 246 q24 70 35 133q1 6 2.5 7.5t3.5 1t6 -3.5q79 -59 98 -162zM1347 1172q0 -107 -46 -236q-80 -233 -302 -315q-113 -40 -252 -42q0 -1 -90 -1l-90 1q-100 0 -118 -96q-2 -8 -85 -530q-1 -10 -12 -10h-295q-22 0 -36.5 16.5t-11.5 38.5l232 1471q5 29 27.5 48t51.5 19h598 q34 0 97.5 -13t111.5 -32q107 -41 163.5 -123t56.5 -196z" />
-<glyph unicode="&#xf1ee;" horiz-adv-x="1792" d="M441 864q32 0 52 -26q266 -364 362 -774h-446q-127 441 -367 749q-12 16 -3 33.5t29 17.5h373zM1000 507q-49 -199 -125 -393q-79 310 -256 594q40 221 44 449q211 -340 337 -650zM1099 1216q235 -324 384.5 -698.5t184.5 -773.5h-451q-41 665 -553 1472h435zM1792 640 q0 -424 -101 -812q-67 560 -359 1083q-25 301 -106 584q-4 16 5.5 28.5t25.5 12.5h359q21 0 38.5 -13t22.5 -33q115 -409 115 -850z" />
-<glyph unicode="&#xf1f0;" horiz-adv-x="2304" d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27 q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128 q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf1f1;" horiz-adv-x="2304" d="M671 603h-13q-47 0 -47 -32q0 -22 20 -22q17 0 28 15t12 39zM1066 639h62v3q1 4 0.5 6.5t-1 7t-2 8t-4.5 6.5t-7.5 5t-11.5 2q-28 0 -36 -38zM1606 603h-12q-48 0 -48 -32q0 -22 20 -22q17 0 28 15t12 39zM1925 629q0 41 -30 41q-19 0 -31 -20t-12 -51q0 -42 28 -42 q20 0 32.5 20t12.5 52zM480 770h87l-44 -262h-56l32 201l-71 -201h-39l-4 200l-34 -200h-53l44 262h81l2 -163zM733 663q0 -6 -4 -42q-16 -101 -17 -113h-47l1 22q-20 -26 -58 -26q-23 0 -37.5 16t-14.5 42q0 39 26 60.5t73 21.5q14 0 23 -1q0 3 0.5 5.5t1 4.5t0.5 3 q0 20 -36 20q-29 0 -59 -10q0 4 7 48q38 11 67 11q74 0 74 -62zM889 721l-8 -49q-22 3 -41 3q-27 0 -27 -17q0 -8 4.5 -12t21.5 -11q40 -19 40 -60q0 -72 -87 -71q-34 0 -58 6q0 2 7 49q29 -8 51 -8q32 0 32 19q0 7 -4.5 11.5t-21.5 12.5q-43 20 -43 59q0 72 84 72 q30 0 50 -4zM977 721h28l-7 -52h-29q-2 -17 -6.5 -40.5t-7 -38.5t-2.5 -18q0 -16 19 -16q8 0 16 2l-8 -47q-21 -7 -40 -7q-43 0 -45 47q0 12 8 56q3 20 25 146h55zM1180 648q0 -23 -7 -52h-111q-3 -22 10 -33t38 -11q30 0 58 14l-9 -54q-30 -8 -57 -8q-95 0 -95 95 q0 55 27.5 90.5t69.5 35.5q35 0 55.5 -21t20.5 -56zM1319 722q-13 -23 -22 -62q-22 2 -31 -24t-25 -128h-56l3 14q22 130 29 199h51l-3 -33q14 21 25.5 29.5t28.5 4.5zM1506 763l-9 -57q-28 14 -50 14q-31 0 -51 -27.5t-20 -70.5q0 -30 13.5 -47t38.5 -17q21 0 48 13 l-10 -59q-28 -8 -50 -8q-45 0 -71.5 30.5t-26.5 82.5q0 70 35.5 114.5t91.5 44.5q26 0 61 -13zM1668 663q0 -18 -4 -42q-13 -79 -17 -113h-46l1 22q-20 -26 -59 -26q-23 0 -37 16t-14 42q0 39 25.5 60.5t72.5 21.5q15 0 23 -1q2 7 2 13q0 20 -36 20q-29 0 -59 -10q0 4 8 48 q38 11 67 11q73 0 73 -62zM1809 722q-14 -24 -21 -62q-23 2 -31.5 -23t-25.5 -129h-56l3 14q19 104 29 199h52q0 -11 -4 -33q15 21 26.5 29.5t27.5 4.5zM1950 770h56l-43 -262h-53l3 19q-23 -23 -52 -23q-31 0 -49.5 24t-18.5 64q0 53 27.5 92t64.5 39q31 0 53 -29z M2061 640q0 148 -72.5 273t-198 198t-273.5 73q-181 0 -328 -110q127 -116 171 -284h-50q-44 150 -158 253q-114 -103 -158 -253h-50q44 168 171 284q-147 110 -328 110q-148 0 -273.5 -73t-198 -198t-72.5 -273t72.5 -273t198 -198t273.5 -73q181 0 328 110 q-120 111 -165 264h50q46 -138 152 -233q106 95 152 233h50q-45 -153 -165 -264q147 -110 328 -110q148 0 273.5 73t198 198t72.5 273zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf1f2;" horiz-adv-x="2304" d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42 q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604 v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569 q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73 t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" />
-<glyph unicode="&#xf1f3;" horiz-adv-x="2304" d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260 l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279 v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040 q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168 q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5 t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21 h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5 t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" />
-<glyph unicode="&#xf1f4;" horiz-adv-x="2304" d="M745 630q0 -37 -25.5 -61.5t-62.5 -24.5q-29 0 -46.5 16t-17.5 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM1530 779q0 -42 -22 -57t-66 -15l-32 -1l17 107q2 11 13 11h18q22 0 35 -2t25 -12.5t12 -30.5zM1881 630q0 -36 -25.5 -61t-61.5 -25q-29 0 -47 16 t-18 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM513 801q0 59 -38.5 85.5t-100.5 26.5h-160q-19 0 -21 -19l-65 -408q-1 -6 3 -11t10 -5h76q20 0 22 19l18 110q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM822 489l41 261q1 6 -3 11t-10 5h-76 q-14 0 -17 -33q-27 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q28 0 58 12t48 32q-4 -12 -4 -21q0 -16 13 -16h69q19 0 22 19zM1269 752q0 5 -4 9.5t-9 4.5h-77q-11 0 -18 -10l-106 -156l-44 150q-5 16 -22 16h-75q-5 0 -9 -4.5t-4 -9.5q0 -2 19.5 -59 t42 -123t23.5 -70q-82 -112 -82 -120q0 -13 13 -13h77q11 0 18 10l255 368q2 2 2 7zM1649 801q0 59 -38.5 85.5t-100.5 26.5h-159q-20 0 -22 -19l-65 -408q-1 -6 3 -11t10 -5h82q12 0 16 13l18 116q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM1958 489 l41 261q1 6 -3 11t-10 5h-76q-14 0 -17 -33q-26 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q29 0 59 12t47 32q0 -1 -2 -9t-2 -12q0 -16 13 -16h69q19 0 22 19zM2176 898v1q0 14 -13 14h-74q-11 0 -13 -11l-65 -416l-1 -2q0 -5 4 -9.5t10 -4.5h66 q19 0 21 19zM392 764q-5 -35 -26 -46t-60 -11l-33 -1l17 107q2 11 13 11h19q40 0 58 -11.5t12 -48.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf1f5;" horiz-adv-x="2304" d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109 q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118 q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151 q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31 q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf1f6;" horiz-adv-x="2048" d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5 l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5 l418 363q10 8 23.5 7t21.5 -11z" />
-<glyph unicode="&#xf1f7;" horiz-adv-x="2048" d="M1040 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128 q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161 q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" />
-<glyph unicode="&#xf1f8;" horiz-adv-x="1408" d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704 q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167 q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf1f9;" d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5 t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5 t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf1fa;" d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53 q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24 t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61 t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" />
-<glyph unicode="&#xf1fb;" horiz-adv-x="1792" d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10 t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" />
-<glyph unicode="&#xf1fc;" horiz-adv-x="1792" d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5 t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" />
-<glyph unicode="&#xf1fd;" horiz-adv-x="1792" d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11t55.5 -11t52.5 -38q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5t47 37.5 q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-35 0 -55.5 11t-52.5 38q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38t-58 27 t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448h256v448 h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51 t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" />
-<glyph unicode="&#xf1fe;" horiz-adv-x="2048" d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" />
-<glyph unicode="&#xf200;" horiz-adv-x="1792" d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf201;" horiz-adv-x="2048" d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9 t9 -23z" />
-<glyph unicode="&#xf202;" horiz-adv-x="1792" d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20 q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50 t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1 q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" />
-<glyph unicode="&#xf203;" d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73 q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110 q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf204;" horiz-adv-x="2048" d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5 t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5 t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" />
-<glyph unicode="&#xf205;" horiz-adv-x="2048" d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5 t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5z" />
-<glyph unicode="&#xf206;" horiz-adv-x="2304" d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94 q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469 q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400 q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" />
-<glyph unicode="&#xf207;" d="M384 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5 h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" />
-<glyph unicode="&#xf208;" horiz-adv-x="2048" d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327 q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5 q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" />
-<glyph unicode="&#xf209;" horiz-adv-x="1280" d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q18 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119 t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5 t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14 q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88 q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5 t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" />
-<glyph unicode="&#xf20a;" horiz-adv-x="2048" d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206 q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307 t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14 t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" />
-<glyph unicode="&#xf20b;" d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5 t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
-<glyph unicode="&#xf20c;" d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55 q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410 q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" />
-<glyph unicode="&#xf20d;" d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" />
-<glyph unicode="&#xf20e;" horiz-adv-x="2048" d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335 q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t43 -21h398q18 21 44 21q23 0 40 -16.5t17 -40.5 q0 -6 -4 -18l207 -358q23 -1 39 -17.5t16 -38.5q0 -13 -7 -27l187 -324q19 -4 31.5 -19.5t12.5 -35.5zM1063 -158h389l-342 354h-143l-342 -354h360q18 16 39 16t39 -16zM112 654q1 -4 1 -13q0 -10 -2 -15l208 -360q2 0 4.5 -1t5.5 -2.5l5 -2.5l188 199v347l-187 194 q-13 -8 -29 -10zM986 1438h-388l190 -200l554 200h-280q-16 -16 -38 -16t-38 16zM1689 226q1 6 5 11l-64 68l-17 -79h76zM1583 226l22 105l-252 266l-296 -307l63 -64h463zM1495 -142l16 28l65 310h-427l333 -343q8 4 13 5zM578 -158h5l342 354h-373v-335l4 -6q14 -5 22 -13 zM552 226h402l64 66l-309 321l-157 -166v-221zM359 226h163v189l-168 -177q4 -8 5 -12zM358 1051q0 -1 0.5 -2t0.5 -2q0 -16 -8 -29l171 -177v269zM552 1121v-311l153 -157l297 314l-223 236zM556 1425l-4 -8v-264l205 74l-191 201q-6 -2 -10 -3zM1447 1438h-16l-621 -224 l213 -225zM1023 946l-297 -315l311 -319l296 307zM688 634l-136 141v-284zM1038 270l-42 -44h85zM1374 618l238 -251l132 624l-3 5l-1 1zM1718 1018q-8 13 -8 29v2l-216 376q-5 1 -13 5l-437 -463l310 -327zM522 1142v223l-163 -282zM522 196h-163l163 -283v283zM1607 196 l-48 -227l130 227h-82zM1729 266l207 361q-2 10 -2 14q0 1 3 16l-171 296l-129 -612l77 -82q5 3 15 7z" />
-<glyph unicode="&#xf210;" d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" />
-<glyph unicode="&#xf211;" d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384 q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" />
-<glyph unicode="&#xf212;" horiz-adv-x="2048" d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021 q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-176 0 -336 -66l-114 -941q124 51 228.5 76t221.5 25 q209 0 374 -102q172 107 374 102z" />
-<glyph unicode="&#xf213;" horiz-adv-x="2048" d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101 q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 -284t-284 -118h-1244q-166 0 -284 118t-118 284 q0 116 63 214.5t168 148.5q-10 34 -10 73q0 113 80.5 193.5t193.5 80.5q102 0 180 -67q45 183 194 300t338 117q149 0 275 -73.5t199.5 -199.5t73.5 -275q0 -66 -14 -122q135 -33 221 -142.5t86 -247.5z" />
-<glyph unicode="&#xf214;" d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34 l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l105 47l15 -34l-105 -46zM259 1389v-36h-114 v36h114zM421 1389v-36h-115v36h115zM583 1389v-36h-115v36h115zM744 1389v-36h-114v36h114zM906 1389v-36h-114v36h114zM1068 1389v-36h-115v36h115zM1230 1389v-36h-115v36h115zM1391 1389v-36h-114v36h114zM181 1049v-79h-37v115h115v-36h-78zM421 1085v-36h-115v36h115z M583 1085v-36h-115v36h115zM744 1085v-36h-114v36h114zM906 1085v-36h-114v36h114zM1068 1085v-36h-115v36h115zM1230 1085v-36h-115v36h115zM1355 970v79h-78v36h115v-115h-37zM1355 822v115h37v-115h-37zM1355 674v115h37v-115h-37zM1355 526v115h37v-115h-37zM1355 378 v115h37v-115h-37zM1355 230v115h37v-115h-37zM760 265q-129 0 -221 91.5t-92 221.5q0 129 92 221t221 92q130 0 221.5 -92t91.5 -221q0 -130 -91.5 -221.5t-221.5 -91.5zM595 646q0 -36 19.5 -56.5t49.5 -25t64 -7t64 -2t49.5 -9t19.5 -30.5q0 -49 -112 -49q-97 0 -123 51 h-3l-31 -63q67 -42 162 -42q29 0 56.5 5t55.5 16t45.5 33t17.5 53q0 46 -27.5 69.5t-67.5 27t-79.5 3t-67 5t-27.5 25.5q0 21 20.5 33t40.5 15t41 3q34 0 70.5 -11t51.5 -34h3l30 58q-3 1 -21 8.5t-22.5 9t-19.5 7t-22 7t-20 4.5t-24 4t-23 1q-29 0 -56.5 -5t-54 -16.5 t-43 -34t-16.5 -53.5z" />
-<glyph unicode="&#xf215;" horiz-adv-x="2048" d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832 q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" />
-<glyph unicode="&#xf216;" horiz-adv-x="2048" d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126.5t-103.5 132.5t-108.5 126t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5 t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 -113t151.5 -153t139 -167.5t133.5 -153.5t149.5 -113 t172.5 -43.5q102 0 168.5 61.5t66.5 162.5q0 95 -64.5 159t-159.5 64q-30 0 -81.5 -18.5t-68.5 -18.5q-20 0 -35.5 15t-15.5 35q0 18 8.5 57t8.5 59q0 159 -107.5 263t-266.5 104q-58 0 -111.5 -18.5t-84 -40.5t-55.5 -40.5t-33 -18.5q-15 0 -25.5 10.5t-10.5 25.5 q0 19 25 46q59 67 147 103.5t182 36.5q191 0 318 -125.5t127 -315.5q0 -37 -4 -66q57 15 115 15z" />
-<glyph unicode="&#xf217;" horiz-adv-x="1664" d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920 q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf218;" horiz-adv-x="1664" d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920 q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf219;" horiz-adv-x="2048" d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20 l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" />
-<glyph unicode="&#xf21a;" horiz-adv-x="2048" d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83 q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83 q19 19 45 19t45 -19l83 -83zM237 19q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -82l83 82q19 19 45 19t45 -19l83 -82l64 64v293l-210 314q-17 26 -7 56.5t40 40.5l177 58v299h128v128h256v128h256v-128h256v-128h128v-299l177 -58q30 -10 40 -40.5t-7 -56.5l-210 -314 v-293l19 18q19 19 45 19t45 -19l83 -82l83 82q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83 q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83zM640 1152v-128l384 128l384 -128v128h-128v128h-512v-128h-128z" />
-<glyph unicode="&#xf21b;" d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14 t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 20.5t7.5 20.5q2 7 7.5 10.5t7.5 6.5 q2 9 4 27zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 61 4.5 118t19 125.5t37.5 123.5t63.5 103.5t93.5 74.5l-90 220h214q-22 64 -22 128q0 12 2 32q-194 40 -194 96q0 57 210 99q17 62 51.5 134t70.5 114q32 37 76 37q30 0 84 -31t84 -31t84 31 t84 31q44 0 76 -37q36 -42 70.5 -114t51.5 -134q210 -42 210 -99q0 -56 -194 -96q7 -81 -20 -160h214l-82 -225q63 -33 107.5 -96.5t65.5 -143.5t29 -151.5t8 -148.5z" />
-<glyph unicode="&#xf21c;" horiz-adv-x="2304" d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5 t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5t-14 52.5q4 23 23 38t43 15h253q33 0 53 -28l70 -105 l114 114q19 19 46 19h101q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-179l115 -172q131 63 275 36q143 -26 244 -134.5t118 -253.5zM448 128q115 0 203 72.5t111 183.5h-314q-35 0 -55 31q-18 32 -1 63l147 277q-47 13 -91 13q-132 0 -226 -94t-94 -226t94 -226 t226 -94zM1856 128q132 0 226 94t94 226t-94 226t-226 94q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94z" />
-<glyph unicode="&#xf21d;" d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12 q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 -44.5t91 -66.5t33 -88.5zM1024 896v-384 q0 -26 -19 -45t-45 -19h-64v-384q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v384h-64q-26 0 -45 19t-19 45v384q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM928 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5 t158.5 -65.5t65.5 -158.5z" />
-<glyph unicode="&#xf21e;" horiz-adv-x="1792" d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221 q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124 t127 -344z" />
-<glyph unicode="&#xf221;" horiz-adv-x="1280" d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292 q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" />
-<glyph unicode="&#xf222;" d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5 q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf223;" horiz-adv-x="1280" d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5 t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -273zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf224;" d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf225;" horiz-adv-x="1792" d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l-111 112v-134q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9 t-9 23v288q0 26 19 45t45 19h288q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-133l106 -107l86 94q9 10 22 10.5t23 -7.5l48 -44q10 -8 10.5 -21.5t-8.5 -23.5l-90 -99l57 -56q158 126 359 126t359 -126l255 254h-134q-14 0 -23 9t-9 23v64zM832 256q185 0 316.5 131.5 t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf226;" horiz-adv-x="1792" d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23 t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM576 512q115 0 218 57q-154 165 -154 391 q0 224 154 391q-103 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1152 128v260q-137 15 -256 94q-119 -79 -256 -94v-260h512zM1216 512q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5q-115 0 -218 -57q154 -167 154 -391 q0 -226 -154 -391q103 -57 218 -57z" />
-<glyph unicode="&#xf227;" horiz-adv-x="1920" d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230 q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -74 93 -169q182 -9 328 -124l255 254h-134q-14 0 -23 9 t-9 23v64zM1024 704q0 20 -4 58q-162 -25 -271 -150t-109 -292q0 -20 4 -58q162 25 271 150t109 292zM128 704q0 -168 111 -294t276 -149q-3 29 -3 59q0 210 135 369.5t338 196.5q-53 120 -163.5 193t-245.5 73q-185 0 -316.5 -131.5t-131.5 -316.5zM1088 -128 q185 0 316.5 131.5t131.5 316.5q0 168 -111 294t-276 149q3 -29 3 -59q0 -210 -135 -369.5t-338 -196.5q53 -120 163.5 -193t245.5 -73z" />
-<glyph unicode="&#xf228;" horiz-adv-x="2048" d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23 t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q146 97 320 97q201 0 359 -126l255 254h-134q-14 0 -23 9 t-9 23v64zM896 391q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM128 704q0 -185 131.5 -316.5t316.5 -131.5q117 0 218 57q-154 167 -154 391t154 391q-101 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5zM1216 256q185 0 316.5 131.5t131.5 316.5 t-131.5 316.5t-316.5 131.5q-117 0 -218 -57q154 -167 154 -391t-154 -391q101 -57 218 -57z" />
-<glyph unicode="&#xf229;" d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5 t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf22a;" horiz-adv-x="1280" d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22 t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5 t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf22b;" horiz-adv-x="2048" d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5 t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5 t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf22c;" horiz-adv-x="1280" d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5 t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
-<glyph unicode="&#xf22d;" horiz-adv-x="1280" d="M1024 576q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123 t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" />
-<glyph unicode="&#xf22e;" horiz-adv-x="1792" />
-<glyph unicode="&#xf22f;" horiz-adv-x="1792" />
-<glyph unicode="&#xf230;" d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" />
-<glyph unicode="&#xf231;" horiz-adv-x="1280" d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5 l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 95t38 110.5t20 111t6.5 99.5q0 173 -109.5 269.5t-285.5 96.5 q-200 0 -334 -129.5t-134 -328.5q0 -44 12.5 -85t27 -65t27 -45.5t12.5 -30.5q0 -28 -15 -73t-37 -45q-2 0 -17 3q-51 15 -90.5 56t-61 94.5t-32.5 108t-11 106.5z" />
-<glyph unicode="&#xf232;" d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5 t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 -200.5t-50 -243.5q0 -203 120 -368l-79 -233 l242 77q158 -104 345 -104zM782 1414q153 0 292.5 -60t240.5 -161t161 -240.5t60 -292.5t-60 -292.5t-161 -240.5t-240.5 -161t-292.5 -60q-195 0 -365 94l-417 -134l136 405q-108 178 -108 389q0 153 60 292.5t161 240.5t240.5 161t292.5 60z" />
-<glyph unicode="&#xf233;" horiz-adv-x="1792" d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216 q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" />
-<glyph unicode="&#xf234;" horiz-adv-x="2048" d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5 t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h-874q-121 0 -194 69t-73 190q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q79 -61 154.5 -91.5t164.5 -30.5t164.5 30.5t154.5 91.5q20 17 39 17q132 0 217 -96h-223q-52 0 -90 -38t-38 -90v-192z" />
-<glyph unicode="&#xf235;" horiz-adv-x="2048" d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136 q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91q0 -53 37 -90l83 -83q-21 -3 -44 -3h-874q-121 0 -194 69 t-73 190q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q154 -122 319 -122t319 122q20 17 39 17q28 0 57 -6q-28 -27 -41 -50t-13 -56q0 -54 37 -91z" />
-<glyph unicode="&#xf236;" horiz-adv-x="2048" d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704 q-26 0 -45 -19t-19 -45v-384h1152z" />
-<glyph unicode="&#xf237;" d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" />
-<glyph unicode="&#xf238;" d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56 t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" />
-<glyph unicode="&#xf239;" d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47 t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" />
-<glyph unicode="&#xf23a;" horiz-adv-x="1792" d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116 q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" />
-<glyph unicode="&#xf23b;" d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" />
-<glyph unicode="&#xf23c;" horiz-adv-x="2296" d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5 q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5zM1158 1094h1q-41 0 -76 -15q27 -8 44 -30.5t17 -49.5 q0 -35 -27 -60t-65 -25q-52 0 -80 43q-5 -23 -5 -42q0 -74 56 -126.5t135 -52.5q80 0 136 52.5t56 126.5t-56 126.5t-136 52.5zM1462 1312q-99 109 -220.5 131.5t-245.5 -44.5q27 60 82.5 96.5t118 39.5t121.5 -17t99.5 -74.5t44.5 -131.5zM2212 73q8 -11 -11 -42 q7 -23 7 -40q1 -56 -44.5 -112.5t-109.5 -91.5t-118 -37q-48 -2 -92 21.5t-66 65.5q-687 -25 -1259 0q-23 -41 -66.5 -65t-92.5 -22q-86 3 -179.5 80.5t-92.5 160.5q2 22 7 40q-19 31 -11 42q6 10 31 1q14 22 41 51q-7 29 2 38q11 10 39 -4q29 20 59 34q0 29 13 37 q23 12 51 -16q35 5 61 -2q18 -4 38 -19v73q-11 0 -18 2q-53 10 -97 44.5t-55 87.5q-9 38 0 81q15 62 93 95q2 17 19 35.5t36 23.5t33 -7.5t19 -30.5h13q46 -5 60 -23q3 -3 5 -7q10 1 30.5 3.5t30.5 3.5q-15 11 -30 17q-23 40 -91 43q0 6 1 10q-62 2 -118.5 18.5t-84.5 47.5 q-32 36 -42.5 92t-2.5 112q16 126 90 179q23 16 52 4.5t32 -40.5q0 -1 1.5 -14t2.5 -21t3 -20t5.5 -19t8.5 -10q27 -14 76 -12q48 46 98 74q-40 4 -162 -14l47 46q61 58 163 111q145 73 282 86q-20 8 -41 15.5t-47 14t-42.5 10.5t-47.5 11t-43 10q595 126 904 -139 q98 -84 158 -222q85 -10 121 9h1q5 3 8.5 10t5.5 19t3 19.5t3 21.5l1 14q3 28 32 40t52 -5q73 -52 91 -178q7 -57 -3.5 -113t-42.5 -91q-28 -32 -83.5 -48.5t-115.5 -18.5v-10q-71 -2 -95 -43q-14 -5 -31 -17q11 -1 32 -3.5t30 -3.5q1 4 5 8q16 18 60 23h13q5 18 19 30t33 8 t36 -23t19 -36q79 -32 93 -95q9 -40 1 -81q-12 -53 -56 -88t-97 -44q-10 -2 -17 -2q0 -49 -1 -73q20 15 38 19q26 7 61 2q28 28 51 16q14 -9 14 -37q33 -16 59 -34q27 13 38 4q10 -10 2 -38q28 -30 41 -51q23 8 31 -1zM1937 1025q0 -29 -9 -54q82 -32 112 -132 q4 37 -9.5 98.5t-41.5 90.5q-20 19 -36 17t-16 -20zM1859 925q35 -42 47.5 -108.5t-0.5 -124.5q67 13 97 45q13 14 18 28q-3 64 -31 114.5t-79 66.5q-15 -15 -52 -21zM1822 921q-30 0 -44 1q42 -115 53 -239q21 0 43 3q16 68 1 135t-53 100zM258 839q30 100 112 132 q-9 25 -9 54q0 18 -16.5 20t-35.5 -17q-28 -29 -41.5 -90.5t-9.5 -98.5zM294 737q29 -31 97 -45q-13 58 -0.5 124.5t47.5 108.5v0q-37 6 -52 21q-51 -16 -78.5 -66t-31.5 -115q9 -17 18 -28zM471 683q14 124 73 235q-19 -4 -55 -18l-45 -19v1q-46 -89 -20 -196q25 -3 47 -3z M1434 644q8 -38 16.5 -108.5t11.5 -89.5q3 -18 9.5 -21.5t23.5 4.5q40 20 62 85.5t23 125.5q-24 2 -146 4zM1152 1285q-116 0 -199 -82.5t-83 -198.5q0 -117 83 -199.5t199 -82.5t199 82.5t83 199.5q0 116 -83 198.5t-199 82.5zM1380 646q-106 2 -211 0v1q-1 -27 2.5 -86 t13.5 -66q29 -14 93.5 -14.5t95.5 10.5q9 3 11 39t-0.5 69.5t-4.5 46.5zM1112 447q8 4 9.5 48t-0.5 88t-4 63v1q-212 -3 -214 -3q-4 -20 -7 -62t0 -83t14 -46q34 -15 101 -16t101 10zM718 636q-16 -59 4.5 -118.5t77.5 -84.5q15 -8 24 -5t12 21q3 16 8 90t10 103 q-69 -2 -136 -6zM591 510q3 -23 -34 -36q132 -141 271.5 -240t305.5 -154q172 49 310.5 146t293.5 250q-33 13 -30 34l3 9v1v-1q-17 2 -50 5.5t-48 4.5q-26 -90 -82 -132q-51 -38 -82 1q-5 6 -9 14q-7 13 -17 62q-2 -5 -5 -9t-7.5 -7t-8 -5.5t-9.5 -4l-10 -2.5t-12 -2 l-12 -1.5t-13.5 -1t-13.5 -0.5q-106 -9 -163 11q-4 -17 -10 -26.5t-21 -15t-23 -7t-36 -3.5q-2 0 -3 -0.5t-3 -0.5h-3q-179 -17 -203 40q-2 -63 -56 -54q-47 8 -91 54q-12 13 -20 26q-17 29 -26 65q-58 -6 -87 -10q1 -2 4 -10zM507 -118q3 14 3 30q-17 71 -51 130t-73 70 q-41 12 -101.5 -14.5t-104.5 -80t-39 -107.5q35 -53 100 -93t119 -42q51 -2 94 28t53 79zM510 53q23 -63 27 -119q195 113 392 174q-98 52 -180.5 120t-179.5 165q-6 -4 -29 -13q0 -2 -1 -5t-1 -4q31 -18 22 -37q-12 -23 -56 -34q-10 -13 -29 -24h-1q-2 -83 1 -150 q19 -34 35 -73zM579 -113q532 -21 1145 0q-254 147 -428 196q-76 -35 -156 -57q-8 -3 -16 0q-65 21 -129 49q-208 -60 -416 -188h-1v-1q1 0 1 1zM1763 -67q4 54 28 120q14 38 33 71l-1 -1q3 77 3 153q-15 8 -30 25q-42 9 -56 33q-9 20 22 38q-2 4 -2 9q-16 4 -28 12 q-204 -190 -383 -284q198 -59 414 -176zM2155 -90q5 54 -39 107.5t-104 80t-102 14.5q-38 -11 -72.5 -70.5t-51.5 -129.5q0 -16 3 -30q10 -49 53 -79t94 -28q54 2 119 42t100 93z" />
-<glyph unicode="&#xf23d;" horiz-adv-x="2304" d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5 t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98.5t83 91.5t54 80.5t13 70t-45.5 55.5t-116.5 41t-204 23.5 t-304 5q-168 -2 -314 6t-256 23t-204.5 41t-159.5 51.5t-122.5 62.5t-91.5 66.5t-68 71.5t-50.5 69.5t-40 68t-36.5 59.5z" />
-<glyph unicode="&#xf23e;" horiz-adv-x="1792" d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348 t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 -90.5q0 -35 -17.5 -64t-46.5 -46v-114q0 -14 -9 -23 t-23 -9h-64q-14 0 -23 9t-9 23v114q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5zM896 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM544 928v-96 q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 93 65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5v-96q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 146 -103 249t-249 103t-249 -103t-103 -249zM1408 192v512q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-512 q0 -26 19 -45t45 -19h896q26 0 45 19t19 45z" />
-<glyph unicode="&#xf240;" horiz-adv-x="2304" d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113 v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" />
-<glyph unicode="&#xf241;" horiz-adv-x="2304" d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
-<glyph unicode="&#xf242;" horiz-adv-x="2304" d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
-<glyph unicode="&#xf243;" horiz-adv-x="2304" d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
-<glyph unicode="&#xf244;" horiz-adv-x="2304" d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23 v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" />
-<glyph unicode="&#xf245;" horiz-adv-x="1280" d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" />
-<glyph unicode="&#xf246;" horiz-adv-x="1024" d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" />
-<glyph unicode="&#xf247;" horiz-adv-x="2048" d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128 h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" />
-<glyph unicode="&#xf248;" horiz-adv-x="2304" d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256 v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v-384h128v-384h-384v128h-384v-128h128v-128h896v128h128z" />
-<glyph unicode="&#xf249;" d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" />
-<glyph unicode="&#xf24a;" d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68 z" />
-<glyph unicode="&#xf24b;" horiz-adv-x="2304" d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5 t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-127 6 -218.5 -14t-140.5 -60t-71 -88t-22 -106t22 -106t71 -88 t140.5 -60t218.5 -14q101 4 208 31zM2176 518q0 54 -43 88.5t-109 39.5v3q57 8 89 41.5t32 79.5q0 55 -41 88t-107 36q-3 0 -12 0.5t-14 0.5h-455v-510h491q74 0 121.5 36.5t47.5 96.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90 t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf24c;" horiz-adv-x="2304" d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294 t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323 -85h301q129 0 251.5 50.5t214.5 135t147.5 202.5t55.5 246z M2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf24d;" horiz-adv-x="1792" d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113 zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf24e;" horiz-adv-x="2304" d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64 q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5zM2176 384q0 -73 -46.5 -131t-117.5 -91 t-144.5 -49.5t-139.5 -16.5t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81zM896 384q0 -73 -46.5 -131t-117.5 -91t-144.5 -49.5t-139.5 -16.5 t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81z" />
-<glyph unicode="&#xf250;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-77 -29 -149 -92.5 t-129.5 -152.5t-92.5 -210t-35 -253h1024q0 132 -35 253t-92.5 210t-129.5 152.5t-149 92.5q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
-<glyph unicode="&#xf251;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -152t-90.5 -208t-34 -249.5h1024z" />
-<glyph unicode="&#xf252;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" />
-<glyph unicode="&#xf253;" d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-137 -51 -244 -196 h700q-107 145 -244 196q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" />
-<glyph unicode="&#xf254;" d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87 t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9 h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472z" />
-<glyph unicode="&#xf255;" d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25 q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 -50q57 34 123 34q59 0 111 -27 t86 -76q27 7 59 7q100 0 170 -71.5t70 -171.5v-246q0 -51 -13 -108l-109 -436q-6 -24 -6 -71q0 -80 -56 -136t-136 -56h-640q-84 0 -138 58.5t-54 142.5l-308 296q-76 73 -76 175v224q0 99 70.5 169.5t169.5 70.5q11 0 16 -1q6 95 75.5 160t164.5 65q52 0 98 -21 q72 69 174 69z" />
-<glyph unicode="&#xf256;" horiz-adv-x="1792" d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33 t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -175v-498q0 -40 -8 -83l-76 -404q-14 -79 -76.5 -131t-143.5 -52 h-688q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 106 75 181t181 75q78 0 128 -34v434q0 99 70.5 169.5t169.5 70.5q23 0 42 -4q31 61 88.5 96.5t125.5 35.5z" />
-<glyph unicode="&#xf257;" horiz-adv-x="1792" d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668 q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79t-79 33q-26 0 -46 -10l-290 -132q-28 -13 -37 -17 t-30.5 -17t-29.5 -23.5t-16 -29t-8 -40.5q0 -50 31.5 -82t81.5 -32q20 0 38 9l352 160q30 14 48 41.5t18 60.5zM1112 1024l-650 248q-24 8 -46 8q-53 0 -90.5 -37.5t-37.5 -90.5q0 -40 22.5 -73t59.5 -47l526 -200v-64h-640q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5 t90.5 -37.5h535l233 106v198q0 63 46 106l111 102h-69zM1073 0q82 0 155 19l339 85q43 11 70 45.5t27 78.5v668q0 53 -37.5 90.5t-90.5 37.5h-308l-136 -126q-36 -33 -36 -82v-296q0 -46 33 -77t79 -31t79 35t33 81v208h32v-208q0 -70 -57 -114q52 -8 86.5 -48.5t34.5 -93.5 q0 -42 -23 -78t-61 -53l-310 -141h91z" />
-<glyph unicode="&#xf258;" horiz-adv-x="2048" d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32 q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 -44 3 -58q8 -44 44 -73t81 -29h640h91q40 0 68 -28t28 -68 q0 -15 -5 -30l-64 -192q-10 -29 -35 -47.5t-56 -18.5h-443q-66 0 -113 -47t-47 -113v-32q0 -26 19 -45t45 -19h561q16 0 29 -7l317 -158q24 -13 38.5 -36t14.5 -50v-197q0 -26 19 -45t45 -19h384q26 0 45 19t19 45z" />
-<glyph unicode="&#xf259;" horiz-adv-x="2048" d="M816 1408q-48 0 -79.5 -34t-31.5 -82q0 -14 3 -28l150 -624h-26l-116 482q-9 38 -39.5 62t-69.5 24q-47 0 -79 -34t-32 -81q0 -11 4 -29q3 -13 39 -161t68 -282t32 -138v-227l-307 230q-34 26 -77 26q-52 0 -89.5 -36.5t-37.5 -88.5q0 -67 56 -110l507 -379 q34 -26 76 -26h694q33 0 59 20.5t34 52.5l100 401q8 30 10 88t9 86l116 478q3 12 3 26q0 46 -33 79t-80 33q-38 0 -69 -25.5t-40 -62.5l-99 -408h-26l132 547q3 14 3 28q0 47 -32 80t-80 33q-38 0 -68.5 -24t-39.5 -62l-145 -602h-127l-164 682q-9 38 -39.5 62t-68.5 24z M1461 -256h-694q-85 0 -153 51l-507 380q-50 38 -78.5 94t-28.5 118q0 105 75 179t180 74q25 0 49.5 -5.5t41.5 -11t41 -20.5t35 -23t38.5 -29.5t37.5 -28.5l-123 512q-7 35 -7 59q0 93 60 162t152 79q14 87 80.5 144.5t155.5 57.5q83 0 148 -51.5t85 -132.5l103 -428 l83 348q20 81 85 132.5t148 51.5q87 0 152.5 -54t82.5 -139q93 -10 155 -78t62 -161q0 -30 -7 -57l-116 -477q-5 -22 -5 -67q0 -51 -13 -108l-101 -401q-19 -75 -79.5 -122.5t-137.5 -47.5z" />
-<glyph unicode="&#xf25a;" horiz-adv-x="1792" d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5 q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47 21 99 21q113 0 184 -87q27 7 56 7q94 0 159 -67.5t65 -161.5 v-217q0 -116 -28 -225l-92 -368q-16 -64 -68 -104.5t-118 -40.5h-718q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 105 74.5 180.5t179.5 75.5q71 0 130 -35v547q0 106 75 181t181 75zM768 128v384h-32v-384h32zM1024 128v384h-32v-384h32zM1280 128v384h-32 v-384h32z" />
-<glyph unicode="&#xf25b;" d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181 v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 -30.5t-17 -37l-132 -290q-10 -20 -10 -46 q0 -46 33 -79t79 -33q33 0 60.5 18t41.5 48l160 352q9 18 9 38q0 50 -32 81.5t-82 31.5zM128 1120q0 -22 8 -46l248 -650v-69l102 111q43 46 106 46h198l106 233v535q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-640h-64l-200 526q-14 37 -47 59.5t-73 22.5 q-53 0 -90.5 -37.5t-37.5 -90.5zM1180 -128q44 0 78.5 27t45.5 70l85 339q19 73 19 155v91l-141 -310q-17 -38 -53 -61t-78 -23q-53 0 -93.5 34.5t-48.5 86.5q-44 -57 -114 -57h-208v32h208q46 0 81 33t35 79t-31 79t-77 33h-296q-49 0 -82 -36l-126 -136v-308 q0 -53 37.5 -90.5t90.5 -37.5h668z" />
-<glyph unicode="&#xf25c;" horiz-adv-x="1973" d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5 t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51q3 7 9.5 24.5t10.5 26.5l221 520q9 19 29 19h141 q13 0 22 -8.5t10 -20.5z" />
-<glyph unicode="&#xf25d;" horiz-adv-x="1792" d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109 t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM1792 640 q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf25e;" horiz-adv-x="1792" d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13t-23.5 -14.5t-28.5 -13.5t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78 q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13t-23.5 -14.5t-28.5 -13.5t-33.5 -9.5 t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-147 0 -245.5 -96.5t-98.5 -240.5q0 -146 97 -241.5t247 -95.5zM896 1376 q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191 t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71z" />
-<glyph unicode="&#xf260;" horiz-adv-x="2048" d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" />
-<glyph unicode="&#xf261;" horiz-adv-x="1792" d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191 t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf262;" horiz-adv-x="2304" d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57 t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q0 -116 -81.5 -197.5t-196.5 -81.5q-116 0 -197.5 82t-81.5 197 t82 196.5t197 81.5t196.5 -81.5t81.5 -196.5zM2004 540q0 -115 -81.5 -196.5t-197.5 -81.5q-115 0 -196.5 81.5t-81.5 196.5t81.5 196.5t196.5 81.5q116 0 197.5 -81.5t81.5 -196.5zM1040 537q0 191 -135.5 326.5t-326.5 135.5q-125 0 -231 -62t-168 -168.5t-62 -231.5 t62 -231.5t168 -168.5t231 -62q191 0 326.5 135.5t135.5 326.5zM1708 1110q-254 111 -556 111q-319 0 -573 -110q117 0 223 -45.5t182.5 -122.5t122 -183t45.5 -223q0 115 43.5 219.5t118 180.5t177.5 123t217 50zM2187 537q0 191 -135 326.5t-326 135.5t-326.5 -135.5 t-135.5 -326.5t135.5 -326.5t326.5 -135.5t326 135.5t135 326.5zM1921 1103h383q-44 -51 -75 -114.5t-40 -114.5q110 -151 110 -337q0 -156 -77 -288t-209 -208.5t-287 -76.5q-133 0 -249 56t-196 155q-47 -56 -129 -179q-11 22 -53.5 82.5t-74.5 97.5 q-80 -99 -196.5 -155.5t-249.5 -56.5q-155 0 -287 76.5t-209 208.5t-77 288q0 186 110 337q-9 51 -40 114.5t-75 114.5h365q149 100 355 156.5t432 56.5q224 0 421 -56t348 -157z" />
-<glyph unicode="&#xf263;" horiz-adv-x="1280" d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5 t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 30 -31 73t31 74l267 267l72 72q-203 21 -317 94 q-39 25 -61.5 41.5t-42.5 37t-26.5 38.5t-4.5 40.5t15 49.5q10 20 28 35t42 22t56 -2t65 -35q5 -4 15 -11t43 -24.5t69 -30.5t92 -24t113 -11q91 0 174 25.5t120 50.5l38 25q33 26 65 35t56 2t42 -22t28 -35z" />
-<glyph unicode="&#xf264;" d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32 q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 52q141 14 225 67q67 44 87 73.5t-2 74.5 zM1092 956q0 134 -95 229t-229 95t-229 -95t-95 -229t95 -229t229 -95t229 95t95 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf265;" horiz-adv-x="1720" d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33 l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" />
-<glyph unicode="&#xf266;" horiz-adv-x="2304" d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540 q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5 0.5t180 1t92.5 0.5v-49q-62 -2 -119 -33t-90 -81 l-213 -442q13 -33 127.5 -290t121.5 -274l441 1017q-14 38 -49.5 62.5t-65 31.5t-55.5 8v50l460 -4l1 -2l-1 -44q-139 -4 -201 -145q-526 -1216 -559 -1291h-49z" />
-<glyph unicode="&#xf267;" horiz-adv-x="1792" d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640 q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 13 20.5t21.5 33.5t9.5 19q0 13 -13 13q-6 0 -17 -14.5 t-22.5 -34.5t-13.5 -23q-113 75 -192 187.5t-110 244.5l69 15q10 3 10 15q0 5 -5.5 8t-10.5 2l-68 -15q-14 72 -14 139q0 206 109 379q2 -1 18.5 -12t30 -19t17.5 -8q13 0 13 12q0 6 -12.5 15.5t-32.5 21.5l-20 12q77 112 189 189t244 107l15 -67q2 -10 15 -10q5 0 8 5.5 t2 10.5l-15 66q71 13 134 13q204 0 379 -109q-39 -56 -39 -65q0 -13 12 -13q11 0 48 64q111 -75 187.5 -186t107.5 -241l-56 -12q-10 -2 -10 -16q0 -5 5.5 -8t9.5 -2l57 13q14 -72 14 -140zM1696 640q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5 t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191 t191 -286t71 -348z" />
-<glyph unicode="&#xf268;" horiz-adv-x="1792" d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962 q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5 213.5t213.5 88.5z" />
-<glyph unicode="&#xf269;" horiz-adv-x="1792" d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5 q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31.5 -10.5t-46.5 -1q-60 -95 -144.5 -135.5t-209.5 -29.5 q74 -61 162.5 -82.5t168.5 -6t154.5 52t128 87.5t80.5 104q43 91 39 192.5t-37.5 188.5t-78.5 125q87 -38 137 -79.5t77 -112.5q15 170 -57.5 343t-209.5 284q265 -77 412 -279.5t151 -517.5q2 -127 -40.5 -255t-123.5 -238t-189 -196t-247.5 -135.5t-288.5 -49.5z" />
-<glyph unicode="&#xf26a;" horiz-adv-x="1792" d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339 q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83 254 83q119 0 226 -65q135 -125 210.5 -295t75.5 -361z " />
-<glyph unicode="&#xf26b;" horiz-adv-x="1792" d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606 q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 222.5 -131.5t170.5 -195.5q51 135 51 216z M128 2q0 -86 48.5 -132.5t134.5 -46.5q115 0 266 83q-122 72 -213.5 183t-137.5 245q-98 -205 -98 -332zM632 715h728q-5 142 -113 237t-251 95q-144 0 -251.5 -95t-112.5 -237z" />
-<glyph unicode="&#xf26c;" horiz-adv-x="2048" d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23 v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
-<glyph unicode="&#xf26d;" horiz-adv-x="1792" d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34 h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12 83.5 6.5t67 -17t54 -35t43 -48t34.5 -56.5l468 100 q-68 175 -180 287z" />
-<glyph unicode="&#xf26e;" d="M1401 -11l-6 -6q-113 -114 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6 q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q6 0 13 -5l65 -66l65 65q18 17 48 -13 q27 -27 11 -44zM1400 547q0 -118 -46 -228q-45 -105 -126 -186q-80 -80 -187 -126t-228 -46t-228 46t-187 126q-82 82 -125 186q-15 32 -15 40h-1q-9 27 43 44q50 16 60 -12q37 -99 97 -167h1v339v2q3 136 102 232q105 103 253 103q147 0 251 -103t104 -249 q0 -147 -104.5 -251t-250.5 -104q-58 0 -112 16q-28 11 -13 61q16 51 44 43l14 -3q14 -3 32.5 -6t30.5 -3q104 0 176 71.5t72 174.5q0 101 -72 171q-71 71 -175 71q-107 0 -178 -80q-64 -72 -64 -160v-413q110 -67 242 -67q96 0 185 36.5t156 103.5t103.5 155t36.5 183 q0 198 -141 339q-140 140 -339 140q-200 0 -340 -140q-53 -53 -77 -87l-2 -2q-8 -11 -13 -15.5t-21.5 -9.5t-38.5 3q-21 5 -36.5 16.5t-15.5 26.5v680q0 15 10.5 26.5t27.5 11.5h877q30 0 30 -55t-30 -55h-811v-483h1q40 42 102 84t108 61q109 46 231 46q121 0 228 -46 t187 -126q81 -81 126 -186q46 -112 46 -229zM1369 1128q9 -8 9 -18t-5.5 -18t-16.5 -21q-26 -26 -39 -26q-9 0 -16 7q-106 91 -207 133q-128 56 -276 56q-133 0 -262 -49q-27 -10 -45 37q-9 25 -8 38q3 16 16 20q130 57 299 57q164 0 316 -64q137 -58 235 -152z" />
-<glyph unicode="&#xf270;" horiz-adv-x="1792" d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 -0.5h-5.5h-4.5t-3 0.5t-2 1.5l-1.5 3q-6 16 47 40t103 30 q46 7 108 1t76 -24zM1364 618q0 -31 13.5 -64t32 -58t37.5 -46t33 -32l13 -11l-227 -224q-40 37 -79 75.5t-58 58.5l-19 20q-11 11 -25 33q-38 -59 -97.5 -102.5t-127.5 -63.5t-140 -23t-137.5 21t-117.5 65.5t-83 113t-31 162.5q0 84 28 154t72 116.5t106.5 83t122.5 57 t130 34.5t119.5 18.5t99.5 6.5v127q0 65 -21 97q-34 53 -121 53q-6 0 -16.5 -1t-40.5 -12t-56 -29.5t-56 -59.5t-48 -96l-294 27q0 60 22 119t67 113t108 95t151.5 65.5t190.5 24.5q100 0 181 -25t129.5 -61.5t81 -83t45 -86t12.5 -73.5v-589zM692 597q0 -86 70 -133 q66 -44 139 -22q84 25 114 123q14 45 14 101v162q-59 -2 -111 -12t-106.5 -33.5t-87 -71t-32.5 -114.5z" />
-<glyph unicode="&#xf271;" horiz-adv-x="1792" d="M1536 1280q52 0 90 -38t38 -90v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9 h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408zM896 448h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224 v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224z" />
-<glyph unicode="&#xf272;" horiz-adv-x="1792" d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23 t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47 t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf273;" horiz-adv-x="1792" d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf274;" horiz-adv-x="1792" d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23 t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47 t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
-<glyph unicode="&#xf275;" horiz-adv-x="1792" d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" />
-<glyph unicode="&#xf276;" horiz-adv-x="1024" d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q61 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249 q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" />
-<glyph unicode="&#xf277;" horiz-adv-x="1792" d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768 q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" />
-<glyph unicode="&#xf278;" horiz-adv-x="2048" d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173 v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" />
-<glyph unicode="&#xf279;" horiz-adv-x="1792" d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472 q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" />
-<glyph unicode="&#xf27a;" horiz-adv-x="1792" d="M640 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5 t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5 5 23.5 21.5t25.5 23.5t23.5 25.5t24 31.5t20.5 37 t20 48t14.5 57.5t12.5 72.5q-146 90 -229.5 216.5t-83.5 269.5q0 174 120 321.5t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
-<glyph unicode="&#xf27b;" horiz-adv-x="1792" d="M640 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5 t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5 t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51 t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 130 71 248.5t191 204.5t286 136.5t348 50.5t348 -50.5t286 -136.5t191 -204.5t71 -248.5z" />
-<glyph unicode="&#xf27c;" horiz-adv-x="1024" d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" />
-<glyph unicode="&#xf27d;" horiz-adv-x="1792" d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246 q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" />
-<glyph unicode="&#xf27e;" d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" />
-<glyph unicode="&#xf280;" d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72 h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 1 -9.5 2.5t-2.5 3t1 7.5t1 12v520h-275 l-23 -101l83 -22q23 -7 23 -27v-370q0 -14 -6 -18.5t-20 -6.5l-70 -9v-86h352z" />
-<glyph unicode="&#xf281;" horiz-adv-x="1792" d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5 l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105.5 -44t106 44t44 106t-44 105.5t-106 43.5q-61 0 -105 -44 t-44 -105zM1228 136q11 11 11 26t-11 26q-10 10 -25 10t-26 -10q-41 -42 -121 -62t-160 -20t-160 20t-121 62q-11 10 -26 10t-25 -10q-11 -10 -11 -25.5t11 -26.5q43 -43 118.5 -68t122.5 -29.5t91 -4.5t91 4.5t122.5 29.5t118.5 68zM1225 341q62 0 105.5 44t43.5 106 q0 61 -44 105t-105 44q-62 0 -106 -43.5t-44 -105.5t44 -106t106 -44z" />
-<glyph unicode="&#xf282;" horiz-adv-x="1792" d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53 q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -163.5z" />
-<glyph unicode="&#xf283;" horiz-adv-x="2304" d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" />
-<glyph unicode="&#xf284;" horiz-adv-x="1792" d="M1549 857q55 0 85.5 -28.5t30.5 -83.5t-34 -82t-91 -27h-136v-177h-25v398h170zM1710 267l-4 -11l-5 -10q-113 -230 -330.5 -366t-474.5 -136q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q244 0 454.5 -124t329.5 -338l2 -4l8 -16 q-30 -15 -136.5 -68.5t-163.5 -84.5q-6 -3 -479 -268q384 -183 799 -366zM896 -234q250 0 462.5 132.5t322.5 357.5l-287 129q-72 -140 -206 -222t-292 -82q-151 0 -280 75t-204 204t-75 280t75 280t204 204t280 75t280 -73.5t204 -204.5l280 143q-116 208 -321 329 t-443 121q-119 0 -232.5 -31.5t-209 -87.5t-176.5 -137t-137 -176.5t-87.5 -209t-31.5 -232.5t31.5 -232.5t87.5 -209t137 -176.5t176.5 -137t209 -87.5t232.5 -31.5z" />
-<glyph unicode="&#xf285;" horiz-adv-x="1792" d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" />
-<glyph unicode="&#xf286;" horiz-adv-x="1792" d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96 q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 6 2.5 9.5t8.5 5t9.5 2t11.5 0t9 -0.5v391q-32 15 -32 50q0 23 16.5 39t38.5 16t38.5 -16t16.5 -39q0 -35 -32 -50v-17q45 10 83 10q21 0 59.5 -7.5t54.5 -7.5 q17 0 47 7.5t37 7.5q16 0 16 -16v-210q0 -15 -35 -21.5t-62 -6.5q-18 0 -54.5 7.5t-55.5 7.5q-40 0 -90 -12v-133q1 0 9 0.5t11.5 0t9.5 -2t8.5 -5t2.5 -9.5v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-624h128v112q0 16 16 16h96 q16 0 16 -16z" />
-<glyph unicode="&#xf287;" horiz-adv-x="2304" d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96 q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t91 -138h104q24 0 46.5 17t44.5 53.5t36 65t37 81.5q19 41 28 60.5 t28.5 57.5t33.5 57t37 46t45 40.5t51 23.5t61 10h107q21 57 70 92.5t111 35.5q80 0 136 -56t56 -136t-56 -136t-136 -56q-62 0 -111 35.5t-70 92.5h-107q-17 0 -33 -8t-31.5 -26t-27 -34t-27 -47t-24 -49t-24.5 -55q-46 -107 -83 -165h1114v128q0 18 16 28t32 -1z" />
-<glyph unicode="&#xf288;" horiz-adv-x="1792" d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348 t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf289;" horiz-adv-x="2304" d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22 q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 221 298t354 114q235 0 408.5 -158.5t196.5 -389.5 q116 -25 192.5 -118.5t76.5 -214.5zM2048 438q0 -175 -97 -319q-23 -33 -64 -33q-24 0 -43 13q-26 17 -32 48.5t12 57.5q71 104 71 233t-71 233q-18 26 -12 57t32 49t57.5 11.5t49.5 -32.5q97 -142 97 -318zM2304 438q0 -244 -134 -443q-23 -34 -64 -34q-23 0 -42 13 q-26 18 -32.5 49t11.5 57q108 164 108 358q0 195 -108 357q-18 26 -11.5 57.5t32.5 48.5q26 18 57 12t49 -33q134 -198 134 -442z" />
-<glyph unicode="&#xf28a;" d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83 t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t-119.5 56.5q-28 13 -43 20 q-116 55 -187 100t-122.5 102t-72 125.5t-20.5 162.5q0 78 20.5 150t66 137.5t112.5 114t166.5 77t221.5 28.5q120 0 220 -26t164.5 -67t109.5 -94t64 -105.5t19 -103.5q0 -46 -15 -82.5t-36.5 -58t-48.5 -36t-49 -19.5t-39 -5h-8h-32t-39 5t-44 14t-41 28t-37 46t-24 70.5 t-10 97.5q-15 16 -59 25.5t-81 10.5l-37 1q-68 0 -117.5 -31t-70.5 -70t-21 -76q0 -24 5 -43t24 -46t53 -51t97 -53.5t150 -58.5q76 -25 138.5 -53.5t109 -55.5t83 -59t60.5 -59.5t41 -62.5t26.5 -62t14.5 -63.5t6 -62t1 -62.5z" />
-<glyph unicode="&#xf28b;" d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103 t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf28c;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" />
-<glyph unicode="&#xf28d;" d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
-<glyph unicode="&#xf28e;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" />
-<glyph unicode="&#xf290;" horiz-adv-x="1792" d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf291;" horiz-adv-x="2048" d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5 t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1632 27l32 416 q2 26 -15.5 46.5t-43.5 22.5t-46.5 -15.5t-22.5 -43.5l-32 -416q-2 -26 15.5 -46.5t43.5 -22.5h5q25 0 43.5 17t20.5 42zM476 1244l-93 -412h-132l101 441q19 88 89 143.5t160 55.5h167q0 26 19 45t45 19h384q26 0 45 -19t19 -45h167q90 0 160 -55.5t89 -143.5l101 -441 h-132l-93 412q-11 44 -45.5 72t-79.5 28h-167q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45h-167q-45 0 -79.5 -28t-45.5 -72z" />
-<glyph unicode="&#xf292;" horiz-adv-x="1792" d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12 q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h311 q15 0 25 -12q9 -12 6 -28z" />
-<glyph unicode="&#xf293;" d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5 t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" />
-<glyph unicode="&#xf294;" horiz-adv-x="1024" d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" />
-<glyph unicode="&#xf295;" d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5 t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
-<glyph unicode="&#xf296;" horiz-adv-x="1792" d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" />
-<glyph unicode="&#xf297;" horiz-adv-x="1792" d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111 q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -385.5z" />
-<glyph unicode="&#xf298;" d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14 t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" />
-<glyph unicode="&#xf299;" horiz-adv-x="1792" d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57 q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9.5 -173t-20 -143.5t-13 -107l323 -327h-104l-281 285 q-22 -2 -91.5 -14t-121.5 -19t-138 -6t-160.5 17t-167.5 59t-179 111z" />
-<glyph unicode="&#xf29a;" horiz-adv-x="1792" d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42 q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z M1600 640q0 -143 -55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5zM896 1408q-156 0 -298 -61t-245 -164t-164 -245t-61 -298t61 -298 t164 -245t245 -164t298 -61t298 61t245 164t164 245t61 298t-61 298t-164 245t-245 164t-298 61zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
-<glyph unicode="&#xf29b;" d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300 l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -52t52.5 -126t-52.5 -126t-126.5 -52z M613 -62q106 0 196 61l139 -139q-146 -116 -335 -116q-148 0 -273.5 73t-198.5 198t-73 273q0 188 116 336l139 -139q-60 -88 -60 -197q0 -145 102.5 -247.5t247.5 -102.5z" />
-<glyph unicode="&#xf29c;" d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5 t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768 1280q-130 0 -248.5 -51t-204 -136.5 t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5 t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf29d;" horiz-adv-x="1408" d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457 q-67 -192 -92 -234q-16 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 299l211 381q23 34 113 34q75 0 107 -40l424 -521 q7 -5 14 -17l3 -3l-1 -1q7 -13 7 -29zM514 433q43 -113 88.5 -225t69.5 -168l24 -55q36 -93 42 -125q11 -70 -36 -97q-35 -22 -66 -16t-51 22t-29 35h-1q-6 16 -8 25l-124 351zM1338 -159q31 -49 31 -57q0 -5 -3 -7q-9 -5 -14.5 0.5t-15.5 26t-16 30.5q-114 172 -423 661 q3 -1 7 1t7 4l3 2q11 9 11 17z" />
-<glyph unicode="&#xf29e;" horiz-adv-x="2304" d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10 t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5 t-7.5 60t-20 91.5t-41 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2123 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-45 -108t-74 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5 h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2304 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66 104.5t41 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96 t9.5 -70.5z" />
-<glyph unicode="&#xf2a0;" horiz-adv-x="1408" d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5 q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t-19 -244t19 -244t68 -216q56 -122 83 -161q63 -91 179 -127 l6 -2q64 -18 98 -18q25 0 45 8q32 12 75.5 42.5t43.5 52.5zM776 760q-26 0 -45 19t-19 45.5t19 45.5q37 37 37 90q0 52 -37 91q-19 19 -19 45t19 45t45 19t45 -19q75 -75 75 -181t-75 -181q-21 -19 -45 -19zM957 579q-27 0 -45 19q-19 19 -19 45t19 45q112 114 112 272 t-112 272q-19 19 -19 45t19 45t45 19t45 -19q150 -150 150 -362t-150 -362q-18 -19 -45 -19zM1138 398q-27 0 -45 19q-19 19 -19 45t19 45q90 91 138.5 208t48.5 245t-48.5 245t-138.5 208q-19 19 -19 45t19 45t45 19t45 -19q109 -109 167 -249t58 -294t-58 -294t-167 -249 q-18 -19 -45 -19z" />
-<glyph unicode="&#xf2a1;" horiz-adv-x="2176" d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352 q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 864 q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 1376q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 192q0 -80 -56 -136 t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 1216q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 192q0 -80 -56 -136t-136 -56t-136 56 t-56 136t56 136t136 56t136 -56t56 -136zM1664 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136 t56 136t136 56t136 -56t56 -136zM2176 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z" />
-<glyph unicode="&#xf2a2;" horiz-adv-x="1792" d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 57 11.5 105.5t37 91t43.5 66.5t52 63q40 46 59.5 72 t37.5 74.5t18 103.5q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM896 576q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45 t45 19t45 -19t19 -45zM1184 704q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 93 -65.5 158.5t-158.5 65.5q-92 0 -158 -65.5t-66 -158.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 146 103 249t249 103t249 -103t103 -249zM1578 993q10 -25 -1 -49t-36 -34q-9 -4 -23 -4 q-19 0 -35.5 11t-23.5 30q-68 178 -224 295q-21 16 -25 42t12 47q17 21 43 25t47 -12q183 -137 266 -351zM1788 1074q9 -25 -1.5 -49t-35.5 -34q-11 -4 -23 -4q-44 0 -60 41q-92 238 -297 393q-22 16 -25.5 42t12.5 47q16 22 42 25.5t47 -12.5q235 -175 341 -449z" />
-<glyph unicode="&#xf2a3;" horiz-adv-x="2304" d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55 q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 0 39 -9q36 -17 49.5 -54.5t-3.5 -73.5 q-40 -83 -118.5 -133t-170.5 -50h-6q-16 2 -44 4l-290 27l-239 -120q-14 -7 -29 -7q-40 0 -57 35l-160 320q-11 23 -4 47.5t29 37.5l209 119l148 267q17 155 91.5 291.5t195.5 236.5q31 25 70.5 21.5t64.5 -34.5t21.5 -70t-34.5 -65q-70 -59 -117 -128q123 84 267 101 q40 5 71.5 -19t35.5 -64q5 -40 -19 -71.5t-64 -35.5q-84 -10 -159 -55q46 10 99 10q115 0 218 -50q36 -18 49 -55.5t-5 -73.5zM2137 1085l160 -320q11 -23 4 -47.5t-29 -37.5l-209 -119l-148 -267q-17 -155 -91.5 -291.5t-195.5 -236.5q-26 -22 -61 -22q-45 0 -74 35 q-25 31 -21.5 70t34.5 65q70 59 117 128q-123 -84 -267 -101q-4 -1 -12 -1q-36 0 -63.5 24t-31.5 60q-5 40 19 71.5t64 35.5q84 10 159 55q-46 -10 -99 -10q-115 0 -218 50q-36 18 -49 55.5t5 73.5q17 35 55 48t73 -4q62 -31 134 -31q51 0 99 17q-3 0 -9.5 -0.5t-9.5 -0.5 q-92 0 -170.5 50t-118.5 133q-17 36 -3.5 73.5t49.5 54.5q18 9 39 9q-21 0 -39 9q-36 17 -49.5 54.5t3.5 73.5q40 83 118.5 133t170.5 50h6h1q14 -2 42 -4l291 -27l239 120q14 7 29 7q40 0 57 -35z" />
-<glyph unicode="&#xf2a4;" horiz-adv-x="1792" d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19 t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19 -45t19 -45t45 -19q159 0 271.5 112.5t112.5 271.5q0 41 7.5 74 t26.5 64t33.5 50t45.5 54q35 41 53 64.5t44 67.5t37.5 93.5t11.5 108.5q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5zM591 561l226 -226l-579 -579q-12 -12 -29 -12t-29 12l-168 168q-12 12 -12 29t12 29zM1612 1524l168 -168q12 -12 12 -29t-12 -30l-233 -233 l-26 -25l-71 -71q-66 153 -195 258l91 91l207 207q13 12 30 12t29 -12z" />
-<glyph unicode="&#xf2a5;" d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2 q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39.5t29.5 28.5t26 20t11 8.5q0 3 -7 10 q-24 22 -58.5 36.5t-65.5 14.5q-35 0 -63.5 -34t-41 -75t-12.5 -75q0 -88 51.5 -142t138.5 -54q82 0 155 53t117.5 126t65.5 153q6 22 15.5 66.5t14.5 66.5q3 12 14 18q118 60 227 60q48 0 127 -18q1 -1 4 -1q5 0 9.5 4.5t4.5 8.5zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf2a6;" horiz-adv-x="1535" d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5 l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19.5 117t63 116.5t97.5 52.5q38 0 120 -33.5t83 -61.5 q0 -1 -16.5 -12.5t-39.5 -31t-46 -44.5t-39 -61t-16 -74q0 -33 16.5 -53t48.5 -20q45 0 85 31.5t66.5 78t48 105.5t32.5 107t16 90v9q0 2 -3.5 3.5t-8.5 1.5h-10t-10 -0.5t-6 -0.5q-227 0 -352 122.5t-125 348.5q0 108 34.5 221t96 210t156 167.5t204.5 89.5q52 9 106 9 q374 0 374 -360q0 -98 -38 -273t-43 -211l3 -3q101 57 182.5 88t167.5 31q22 0 53 -13q19 -7 80 -102.5t61 -116.5z" />
-<glyph unicode="&#xf2a7;" horiz-adv-x="1664" d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37 t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 73.5q27 38 76 38zM761 661l186 -125l-218 37l-5 2l-36 38 l-238 262q-1 1 -2.5 3.5t-2.5 3.5q-24 31 -18.5 70t37.5 64q31 23 68 17.5t64 -33.5l142 -147l-4 -4t-5 -4q-32 -45 -23 -99t55 -85zM1648 1115l15 -266q4 -73 -11 -147l-48 -219q-12 -59 -67 -87l-106 -54q2 62 -39 109l-146 170q-53 61 -117 103l-222 148q-34 23 -76 23 q-51 0 -88 -37l-235 312q-25 33 -18 73.5t41 63.5q33 22 71.5 14t62.5 -40l266 -352l-262 455q-21 35 -10.5 75t47.5 59q35 18 72.5 6t57.5 -46l241 -420l-136 337q-15 35 -4.5 74t44.5 56q37 19 76 6t56 -51l193 -415l101 -196q8 -15 23 -17.5t27 7.5t11 26l-12 224 q-2 41 26 71t69 31q39 0 67 -28.5t30 -67.5z" />
-<glyph unicode="&#xf2a8;" horiz-adv-x="1792" d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5 q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q0 -7 -9 -9q-13 -3 -72 -3q-57 0 -60 7l-456 841 q-39 -28 -82 -68q24 -43 214 -393.5t190 -354.5q0 -10 -11 -10q-14 0 -82.5 22t-72.5 28l-106 197l-224 413q-44 -53 -78 -106q2 -3 18 -25t23 -34l176 -327q0 -10 -10 -10zM1165 282l49 -91q273 111 450 385q-180 277 -459 389q67 -64 103 -148.5t36 -176.5 q0 -106 -47 -200.5t-132 -157.5zM848 896q0 -20 14 -34t34 -14q86 0 147 -61t61 -147q0 -20 14 -34t34 -14t34 14t14 34q0 126 -89 215t-215 89q-20 0 -34 -14t-14 -34zM1214 961l-9 4l7 -7z" />
-<glyph unicode="&#xf2a9;" horiz-adv-x="1280" d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5 q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 214 -206 440q88 -59 142.5 -186.5t63.5 -251.5z M1035 744q-83 0 -160 75q218 120 290 247q19 37 21 56q-42 -94 -139.5 -166.5t-204.5 -97.5q-35 54 -35 113q0 37 17 79t43 68q46 44 157 74q59 16 106 58.5t74 100.5q74 -105 74 -253q0 -109 -24 -170q-32 -77 -88.5 -130.5t-130.5 -53.5z" />
-<glyph unicode="&#xf2aa;" d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86 -124 -109q-69 -19 -109 -53.5t-40 -99.5 q0 -40 24 -77q74 17 140.5 67t95.5 115q-4 -52 -74.5 -111.5t-138.5 -97.5q52 -52 110 -52q51 0 90 37t60 90q17 43 17 117zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
-<glyph unicode="&#xf2ab;" d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114 q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39.5 4.5q35 0 67 -15t54 -32.5t57.5 -32.5 t76.5 -15q43 0 79 15t57.5 32.5t53.5 32.5t67 15q14 0 39.5 -4t38.5 -4q16 0 23 10t11 30t6 25q137 22 137 68zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
-<glyph unicode="&#xf2ac;" horiz-adv-x="1664" d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35 q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q-24 0 -65.5 -7.5t-58.5 -7.5q-25 0 -35 18.5 t-14 47.5t-11 40q-219 33 -219 103q0 29 28 35q52 11 80 23q78 32 144.5 101t102.5 150q12 28 12 43q0 28 -31.5 47.5t-69.5 29.5t-69.5 31.5t-31.5 52.5q0 27 26 45.5t55 18.5q15 0 48 -13t53 -13q18 0 32 7q-9 142 -9 190q0 122 27 180q64 137 172 198t264 63z" />
-<glyph unicode="&#xf2ad;" d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115 q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 0 38.5 5t38.5 5q35 0 67.5 -15 t54.5 -32.5t57.5 -32.5t76.5 -15q43 0 79 15t57.5 32.5t54 32.5t67.5 15q13 0 39 -4.5t39 -4.5q15 0 22.5 9.5t11.5 31t5 24.5q138 22 138 69zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5z" />
-<glyph unicode="&#xf2ae;" horiz-adv-x="2304" d="M2304 1536q-69 -46 -125 -92t-89 -81t-59.5 -71.5t-37.5 -57.5t-22 -44.5t-14 -29.5q-10 -18 -35.5 -136.5t-48.5 -164.5q-15 -29 -50 -60.5t-67.5 -50.5t-72.5 -41t-48 -28q-47 -31 -151 -231q-341 14 -630 -158q-92 -53 -303 -179q47 16 86 31t55 22l15 7 q71 27 163 64.5t133.5 53.5t108 34.5t142.5 31.5q186 31 465 -7q1 0 10 -3q11 -6 14 -17t-3 -22l-194 -345q-15 -29 -47 -22q-128 24 -354 24q-146 0 -402 -44.5t-392 -46.5q-82 -1 -149 13t-107 37t-61 40t-33 34l-1 1v2q0 6 6 6q138 0 371 55q192 366 374.5 524t383.5 158 q5 0 14.5 -0.5t38 -5t55 -12t61.5 -24.5t63 -39.5t54 -59t40 -82.5l102 177q2 4 21 42.5t44.5 86.5t61 109.5t84 133.5t100.5 137q66 82 128 141.5t121.5 96.5t92.5 53.5t88 39.5z" />
-<glyph unicode="&#xf2b0;" d="M1322 640q0 -45 -5 -76l-236 14l224 -78q-19 -73 -58 -141l-214 103l177 -158q-44 -61 -107 -108l-157 178l103 -215q-61 -37 -140 -59l-79 228l14 -240q-38 -6 -76 -6t-76 6l14 238l-78 -226q-74 19 -140 59l103 215l-157 -178q-59 43 -108 108l178 158l-214 -104 q-39 69 -58 141l224 79l-237 -14q-5 42 -5 76q0 35 5 77l238 -14l-225 79q19 73 58 140l214 -104l-177 159q46 61 107 108l158 -178l-103 215q67 39 140 58l77 -224l-13 236q36 6 75 6q38 0 76 -6l-14 -237l78 225q74 -19 140 -59l-103 -214l158 178q61 -47 107 -108 l-177 -159l213 104q37 -62 58 -141l-224 -78l237 14q5 -31 5 -77zM1352 640q0 160 -78.5 295.5t-213 214t-292.5 78.5q-119 0 -227 -46.5t-186.5 -125t-124.5 -187.5t-46 -229q0 -119 46 -228t124.5 -187.5t186.5 -125t227 -46.5q158 0 292.5 78.5t213 214t78.5 294.5z M1425 1023v-766l-657 -383l-657 383v766l657 383zM768 -183l708 412v823l-708 411l-708 -411v-823zM1536 1088v-896l-768 -448l-768 448v896l768 448z" />
-<glyph unicode="&#xf2b1;" horiz-adv-x="1664" d="M339 1318h691l-26 -72h-665q-110 0 -188.5 -79t-78.5 -189v-771q0 -95 60.5 -169.5t153.5 -93.5q23 -5 98 -5v-72h-45q-140 0 -239.5 100t-99.5 240v771q0 140 99.5 240t239.5 100zM1190 1536h247l-482 -1294q-23 -61 -40.5 -103.5t-45 -98t-54 -93.5t-64.5 -78.5 t-79.5 -65t-95.5 -41t-116 -18.5v195q163 26 220 182q20 52 20 105q0 54 -20 106l-285 733h228l187 -585zM1664 978v-1111h-795q37 55 45 73h678v1038q0 85 -49.5 155t-129.5 99l25 67q101 -34 163.5 -123.5t62.5 -197.5z" />
-<glyph unicode="&#xf2b2;" horiz-adv-x="1792" d="M852 1227q0 -29 -17 -52.5t-45 -23.5t-45 23.5t-17 52.5t17 52.5t45 23.5t45 -23.5t17 -52.5zM688 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50 -21.5t-20 -51.5v-114q0 -30 20.5 -52t49.5 -22q30 0 50.5 22t20.5 52zM860 -149v114q0 30 -20 51.5t-50 21.5t-50.5 -21.5 t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22q29 0 49.5 22t20.5 52zM1034 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1208 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114 q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1476 535q-84 -160 -232 -259.5t-323 -99.5q-123 0 -229.5 51.5t-178.5 137t-113 197.5t-41 232q0 88 21 174q-104 -175 -104 -390q0 -162 65 -312t185 -251q30 57 91 57q56 0 86 -50q32 50 87 50q56 0 86 -50q32 50 87 50t87 -50 q30 50 86 50q28 0 52.5 -15.5t37.5 -40.5q112 94 177 231.5t73 287.5zM1326 564q0 75 -72 75q-17 0 -47 -6q-95 -19 -149 -19q-226 0 -226 243q0 86 30 204q-83 -127 -83 -275q0 -150 89 -260.5t235 -110.5q111 0 210 70q13 48 13 79zM884 1223q0 50 -32 89.5t-81 39.5 t-81 -39.5t-32 -89.5q0 -51 31.5 -90.5t81.5 -39.5t81.5 39.5t31.5 90.5zM1513 884q0 96 -37.5 179t-113 137t-173.5 54q-77 0 -149 -35t-127 -94q-48 -159 -48 -268q0 -104 45.5 -157t147.5 -53q53 0 142 19q36 6 53 6q51 0 77.5 -28t26.5 -80q0 -26 -4 -46 q75 68 117.5 165.5t42.5 200.5zM1792 667q0 -111 -33.5 -249.5t-93.5 -204.5q-58 -64 -195 -142.5t-228 -104.5l-4 -1v-114q0 -43 -29.5 -75t-72.5 -32q-56 0 -86 50q-32 -50 -87 -50t-87 50q-30 -50 -86 -50q-55 0 -87 50q-30 -50 -86 -50q-47 0 -75 33.5t-28 81.5 q-90 -68 -198 -68q-118 0 -211 80q54 1 106 20q-113 31 -182 127q32 -7 71 -7q89 0 164 46q-192 192 -240 306q-24 56 -24 160q0 57 9 125.5t31.5 146.5t55 141t86.5 105t120 42q59 0 81 -52q19 29 42 54q2 3 12 13t13 16q10 15 23 38t25 42t28 39q87 111 211.5 177 t260.5 66q35 0 62 -4q59 64 146 64q83 0 140 -57q5 -5 5 -12q0 -5 -6 -13.5t-12.5 -16t-16 -17l-10.5 -10.5q17 -6 36 -18t19 -24q0 -6 -16 -25q157 -138 197 -378q25 30 60 30q45 0 100 -49q90 -80 90 -279z" />
-<glyph unicode="&#xf2b3;" d="M917 631q0 33 -6 64h-362v-132h217q-12 -76 -74.5 -120.5t-142.5 -44.5q-99 0 -169 71.5t-70 170.5t70 170.5t169 71.5q93 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585h109v110 h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
-<glyph unicode="&#xf2b4;" d="M1536 1024v-839q0 -48 -49 -62q-174 -52 -338 -52q-73 0 -215.5 29.5t-227.5 29.5q-164 0 -370 -48v-338h-160v1368q-63 25 -101 81t-38 124q0 91 64 155t155 64t155 -64t64 -155q0 -68 -38 -124t-101 -81v-68q190 44 343 44q99 0 198 -15q14 -2 111.5 -22.5t149.5 -20.5 q77 0 165 18q11 2 80 21t89 19q26 0 45 -19t19 -45z" />
-<glyph unicode="&#xf2b5;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2b6;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2b7;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2b8;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2b9;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2ba;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2bb;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2bc;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2bd;" horiz-adv-x="1792" />
-<glyph unicode="&#xf2be;" horiz-adv-x="1792" />
-<glyph unicode="&#xf500;" horiz-adv-x="1792" />
-</font>
-</defs></svg> 
\ No newline at end of file
diff --git a/user-guide/gitbook/fonts/fontawesome/fontawesome-webfont.ttf b/user-guide/gitbook/fonts/fontawesome/fontawesome-webfont.ttf
deleted file mode 100644
index f221e50..0000000
--- a/user-guide/gitbook/fonts/fontawesome/fontawesome-webfont.ttf
+++ /dev/null
Binary files differ
diff --git a/user-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff b/user-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff
deleted file mode 100644
index 6e7483c..0000000
--- a/user-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff
+++ /dev/null
Binary files differ
diff --git a/user-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff2 b/user-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff2
deleted file mode 100644
index 7eb74fd..0000000
--- a/user-guide/gitbook/fonts/fontawesome/fontawesome-webfont.woff2
+++ /dev/null
Binary files differ
diff --git a/user-guide/gitbook/gitbook-plugin-fontsettings/fontsettings.js b/user-guide/gitbook/gitbook-plugin-fontsettings/fontsettings.js
deleted file mode 100644
index ff7be71..0000000
--- a/user-guide/gitbook/gitbook-plugin-fontsettings/fontsettings.js
+++ /dev/null
@@ -1,240 +0,0 @@
-require(['gitbook', 'jquery'], function(gitbook, $) {
-    // Configuration
-    var MAX_SIZE       = 4,
-        MIN_SIZE       = 0,
-        BUTTON_ID;
-
-    // Current fontsettings state
-    var fontState;
-
-    // Default themes
-    var THEMES = [
-        {
-            config: 'white',
-            text: 'White',
-            id: 0
-        },
-        {
-            config: 'sepia',
-            text: 'Sepia',
-            id: 1
-        },
-        {
-            config: 'night',
-            text: 'Night',
-            id: 2
-        }
-    ];
-
-    // Default font families
-    var FAMILIES = [
-        {
-            config: 'serif',
-            text: 'Serif',
-            id: 0
-        },
-        {
-            config: 'sans',
-            text: 'Sans',
-            id: 1
-        }
-    ];
-
-    // Return configured themes
-    function getThemes() {
-        return THEMES;
-    }
-
-    // Modify configured themes
-    function setThemes(themes) {
-        THEMES = themes;
-        updateButtons();
-    }
-
-    // Return configured font families
-    function getFamilies() {
-        return FAMILIES;
-    }
-
-    // Modify configured font families
-    function setFamilies(families) {
-        FAMILIES = families;
-        updateButtons();
-    }
-
-    // Save current font settings
-    function saveFontSettings() {
-        gitbook.storage.set('fontState', fontState);
-        update();
-    }
-
-    // Increase font size
-    function enlargeFontSize(e) {
-        e.preventDefault();
-        if (fontState.size >= MAX_SIZE) return;
-
-        fontState.size++;
-        saveFontSettings();
-    }
-
-    // Decrease font size
-    function reduceFontSize(e) {
-        e.preventDefault();
-        if (fontState.size <= MIN_SIZE) return;
-
-        fontState.size--;
-        saveFontSettings();
-    }
-
-    // Change font family
-    function changeFontFamily(configName, e) {
-        if (e && e instanceof Event) {
-            e.preventDefault();
-        }
-
-        var familyId = getFontFamilyId(configName);
-        fontState.family = familyId;
-        saveFontSettings();
-    }
-
-    // Change type of color theme
-    function changeColorTheme(configName, e) {
-        if (e && e instanceof Event) {
-            e.preventDefault();
-        }
-
-        var $book = gitbook.state.$book;
-
-        // Remove currently applied color theme
-        if (fontState.theme !== 0)
-            $book.removeClass('color-theme-'+fontState.theme);
-
-        // Set new color theme
-        var themeId = getThemeId(configName);
-        fontState.theme = themeId;
-        if (fontState.theme !== 0)
-            $book.addClass('color-theme-'+fontState.theme);
-
-        saveFontSettings();
-    }
-
-    // Return the correct id for a font-family config key
-    // Default to first font-family
-    function getFontFamilyId(configName) {
-        // Search for plugin configured font family
-        var configFamily = $.grep(FAMILIES, function(family) {
-            return family.config == configName;
-        })[0];
-        // Fallback to default font family
-        return (!!configFamily)? configFamily.id : 0;
-    }
-
-    // Return the correct id for a theme config key
-    // Default to first theme
-    function getThemeId(configName) {
-        // Search for plugin configured theme
-        var configTheme = $.grep(THEMES, function(theme) {
-            return theme.config == configName;
-        })[0];
-        // Fallback to default theme
-        return (!!configTheme)? configTheme.id : 0;
-    }
-
-    function update() {
-        var $book = gitbook.state.$book;
-
-        $('.font-settings .font-family-list li').removeClass('active');
-        $('.font-settings .font-family-list li:nth-child('+(fontState.family+1)+')').addClass('active');
-
-        $book[0].className = $book[0].className.replace(/\bfont-\S+/g, '');
-        $book.addClass('font-size-'+fontState.size);
-        $book.addClass('font-family-'+fontState.family);
-
-        if(fontState.theme !== 0) {
-            $book[0].className = $book[0].className.replace(/\bcolor-theme-\S+/g, '');
-            $book.addClass('color-theme-'+fontState.theme);
-        }
-    }
-
-    function init(config) {
-        // Search for plugin configured font family
-        var configFamily = getFontFamilyId(config.family),
-            configTheme = getThemeId(config.theme);
-
-        // Instantiate font state object
-        fontState = gitbook.storage.get('fontState', {
-            size:   config.size || 2,
-            family: configFamily,
-            theme:  configTheme
-        });
-
-        update();
-    }
-
-    function updateButtons() {
-        // Remove existing fontsettings buttons
-        if (!!BUTTON_ID) {
-            gitbook.toolbar.removeButton(BUTTON_ID);
-        }
-
-        // Create buttons in toolbar
-        BUTTON_ID = gitbook.toolbar.createButton({
-            icon: 'fa fa-font',
-            label: 'Font Settings',
-            className: 'font-settings',
-            dropdown: [
-                [
-                    {
-                        text: 'A',
-                        className: 'font-reduce',
-                        onClick: reduceFontSize
-                    },
-                    {
-                        text: 'A',
-                        className: 'font-enlarge',
-                        onClick: enlargeFontSize
-                    }
-                ],
-                $.map(FAMILIES, function(family) {
-                    family.onClick = function(e) {
-                        return changeFontFamily(family.config, e);
-                    };
-
-                    return family;
-                }),
-                $.map(THEMES, function(theme) {
-                    theme.onClick = function(e) {
-                        return changeColorTheme(theme.config, e);
-                    };
-
-                    return theme;
-                })
-            ]
-        });
-    }
-
-    // Init configuration at start
-    gitbook.events.bind('start', function(e, config) {
-        var opts = config.fontsettings;
-
-        // Generate buttons at start
-        updateButtons();
-
-        // Init current settings
-        init(opts);
-    });
-
-    // Expose API
-    gitbook.fontsettings = {
-        enlargeFontSize: enlargeFontSize,
-        reduceFontSize:  reduceFontSize,
-        setTheme:        changeColorTheme,
-        setFamily:       changeFontFamily,
-        getThemes:       getThemes,
-        setThemes:       setThemes,
-        getFamilies:     getFamilies,
-        setFamilies:     setFamilies
-    };
-});
-
-
diff --git a/user-guide/gitbook/gitbook-plugin-fontsettings/website.css b/user-guide/gitbook/gitbook-plugin-fontsettings/website.css
deleted file mode 100644
index 26591fe..0000000
--- a/user-guide/gitbook/gitbook-plugin-fontsettings/website.css
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- * Theme 1
- */
-.color-theme-1 .dropdown-menu {
-  background-color: #111111;
-  border-color: #7e888b;
-}
-.color-theme-1 .dropdown-menu .dropdown-caret .caret-inner {
-  border-bottom: 9px solid #111111;
-}
-.color-theme-1 .dropdown-menu .buttons {
-  border-color: #7e888b;
-}
-.color-theme-1 .dropdown-menu .button {
-  color: #afa790;
-}
-.color-theme-1 .dropdown-menu .button:hover {
-  color: #73553c;
-}
-/*
- * Theme 2
- */
-.color-theme-2 .dropdown-menu {
-  background-color: #2d3143;
-  border-color: #272a3a;
-}
-.color-theme-2 .dropdown-menu .dropdown-caret .caret-inner {
-  border-bottom: 9px solid #2d3143;
-}
-.color-theme-2 .dropdown-menu .buttons {
-  border-color: #272a3a;
-}
-.color-theme-2 .dropdown-menu .button {
-  color: #62677f;
-}
-.color-theme-2 .dropdown-menu .button:hover {
-  color: #f4f4f5;
-}
-.book .book-header .font-settings .font-enlarge {
-  line-height: 30px;
-  font-size: 1.4em;
-}
-.book .book-header .font-settings .font-reduce {
-  line-height: 30px;
-  font-size: 1em;
-}
-.book.color-theme-1 .book-body {
-  color: #704214;
-  background: #f3eacb;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section {
-  background: #f3eacb;
-}
-.book.color-theme-2 .book-body {
-  color: #bdcadb;
-  background: #1c1f2b;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section {
-  background: #1c1f2b;
-}
-.book.font-size-0 .book-body .page-inner section {
-  font-size: 1.2rem;
-}
-.book.font-size-1 .book-body .page-inner section {
-  font-size: 1.4rem;
-}
-.book.font-size-2 .book-body .page-inner section {
-  font-size: 1.6rem;
-}
-.book.font-size-3 .book-body .page-inner section {
-  font-size: 2.2rem;
-}
-.book.font-size-4 .book-body .page-inner section {
-  font-size: 4rem;
-}
-.book.font-family-0 {
-  font-family: Georgia, serif;
-}
-.book.font-family-1 {
-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal {
-  color: #704214;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal a {
-  color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h3,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h4,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h5,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h2 {
-  border-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal hr {
-  background-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal blockquote {
-  border-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code {
-  background: #fdf6e3;
-  color: #657b83;
-  border-color: #f8df9c;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal .highlight {
-  background-color: inherit;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table th,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table td {
-  border-color: #f5d06c;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr {
-  color: inherit;
-  background-color: #fdf6e3;
-  border-color: #444444;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) {
-  background-color: #fbeecb;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal {
-  color: #bdcadb;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal a {
-  color: #3eb1d0;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h3,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h4,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h5,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: #fffffa;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h1,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h2 {
-  border-color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal h6 {
-  color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal hr {
-  background-color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal blockquote {
-  border-color: #373b4e;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code {
-  color: #9dbed8;
-  background: #2d3143;
-  border-color: #2d3143;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal .highlight {
-  background-color: #282a39;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table th,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table td {
-  border-color: #3b3f54;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr {
-  color: #b6c2d2;
-  background-color: #2d3143;
-  border-color: #3b3f54;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal table tr:nth-child(2n) {
-  background-color: #35394b;
-}
-.book.color-theme-1 .book-header {
-  color: #afa790;
-  background: transparent;
-}
-.book.color-theme-1 .book-header .btn {
-  color: #afa790;
-}
-.book.color-theme-1 .book-header .btn:hover {
-  color: #73553c;
-  background: none;
-}
-.book.color-theme-1 .book-header h1 {
-  color: #704214;
-}
-.book.color-theme-2 .book-header {
-  color: #7e888b;
-  background: transparent;
-}
-.book.color-theme-2 .book-header .btn {
-  color: #3b3f54;
-}
-.book.color-theme-2 .book-header .btn:hover {
-  color: #fffff5;
-  background: none;
-}
-.book.color-theme-2 .book-header h1 {
-  color: #bdcadb;
-}
-.book.color-theme-1 .book-body .navigation {
-  color: #afa790;
-}
-.book.color-theme-1 .book-body .navigation:hover {
-  color: #73553c;
-}
-.book.color-theme-2 .book-body .navigation {
-  color: #383f52;
-}
-.book.color-theme-2 .book-body .navigation:hover {
-  color: #fffff5;
-}
-/*
- * Theme 1
- */
-.book.color-theme-1 .book-summary {
-  color: #afa790;
-  background: #111111;
-  border-right: 1px solid rgba(0, 0, 0, 0.07);
-}
-.book.color-theme-1 .book-summary .book-search {
-  background: transparent;
-}
-.book.color-theme-1 .book-summary .book-search input,
-.book.color-theme-1 .book-summary .book-search input:focus {
-  border: 1px solid transparent;
-}
-.book.color-theme-1 .book-summary ul.summary li.divider {
-  background: #7e888b;
-  box-shadow: none;
-}
-.book.color-theme-1 .book-summary ul.summary li i.fa-check {
-  color: #33cc33;
-}
-.book.color-theme-1 .book-summary ul.summary li.done > a {
-  color: #877f6a;
-}
-.book.color-theme-1 .book-summary ul.summary li a,
-.book.color-theme-1 .book-summary ul.summary li span {
-  color: #877f6a;
-  background: transparent;
-  font-weight: normal;
-}
-.book.color-theme-1 .book-summary ul.summary li.active > a,
-.book.color-theme-1 .book-summary ul.summary li a:hover {
-  color: #704214;
-  background: transparent;
-  font-weight: normal;
-}
-/*
- * Theme 2
- */
-.book.color-theme-2 .book-summary {
-  color: #bcc1d2;
-  background: #2d3143;
-  border-right: none;
-}
-.book.color-theme-2 .book-summary .book-search {
-  background: transparent;
-}
-.book.color-theme-2 .book-summary .book-search input,
-.book.color-theme-2 .book-summary .book-search input:focus {
-  border: 1px solid transparent;
-}
-.book.color-theme-2 .book-summary ul.summary li.divider {
-  background: #272a3a;
-  box-shadow: none;
-}
-.book.color-theme-2 .book-summary ul.summary li i.fa-check {
-  color: #33cc33;
-}
-.book.color-theme-2 .book-summary ul.summary li.done > a {
-  color: #62687f;
-}
-.book.color-theme-2 .book-summary ul.summary li a,
-.book.color-theme-2 .book-summary ul.summary li span {
-  color: #c1c6d7;
-  background: transparent;
-  font-weight: 600;
-}
-.book.color-theme-2 .book-summary ul.summary li.active > a,
-.book.color-theme-2 .book-summary ul.summary li a:hover {
-  color: #f4f4f5;
-  background: #252737;
-  font-weight: 600;
-}
diff --git a/user-guide/gitbook/gitbook-plugin-highlight/ebook.css b/user-guide/gitbook/gitbook-plugin-highlight/ebook.css
deleted file mode 100644
index cecaaab..0000000
--- a/user-guide/gitbook/gitbook-plugin-highlight/ebook.css
+++ /dev/null
@@ -1,135 +0,0 @@
-pre,
-code {
-  /* http://jmblog.github.io/color-themes-for-highlightjs */
-  /* Tomorrow Comment */
-  /* Tomorrow Red */
-  /* Tomorrow Orange */
-  /* Tomorrow Yellow */
-  /* Tomorrow Green */
-  /* Tomorrow Aqua */
-  /* Tomorrow Blue */
-  /* Tomorrow Purple */
-}
-pre .hljs-comment,
-code .hljs-comment,
-pre .hljs-title,
-code .hljs-title {
-  color: #8e908c;
-}
-pre .hljs-variable,
-code .hljs-variable,
-pre .hljs-attribute,
-code .hljs-attribute,
-pre .hljs-tag,
-code .hljs-tag,
-pre .hljs-regexp,
-code .hljs-regexp,
-pre .hljs-deletion,
-code .hljs-deletion,
-pre .ruby .hljs-constant,
-code .ruby .hljs-constant,
-pre .xml .hljs-tag .hljs-title,
-code .xml .hljs-tag .hljs-title,
-pre .xml .hljs-pi,
-code .xml .hljs-pi,
-pre .xml .hljs-doctype,
-code .xml .hljs-doctype,
-pre .html .hljs-doctype,
-code .html .hljs-doctype,
-pre .css .hljs-id,
-code .css .hljs-id,
-pre .css .hljs-class,
-code .css .hljs-class,
-pre .css .hljs-pseudo,
-code .css .hljs-pseudo {
-  color: #c82829;
-}
-pre .hljs-number,
-code .hljs-number,
-pre .hljs-preprocessor,
-code .hljs-preprocessor,
-pre .hljs-pragma,
-code .hljs-pragma,
-pre .hljs-built_in,
-code .hljs-built_in,
-pre .hljs-literal,
-code .hljs-literal,
-pre .hljs-params,
-code .hljs-params,
-pre .hljs-constant,
-code .hljs-constant {
-  color: #f5871f;
-}
-pre .ruby .hljs-class .hljs-title,
-code .ruby .hljs-class .hljs-title,
-pre .css .hljs-rules .hljs-attribute,
-code .css .hljs-rules .hljs-attribute {
-  color: #eab700;
-}
-pre .hljs-string,
-code .hljs-string,
-pre .hljs-value,
-code .hljs-value,
-pre .hljs-inheritance,
-code .hljs-inheritance,
-pre .hljs-header,
-code .hljs-header,
-pre .hljs-addition,
-code .hljs-addition,
-pre .ruby .hljs-symbol,
-code .ruby .hljs-symbol,
-pre .xml .hljs-cdata,
-code .xml .hljs-cdata {
-  color: #718c00;
-}
-pre .css .hljs-hexcolor,
-code .css .hljs-hexcolor {
-  color: #3e999f;
-}
-pre .hljs-function,
-code .hljs-function,
-pre .python .hljs-decorator,
-code .python .hljs-decorator,
-pre .python .hljs-title,
-code .python .hljs-title,
-pre .ruby .hljs-function .hljs-title,
-code .ruby .hljs-function .hljs-title,
-pre .ruby .hljs-title .hljs-keyword,
-code .ruby .hljs-title .hljs-keyword,
-pre .perl .hljs-sub,
-code .perl .hljs-sub,
-pre .javascript .hljs-title,
-code .javascript .hljs-title,
-pre .coffeescript .hljs-title,
-code .coffeescript .hljs-title {
-  color: #4271ae;
-}
-pre .hljs-keyword,
-code .hljs-keyword,
-pre .javascript .hljs-function,
-code .javascript .hljs-function {
-  color: #8959a8;
-}
-pre .hljs,
-code .hljs {
-  display: block;
-  background: white;
-  color: #4d4d4c;
-  padding: 0.5em;
-}
-pre .coffeescript .javascript,
-code .coffeescript .javascript,
-pre .javascript .xml,
-code .javascript .xml,
-pre .tex .hljs-formula,
-code .tex .hljs-formula,
-pre .xml .javascript,
-code .xml .javascript,
-pre .xml .vbscript,
-code .xml .vbscript,
-pre .xml .css,
-code .xml .css,
-pre .xml .hljs-cdata,
-code .xml .hljs-cdata {
-  opacity: 0.5;
-}
diff --git a/user-guide/gitbook/gitbook-plugin-highlight/website.css b/user-guide/gitbook/gitbook-plugin-highlight/website.css
deleted file mode 100644
index 6674448..0000000
--- a/user-guide/gitbook/gitbook-plugin-highlight/website.css
+++ /dev/null
@@ -1,434 +0,0 @@
-.book .book-body .page-wrapper .page-inner section.normal pre,
-.book .book-body .page-wrapper .page-inner section.normal code {
-  /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
-  /* Tomorrow Comment */
-  /* Tomorrow Red */
-  /* Tomorrow Orange */
-  /* Tomorrow Yellow */
-  /* Tomorrow Green */
-  /* Tomorrow Aqua */
-  /* Tomorrow Blue */
-  /* Tomorrow Purple */
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-comment,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-comment,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-title {
-  color: #8e908c;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-variable,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-variable,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-attribute,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-tag,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-tag,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-regexp,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-deletion,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-id,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-class,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo {
-  color: #c82829;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-number,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-number,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-pragma,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-built_in,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-literal,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-literal,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-params,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-params,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-constant,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-constant {
-  color: #f5871f;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute {
-  color: #eab700;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-string,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-string,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-value,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-value,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-header,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-header,
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-addition,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-addition,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  color: #718c00;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor,
-.book .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor {
-  color: #3e999f;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-function,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-function,
-.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator,
-.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator,
-.book .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .python .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub,
-.book .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub,
-.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title,
-.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title {
-  color: #4271ae;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs-keyword,
-.book .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function,
-.book .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function {
-  color: #8959a8;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .hljs,
-.book .book-body .page-wrapper .page-inner section.normal code .hljs {
-  display: block;
-  background: white;
-  color: #4d4d4c;
-  padding: 0.5em;
-}
-.book .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript,
-.book .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript,
-.book .book-body .page-wrapper .page-inner section.normal pre .javascript .xml,
-.book .book-body .page-wrapper .page-inner section.normal code .javascript .xml,
-.book .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .javascript,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .javascript,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .vbscript,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .css,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .css,
-.book .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  opacity: 0.5;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code {
-  /*
-
-Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull <sourdrums@gmail.com>
-
-*/
-  /* Solarized Green */
-  /* Solarized Cyan */
-  /* Solarized Blue */
-  /* Solarized Yellow */
-  /* Solarized Orange */
-  /* Solarized Red */
-  /* Solarized Violet */
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs {
-  display: block;
-  padding: 0.5em;
-  background: #fdf6e3;
-  color: #657b83;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-template_comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-template_comment,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-header,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-header,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-doctype,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-doctype,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pi,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pi,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-javadoc,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-javadoc {
-  color: #93a1a1;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-winutils,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-winutils,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .method,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .method,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-addition,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-tag,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-tag,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-request,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-request,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-status,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-status,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .nginx .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .nginx .hljs-title {
-  color: #859900;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-command,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-command,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-tag .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-rules .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-rules .hljs-value,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-phpdoc,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-phpdoc,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-hexcolor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-hexcolor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_url,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_url {
-  color: #2aa198;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-localvars,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-localvars,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-chunk,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-chunk,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-decorator,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-decorator,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-identifier,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-identifier,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .vhdl .hljs-literal,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .vhdl .hljs-literal,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-id,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-id,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-function,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-function {
-  color: #268bd2;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-variable,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .lisp .hljs-body,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .lisp .hljs-body,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .smalltalk .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .smalltalk .hljs-number,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-constant,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-class .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-class .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-parent,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-parent,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .haskell .hljs-type,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .haskell .hljs-type,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_reference,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_reference {
-  color: #b58900;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor .hljs-keyword,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-shebang,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-shebang,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-symbol .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-symbol .hljs-string,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .diff .hljs-change,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .diff .hljs-change,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-special,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-special,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-attr_selector,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-attr_selector,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-subst,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-subst,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-cdata,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-cdata,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .clojure .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .clojure .hljs-title,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-header,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-header {
-  color: #cb4b16;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-important,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-important {
-  color: #dc322f;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .hljs-link_label,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .hljs-link_label {
-  color: #6c71c4;
-}
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book.color-theme-1 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula {
-  background: #eee8d5;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code {
-  /* Tomorrow Night Bright Theme */
-  /* Original theme - https://github.com/chriskempson/tomorrow-theme */
-  /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
-  /* Tomorrow Comment */
-  /* Tomorrow Red */
-  /* Tomorrow Orange */
-  /* Tomorrow Yellow */
-  /* Tomorrow Green */
-  /* Tomorrow Aqua */
-  /* Tomorrow Blue */
-  /* Tomorrow Purple */
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-comment,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-comment,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-title {
-  color: #969896;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-variable,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-variable,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-attribute,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-attribute,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-tag,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-tag,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-regexp,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-regexp,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-deletion,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-deletion,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-constant,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-constant,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-tag .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-tag .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-pi,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-pi,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .html .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .html .hljs-doctype,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-id,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-id,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-class,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-class,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-pseudo,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-pseudo {
-  color: #d54e53;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-number,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-number,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-preprocessor,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-preprocessor,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-pragma,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-pragma,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-built_in,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-built_in,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-literal,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-literal,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-params,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-params,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-constant,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-constant {
-  color: #e78c45;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-class .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-class .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-rules .hljs-attribute,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-rules .hljs-attribute {
-  color: #e7c547;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-string,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-string,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-value,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-value,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-inheritance,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-inheritance,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-header,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-header,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-addition,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-addition,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-symbol,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-symbol,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  color: #b9ca4a;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .css .hljs-hexcolor,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .css .hljs-hexcolor {
-  color: #70c0b1;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-function,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-function,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-decorator,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-decorator,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .python .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .python .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-function .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-function .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .ruby .hljs-title .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .ruby .hljs-title .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .perl .hljs-sub,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .perl .hljs-sub,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .hljs-title,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .hljs-title {
-  color: #7aa6da;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs-keyword,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .hljs-function,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .hljs-function {
-  color: #c397d8;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .hljs,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .hljs {
-  display: block;
-  background: black;
-  color: #eaeaea;
-  padding: 0.5em;
-}
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .coffeescript .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .coffeescript .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .javascript .xml,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .javascript .xml,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .tex .hljs-formula,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .tex .hljs-formula,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .javascript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .vbscript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .vbscript,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .css,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .css,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal pre .xml .hljs-cdata,
-.book.color-theme-2 .book-body .page-wrapper .page-inner section.normal code .xml .hljs-cdata {
-  opacity: 0.5;
-}
diff --git a/user-guide/gitbook/gitbook-plugin-lunr/lunr.min.js b/user-guide/gitbook/gitbook-plugin-lunr/lunr.min.js
deleted file mode 100644
index 6aa6bc7..0000000
--- a/user-guide/gitbook/gitbook-plugin-lunr/lunr.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.12
- * Copyright (C) 2015 Oliver Nightingale
- * MIT Licensed
- * @license
- */
-!function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.5.12",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(t){return arguments.length&&null!=t&&void 0!=t?Array.isArray(t)?t.map(function(t){return t.toLowerCase()}):t.toString().trim().toLowerCase().split(/[\s\-]+/):[]},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,o=0;n>o;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(e<i.idx)return this.list=new t.Vector.Node(e,n,i),this.length++;for(var o=i,r=i.next;void 0!=r;){if(e<r.idx)return o.next=new t.Vector.Node(e,n,r),this.length++;o=r,r=r.next}return o.next=new t.Vector.Node(e,n,r),this.length++},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var t,e=this.list,n=0;e;)t=e.val,n+=t*t,e=e.next;return this._magnitude=Math.sqrt(n)},t.Vector.prototype.dot=function(t){for(var e=this.list,n=t.list,i=0;e&&n;)e.idx<n.idx?e=e.next:e.idx>n.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t<arguments.length;t++)e=arguments[t],~this.indexOf(e)||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},t.SortedSet.prototype.toArray=function(){return this.elements.slice()},t.SortedSet.prototype.map=function(t,e){return this.elements.map(t,e)},t.SortedSet.prototype.forEach=function(t,e){return this.elements.forEach(t,e)},t.SortedSet.prototype.indexOf=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]<h[o]?i++:a[i]>h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s<o.length;s++){var a=o.elements[s],h=this._fields.reduce(function(t,e){var n=i[e.name].length;if(!n)return t;var o=i[e.name].filter(function(t){return t===a}).length;return t+o/n*e.boost},0);this.tokenStore.add(a,{ref:r,tf:h})}n&&this.eventEmitter.emit("add",e,this)},t.Index.prototype.remove=function(t,e){var n=t[this._ref],e=void 0===e?!0:e;if(this.documentStore.has(n)){var i=this.documentStore.get(n);this.documentStore.remove(n),i.forEach(function(t){this.tokenStore.remove(t,n)},this),e&&this.eventEmitter.emit("remove",t,this)}},t.Index.prototype.update=function(t,e){var e=void 0===e?!0:e;this.remove(t,!1),this.add(t,!1),e&&this.eventEmitter.emit("update",t,this)},t.Index.prototype.idf=function(t){var e="@"+t;if(Object.prototype.hasOwnProperty.call(this._idfCache,e))return this._idfCache[e];var n=this.tokenStore.count(t),i=1;return n>0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(l),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,g=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,a=m,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=v,a=y,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=g,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=g,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=g,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==e?e:void 0},t.stopWordFilter.stopWords={a:"a",able:"able",about:"about",across:"across",after:"after",all:"all",almost:"almost",also:"also",am:"am",among:"among",an:"an",and:"and",any:"any",are:"are",as:"as",at:"at",be:"be",because:"because",been:"been",but:"but",by:"by",can:"can",cannot:"cannot",could:"could",dear:"dear",did:"did","do":"do",does:"does",either:"either","else":"else",ever:"ever",every:"every","for":"for",from:"from",get:"get",got:"got",had:"had",has:"has",have:"have",he:"he",her:"her",hers:"hers",him:"him",his:"his",how:"how",however:"however",i:"i","if":"if","in":"in",into:"into",is:"is",it:"it",its:"its",just:"just",least:"least",let:"let",like:"like",likely:"likely",may:"may",me:"me",might:"might",most:"most",must:"must",my:"my",neither:"neither",no:"no",nor:"nor",not:"not",of:"of",off:"off",often:"often",on:"on",only:"only",or:"or",other:"other",our:"our",own:"own",rather:"rather",said:"said",say:"say",says:"says",she:"she",should:"should",since:"since",so:"so",some:"some",than:"than",that:"that",the:"the",their:"their",them:"them",then:"then",there:"there",these:"these",they:"they","this":"this",tis:"tis",to:"to",too:"too",twas:"twas",us:"us",wants:"wants",was:"was",we:"we",were:"were",what:"what",when:"when",where:"where",which:"which","while":"while",who:"who",whom:"whom",why:"why",will:"will","with":"with",would:"would",yet:"yet",you:"you",your:"your"},t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){var e=t.replace(/^\W+/,"").replace(/\W+$/,"");return""===e?void 0:e},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return!1;e=e[t[n]]}return!0},t.TokenStore.prototype.getNode=function(t){if(!t)return{};for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return{};e=e[t[n]]}return e},t.TokenStore.prototype.get=function(t,e){return this.getNode(t,e).docs||{}},t.TokenStore.prototype.count=function(t,e){return Object.keys(this.get(t,e)).length},t.TokenStore.prototype.remove=function(t,e){if(t){for(var n=this.root,i=0;i<t.length;i++){if(!(t[i]in n))return;n=n[t[i]]}delete n.docs[e]}},t.TokenStore.prototype.expand=function(t,e){var n=this.getNode(t),i=n.docs||{},e=e||[];return Object.keys(i).length&&e.push(t),Object.keys(n).forEach(function(n){"docs"!==n&&e.concat(this.expand(t+n,e))},this),e},t.TokenStore.prototype.toJSON=function(){return{root:this.root,length:this.length}},function(t,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():t.lunr=e()}(this,function(){return t})}();
\ No newline at end of file
diff --git a/user-guide/gitbook/gitbook-plugin-lunr/search-lunr.js b/user-guide/gitbook/gitbook-plugin-lunr/search-lunr.js
deleted file mode 100644
index d6ec76f..0000000
--- a/user-guide/gitbook/gitbook-plugin-lunr/search-lunr.js
+++ /dev/null
@@ -1,59 +0,0 @@
-require([
-    'gitbook',
-    'jquery'
-], function(gitbook, $) {
-    // Define global search engine
-    function LunrSearchEngine() {
-        this.index = null;
-        this.store = {};
-        this.name = 'LunrSearchEngine';
-    }
-
-    // Initialize lunr by fetching the search index
-    LunrSearchEngine.prototype.init = function() {
-        var that = this;
-        var d = $.Deferred();
-
-        $.getJSON(gitbook.state.basePath+'/search_index.json')
-        .then(function(data) {
-            // eslint-disable-next-line no-undef
-            that.index = lunr.Index.load(data.index);
-            that.store = data.store;
-            d.resolve();
-        });
-
-        return d.promise();
-    };
-
-    // Search for a term and return results
-    LunrSearchEngine.prototype.search = function(q, offset, length) {
-        var that = this;
-        var results = [];
-
-        if (this.index) {
-            results = $.map(this.index.search(q), function(result) {
-                var doc = that.store[result.ref];
-
-                return {
-                    title: doc.title,
-                    url: doc.url,
-                    body: doc.summary || doc.body
-                };
-            });
-        }
-
-        return $.Deferred().resolve({
-            query: q,
-            results: results.slice(0, length),
-            count: results.length
-        }).promise();
-    };
-
-    // Set gitbook research
-    gitbook.events.bind('start', function(e, config) {
-        var engine = gitbook.search.getEngine();
-        if (!engine) {
-            gitbook.search.setEngine(LunrSearchEngine, config);
-        }
-    });
-});
diff --git a/user-guide/gitbook/gitbook-plugin-search/lunr.min.js b/user-guide/gitbook/gitbook-plugin-search/lunr.min.js
deleted file mode 100644
index 6aa6bc7..0000000
--- a/user-guide/gitbook/gitbook-plugin-search/lunr.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.5.12
- * Copyright (C) 2015 Oliver Nightingale
- * MIT Licensed
- * @license
- */
-!function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.5.12",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if("function"!=typeof e)throw new TypeError("last argument must be a function");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(t){return arguments.length&&null!=t&&void 0!=t?Array.isArray(t)?t.map(function(t){return t.toLowerCase()}):t.toString().trim().toLowerCase().split(/[\s\-]+/):[]},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,o=0;n>o;o++){for(var r=t[o],s=0;i>s&&(r=this._stack[s](r,o,t),void 0!==r);s++);void 0!==r&&e.push(r)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(e<i.idx)return this.list=new t.Vector.Node(e,n,i),this.length++;for(var o=i,r=i.next;void 0!=r;){if(e<r.idx)return o.next=new t.Vector.Node(e,n,r),this.length++;o=r,r=r.next}return o.next=new t.Vector.Node(e,n,r),this.length++},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var t,e=this.list,n=0;e;)t=e.val,n+=t*t,e=e.next;return this._magnitude=Math.sqrt(n)},t.Vector.prototype.dot=function(t){for(var e=this.list,n=t.list,i=0;e&&n;)e.idx<n.idx?e=e.next:e.idx>n.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t<arguments.length;t++)e=arguments[t],~this.indexOf(e)||this.elements.splice(this.locationFor(e),0,e);this.length=this.elements.length},t.SortedSet.prototype.toArray=function(){return this.elements.slice()},t.SortedSet.prototype.map=function(t,e){return this.elements.map(t,e)},t.SortedSet.prototype.forEach=function(t,e){return this.elements.forEach(t,e)},t.SortedSet.prototype.indexOf=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;){if(r===t)return o;t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o]}return r===t?o:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,o=e+Math.floor(i/2),r=this.elements[o];i>1;)t>r&&(e=o),r>t&&(n=o),i=n-e,o=e+Math.floor(i/2),r=this.elements[o];return r>t?o:t>r?o+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,o=0,r=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>r-1||o>s-1)break;a[i]!==h[o]?a[i]<h[o]?i++:a[i]>h[o]&&o++:(n.add(a[i]),i++,o++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;return this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone(),i.add.apply(i,n.toArray()),i},t.SortedSet.prototype.toJSON=function(){return this.toArray()},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.Store,this.tokenStore=new t.TokenStore,this.corpusTokens=new t.SortedSet,this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var t=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,t)},t.Index.prototype.off=function(t,e){return this.eventEmitter.removeListener(t,e)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;return n._fields=e.fields,n._ref=e.ref,n.documentStore=t.Store.load(e.documentStore),n.tokenStore=t.TokenStore.load(e.tokenStore),n.corpusTokens=t.SortedSet.load(e.corpusTokens),n.pipeline=t.Pipeline.load(e.pipeline),n},t.Index.prototype.field=function(t,e){var e=e||{},n={name:t,boost:e.boost||1};return this._fields.push(n),this},t.Index.prototype.ref=function(t){return this._ref=t,this},t.Index.prototype.add=function(e,n){var i={},o=new t.SortedSet,r=e[this._ref],n=void 0===n?!0:n;this._fields.forEach(function(n){var r=this.pipeline.run(t.tokenizer(e[n.name]));i[n.name]=r,t.SortedSet.prototype.add.apply(o,r)},this),this.documentStore.set(r,o),t.SortedSet.prototype.add.apply(this.corpusTokens,o.toArray());for(var s=0;s<o.length;s++){var a=o.elements[s],h=this._fields.reduce(function(t,e){var n=i[e.name].length;if(!n)return t;var o=i[e.name].filter(function(t){return t===a}).length;return t+o/n*e.boost},0);this.tokenStore.add(a,{ref:r,tf:h})}n&&this.eventEmitter.emit("add",e,this)},t.Index.prototype.remove=function(t,e){var n=t[this._ref],e=void 0===e?!0:e;if(this.documentStore.has(n)){var i=this.documentStore.get(n);this.documentStore.remove(n),i.forEach(function(t){this.tokenStore.remove(t,n)},this),e&&this.eventEmitter.emit("remove",t,this)}},t.Index.prototype.update=function(t,e){var e=void 0===e?!0:e;this.remove(t,!1),this.add(t,!1),e&&this.eventEmitter.emit("update",t,this)},t.Index.prototype.idf=function(t){var e="@"+t;if(Object.prototype.hasOwnProperty.call(this._idfCache,e))return this._idfCache[e];var n=this.tokenStore.count(t),i=1;return n>0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(t.tokenizer(e)),i=new t.Vector,o=[],r=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*r,h=this,l=this.tokenStore.expand(e).reduce(function(n,o){var r=h.corpusTokens.indexOf(o),s=h.idf(o),l=1,u=new t.SortedSet;if(o!==e){var c=Math.max(3,o.length-e.length);l=1/Math.log(c)}return r>-1&&i.insert(r,a*s*l),Object.keys(h.tokenStore.get(o)).forEach(function(t){u.add(t)}),n.union(u)},new t.SortedSet);o.push(l)},this);var a=o.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,o=new t.Vector,r=0;i>r;r++){var s=n.elements[r],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);o.insert(this.corpusTokens.indexOf(s),a*h)}return o},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},e={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",o=n+"[^aeiouy]*",r=i+"[aeiou]*",s="^("+o+")?"+r+o,a="^("+o+")?"+r+o+"("+r+")?$",h="^("+o+")?"+r+o+r+o,l="^("+o+")?"+i,u=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(l),p=/^(.+?)(ss|i)es$/,m=/^(.+?)([^s])s$/,v=/^(.+?)eed$/,y=/^(.+?)(ed|ing)$/,g=/.$/,S=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),x=new RegExp("^"+o+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,_=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,F=/^(.+?)(s|t)(ion)$/,O=/^(.+?)e$/,P=/ll$/,N=new RegExp("^"+o+i+"[^aeiouwxy]$"),T=function(n){var i,o,r,s,a,h,l;if(n.length<3)return n;if(r=n.substr(0,1),"y"==r&&(n=r.toUpperCase()+n.substr(1)),s=p,a=m,s.test(n)?n=n.replace(s,"$1$2"):a.test(n)&&(n=n.replace(a,"$1$2")),s=v,a=y,s.test(n)){var T=s.exec(n);s=u,s.test(T[1])&&(s=g,n=n.replace(s,""))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,l=x,a.test(n)?n+="e":h.test(n)?(s=g,n=n.replace(s,"")):l.test(n)&&(n+="e"))}if(s=k,s.test(n)){var T=s.exec(n);i=T[1],n=i+"i"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+t[o])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],o=T[2],s=u,s.test(i)&&(n=i+e[o])}if(s=_,a=F,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=O,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=N,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=P,a=c,s.test(n)&&a.test(n)&&(s=g,n=n.replace(s,"")),"y"==r&&(n=r.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,"stemmer"),t.stopWordFilter=function(e){return e&&t.stopWordFilter.stopWords[e]!==e?e:void 0},t.stopWordFilter.stopWords={a:"a",able:"able",about:"about",across:"across",after:"after",all:"all",almost:"almost",also:"also",am:"am",among:"among",an:"an",and:"and",any:"any",are:"are",as:"as",at:"at",be:"be",because:"because",been:"been",but:"but",by:"by",can:"can",cannot:"cannot",could:"could",dear:"dear",did:"did","do":"do",does:"does",either:"either","else":"else",ever:"ever",every:"every","for":"for",from:"from",get:"get",got:"got",had:"had",has:"has",have:"have",he:"he",her:"her",hers:"hers",him:"him",his:"his",how:"how",however:"however",i:"i","if":"if","in":"in",into:"into",is:"is",it:"it",its:"its",just:"just",least:"least",let:"let",like:"like",likely:"likely",may:"may",me:"me",might:"might",most:"most",must:"must",my:"my",neither:"neither",no:"no",nor:"nor",not:"not",of:"of",off:"off",often:"often",on:"on",only:"only",or:"or",other:"other",our:"our",own:"own",rather:"rather",said:"said",say:"say",says:"says",she:"she",should:"should",since:"since",so:"so",some:"some",than:"than",that:"that",the:"the",their:"their",them:"them",then:"then",there:"there",these:"these",they:"they","this":"this",tis:"tis",to:"to",too:"too",twas:"twas",us:"us",wants:"wants",was:"was",we:"we",were:"were",what:"what",when:"when",where:"where",which:"which","while":"while",who:"who",whom:"whom",why:"why",will:"will","with":"with",would:"would",yet:"yet",you:"you",your:"your"},t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter"),t.trimmer=function(t){var e=t.replace(/^\W+/,"").replace(/\W+$/,"");return""===e?void 0:e},t.Pipeline.registerFunction(t.trimmer,"trimmer"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t[0],o=t.slice(1);return i in n||(n[i]={docs:{}}),0===o.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(o,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return!1;e=e[t[n]]}return!0},t.TokenStore.prototype.getNode=function(t){if(!t)return{};for(var e=this.root,n=0;n<t.length;n++){if(!e[t[n]])return{};e=e[t[n]]}return e},t.TokenStore.prototype.get=function(t,e){return this.getNode(t,e).docs||{}},t.TokenStore.prototype.count=function(t,e){return Object.keys(this.get(t,e)).length},t.TokenStore.prototype.remove=function(t,e){if(t){for(var n=this.root,i=0;i<t.length;i++){if(!(t[i]in n))return;n=n[t[i]]}delete n.docs[e]}},t.TokenStore.prototype.expand=function(t,e){var n=this.getNode(t),i=n.docs||{},e=e||[];return Object.keys(i).length&&e.push(t),Object.keys(n).forEach(function(n){"docs"!==n&&e.concat(this.expand(t+n,e))},this),e},t.TokenStore.prototype.toJSON=function(){return{root:this.root,length:this.length}},function(t,e){"function"==typeof define&&define.amd?define(e):"object"==typeof exports?module.exports=e():t.lunr=e()}(this,function(){return t})}();
\ No newline at end of file
diff --git a/user-guide/gitbook/gitbook-plugin-search/search-engine.js b/user-guide/gitbook/gitbook-plugin-search/search-engine.js
deleted file mode 100644
index 5088346..0000000
--- a/user-guide/gitbook/gitbook-plugin-search/search-engine.js
+++ /dev/null
@@ -1,50 +0,0 @@
-require([
-    'gitbook',
-    'jquery'
-], function(gitbook, $) {
-    // Global search objects
-    var engine      = null;
-    var initialized = false;
-
-    // Set a new search engine
-    function setEngine(Engine, config) {
-        initialized = false;
-        engine      = new Engine(config);
-
-        init(config);
-    }
-
-    // Initialize search engine with config
-    function init(config) {
-        if (!engine) throw new Error('No engine set for research. Set an engine using gitbook.research.setEngine(Engine).');
-
-        return engine.init(config)
-        .then(function() {
-            initialized = true;
-            gitbook.events.trigger('search.ready');
-        });
-    }
-
-    // Launch search for query q
-    function query(q, offset, length) {
-        if (!initialized) throw new Error('Search has not been initialized');
-        return engine.search(q, offset, length);
-    }
-
-    // Get stats about search
-    function getEngine() {
-        return engine? engine.name : null;
-    }
-
-    function isInitialized() {
-        return initialized;
-    }
-
-    // Initialize gitbook.search
-    gitbook.search = {
-        setEngine:     setEngine,
-        getEngine:     getEngine,
-        query:         query,
-        isInitialized: isInitialized
-    };
-});
\ No newline at end of file
diff --git a/user-guide/gitbook/gitbook-plugin-search/search.css b/user-guide/gitbook/gitbook-plugin-search/search.css
deleted file mode 100644
index 5d47a3c..0000000
--- a/user-guide/gitbook/gitbook-plugin-search/search.css
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-    This CSS only styled the search results section, not the search input
-    It defines the basic interraction to hide content when displaying results, etc
-*/
-#book-search-results .search-results {
-  display: none;
-}
-#book-search-results .search-results ul.search-results-list {
-  list-style-type: none;
-  padding-left: 0;
-}
-#book-search-results .search-results ul.search-results-list li {
-  margin-bottom: 1.5rem;
-  padding-bottom: 0.5rem;
-  /* Highlight results */
-}
-#book-search-results .search-results ul.search-results-list li p em {
-  background-color: rgba(255, 220, 0, 0.4);
-  font-style: normal;
-}
-#book-search-results .search-results .no-results {
-  display: none;
-}
-#book-search-results.open .search-results {
-  display: block;
-}
-#book-search-results.open .search-noresults {
-  display: none;
-}
-#book-search-results.no-results .search-results .has-results {
-  display: none;
-}
-#book-search-results.no-results .search-results .no-results {
-  display: block;
-}
diff --git a/user-guide/gitbook/gitbook-plugin-search/search.js b/user-guide/gitbook/gitbook-plugin-search/search.js
deleted file mode 100644
index 7a0c232..0000000
--- a/user-guide/gitbook/gitbook-plugin-search/search.js
+++ /dev/null
@@ -1,213 +0,0 @@
-require([
-    'gitbook',
-    'jquery'
-], function(gitbook, $) {
-    var MAX_RESULTS = 15;
-    var MAX_DESCRIPTION_SIZE = 500;
-
-    var usePushState = (typeof history.pushState !== 'undefined');
-
-    // DOM Elements
-    var $body = $('body');
-    var $bookSearchResults;
-    var $searchInput;
-    var $searchList;
-    var $searchTitle;
-    var $searchResultsCount;
-    var $searchQuery;
-
-    // Throttle search
-    function throttle(fn, wait) {
-        var timeout;
-
-        return function() {
-            var ctx = this, args = arguments;
-            if (!timeout) {
-                timeout = setTimeout(function() {
-                    timeout = null;
-                    fn.apply(ctx, args);
-                }, wait);
-            }
-        };
-    }
-
-    function displayResults(res) {
-        $bookSearchResults.addClass('open');
-
-        var noResults = res.count == 0;
-        $bookSearchResults.toggleClass('no-results', noResults);
-
-        // Clear old results
-        $searchList.empty();
-
-        // Display title for research
-        $searchResultsCount.text(res.count);
-        $searchQuery.text(res.query);
-
-        // Create an <li> element for each result
-        res.results.forEach(function(res) {
-            var $li = $('<li>', {
-                'class': 'search-results-item'
-            });
-
-            var $title = $('<h3>');
-
-            var $link = $('<a>', {
-                'href': gitbook.state.basePath + '/' + res.url,
-                'text': res.title
-            });
-
-            var content = res.body.trim();
-            if (content.length > MAX_DESCRIPTION_SIZE) {
-                content = content.slice(0, MAX_DESCRIPTION_SIZE).trim()+'...';
-            }
-            var $content = $('<p>').html(content);
-
-            $link.appendTo($title);
-            $title.appendTo($li);
-            $content.appendTo($li);
-            $li.appendTo($searchList);
-        });
-    }
-
-    function launchSearch(q) {
-        // Add class for loading
-        $body.addClass('with-search');
-        $body.addClass('search-loading');
-
-        // Launch search query
-        throttle(gitbook.search.query(q, 0, MAX_RESULTS)
-        .then(function(results) {
-            displayResults(results);
-        })
-        .always(function() {
-            $body.removeClass('search-loading');
-        }), 1000);
-    }
-
-    function closeSearch() {
-        $body.removeClass('with-search');
-        $bookSearchResults.removeClass('open');
-    }
-
-    function launchSearchFromQueryString() {
-        var q = getParameterByName('q');
-        if (q && q.length > 0) {
-            // Update search input
-            $searchInput.val(q);
-
-            // Launch search
-            launchSearch(q);
-        }
-    }
-
-    function bindSearch() {
-        // Bind DOM
-        $searchInput        = $('#book-search-input input');
-        $bookSearchResults  = $('#book-search-results');
-        $searchList         = $bookSearchResults.find('.search-results-list');
-        $searchTitle        = $bookSearchResults.find('.search-results-title');
-        $searchResultsCount = $searchTitle.find('.search-results-count');
-        $searchQuery        = $searchTitle.find('.search-query');
-
-        // Launch query based on input content
-        function handleUpdate() {
-            var q = $searchInput.val();
-
-            if (q.length == 0) {
-                closeSearch();
-            }
-            else {
-                launchSearch(q);
-            }
-        }
-
-        // Detect true content change in search input
-        // Workaround for IE < 9
-        var propertyChangeUnbound = false;
-        $searchInput.on('propertychange', function(e) {
-            if (e.originalEvent.propertyName == 'value') {
-                handleUpdate();
-            }
-        });
-
-        // HTML5 (IE9 & others)
-        $searchInput.on('input', function(e) {
-            // Unbind propertychange event for IE9+
-            if (!propertyChangeUnbound) {
-                $(this).unbind('propertychange');
-                propertyChangeUnbound = true;
-            }
-
-            handleUpdate();
-        });
-
-        // Push to history on blur
-        $searchInput.on('blur', function(e) {
-            // Update history state
-            if (usePushState) {
-                var uri = updateQueryString('q', $(this).val());
-                history.pushState({ path: uri }, null, uri);
-            }
-        });
-    }
-
-    gitbook.events.on('page.change', function() {
-        bindSearch();
-        closeSearch();
-
-        // Launch search based on query parameter
-        if (gitbook.search.isInitialized()) {
-            launchSearchFromQueryString();
-        }
-    });
-
-    gitbook.events.on('search.ready', function() {
-        bindSearch();
-
-        // Launch search from query param at start
-        launchSearchFromQueryString();
-    });
-
-    function getParameterByName(name) {
-        var url = window.location.href;
-        name = name.replace(/[\[\]]/g, '\\$&');
-        var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)', 'i'),
-            results = regex.exec(url);
-        if (!results) return null;
-        if (!results[2]) return '';
-        return decodeURIComponent(results[2].replace(/\+/g, ' '));
-    }
-
-    function updateQueryString(key, value) {
-        value = encodeURIComponent(value);
-
-        var url = window.location.href;
-        var re = new RegExp('([?&])' + key + '=.*?(&|#|$)(.*)', 'gi'),
-            hash;
-
-        if (re.test(url)) {
-            if (typeof value !== 'undefined' && value !== null)
-                return url.replace(re, '$1' + key + '=' + value + '$2$3');
-            else {
-                hash = url.split('#');
-                url = hash[0].replace(re, '$1$3').replace(/(&|\?)$/, '');
-                if (typeof hash[1] !== 'undefined' && hash[1] !== null)
-                    url += '#' + hash[1];
-                return url;
-            }
-        }
-        else {
-            if (typeof value !== 'undefined' && value !== null) {
-                var separator = url.indexOf('?') !== -1 ? '&' : '?';
-                hash = url.split('#');
-                url = hash[0] + separator + key + '=' + value;
-                if (typeof hash[1] !== 'undefined' && hash[1] !== null)
-                    url += '#' + hash[1];
-                return url;
-            }
-            else
-                return url;
-        }
-    }
-});
diff --git a/user-guide/gitbook/gitbook-plugin-sharing/buttons.js b/user-guide/gitbook/gitbook-plugin-sharing/buttons.js
deleted file mode 100644
index 709a4e4..0000000
--- a/user-guide/gitbook/gitbook-plugin-sharing/buttons.js
+++ /dev/null
@@ -1,90 +0,0 @@
-require(['gitbook', 'jquery'], function(gitbook, $) {
-    var SITES = {
-        'facebook': {
-            'label': 'Facebook',
-            'icon': 'fa fa-facebook',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://www.facebook.com/sharer/sharer.php?s=100&p[url]='+encodeURIComponent(location.href));
-            }
-        },
-        'twitter': {
-            'label': 'Twitter',
-            'icon': 'fa fa-twitter',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://twitter.com/home?status='+encodeURIComponent(document.title+' '+location.href));
-            }
-        },
-        'google': {
-            'label': 'Google+',
-            'icon': 'fa fa-google-plus',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('https://plus.google.com/share?url='+encodeURIComponent(location.href));
-            }
-        },
-        'weibo': {
-            'label': 'Weibo',
-            'icon': 'fa fa-weibo',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://service.weibo.com/share/share.php?content=utf-8&url='+encodeURIComponent(location.href)+'&title='+encodeURIComponent(document.title));
-            }
-        },
-        'instapaper': {
-            'label': 'Instapaper',
-            'icon': 'fa fa-instapaper',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://www.instapaper.com/text?u='+encodeURIComponent(location.href));
-            }
-        },
-        'vk': {
-            'label': 'VK',
-            'icon': 'fa fa-vk',
-            'onClick': function(e) {
-                e.preventDefault();
-                window.open('http://vkontakte.ru/share.php?url='+encodeURIComponent(location.href));
-            }
-        }
-    };
-
-
-
-    gitbook.events.bind('start', function(e, config) {
-        var opts = config.sharing;
-
-        // Create dropdown menu
-        var menu = $.map(opts.all, function(id) {
-            var site = SITES[id];
-
-            return {
-                text: site.label,
-                onClick: site.onClick
-            };
-        });
-
-        // Create main button with dropdown
-        if (menu.length > 0) {
-            gitbook.toolbar.createButton({
-                icon: 'fa fa-share-alt',
-                label: 'Share',
-                position: 'right',
-                dropdown: [menu]
-            });
-        }
-
-        // Direct actions to share
-        $.each(SITES, function(sideId, site) {
-            if (!opts[sideId]) return;
-
-            gitbook.toolbar.createButton({
-                icon: site.icon,
-                label: site.text,
-                position: 'right',
-                onClick: site.onClick
-            });
-        });
-    });
-});
diff --git a/user-guide/gitbook/gitbook.js b/user-guide/gitbook/gitbook.js
deleted file mode 100644
index 10000c7..0000000
--- a/user-guide/gitbook/gitbook.js
+++ /dev/null
@@ -1,4 +0,0 @@
-!function e(t,n,r){function o(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[s]={exports:{}};t[s][0].call(l.exports,function(e){var n=t[s][1][e];return o(n?n:e)},l,l.exports,e,t,n,r)}return n[s].exports}for(var i="function"==typeof require&&require,s=0;s<r.length;s++)o(r[s]);return o}({1:[function(e,t,n){!function(e,n){"use strict";"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(e,t){t=t||te;var n=t.createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function r(e){var t=!!e&&"length"in e&&e.length,n=de.type(e);return"function"!==n&&!de.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function o(e,t,n){return de.isFunction(t)?de.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?de.grep(e,function(e){return e===t!==n}):"string"!=typeof t?de.grep(e,function(e){return se.call(t,e)>-1!==n}):je.test(t)?de.filter(t,e,n):(t=de.filter(t,e),de.grep(e,function(e){return se.call(t,e)>-1!==n&&1===e.nodeType}))}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function s(e){var t={};return de.each(e.match(qe)||[],function(e,n){t[n]=!0}),t}function a(e){return e}function u(e){throw e}function c(e,t,n){var r;try{e&&de.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&de.isFunction(r=e.then)?r.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function l(){te.removeEventListener("DOMContentLoaded",l),e.removeEventListener("load",l),de.ready()}function f(){this.expando=de.expando+f.uid++}function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Ie.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Pe,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n=p(n)}catch(e){}Re.set(e,t,n)}else n=void 0;return n}function d(e,t,n,r){var o,i=1,s=20,a=r?function(){return r.cur()}:function(){return de.css(e,t,"")},u=a(),c=n&&n[3]||(de.cssNumber[t]?"":"px"),l=(de.cssNumber[t]||"px"!==c&&+u)&&$e.exec(de.css(e,t));if(l&&l[3]!==c){c=c||l[3],n=n||[],l=+u||1;do i=i||".5",l/=i,de.style(e,t,l+c);while(i!==(i=a()/u)&&1!==i&&--s)}return n&&(l=+l||+u||0,o=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=o)),o}function g(e){var t,n=e.ownerDocument,r=e.nodeName,o=Ue[r];return o?o:(t=n.body.appendChild(n.createElement(r)),o=de.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),Ue[r]=o,o)}function m(e,t){for(var n,r,o=[],i=0,s=e.length;i<s;i++)r=e[i],r.style&&(n=r.style.display,t?("none"===n&&(o[i]=Fe.get(r,"display")||null,o[i]||(r.style.display="")),""===r.style.display&&Be(r)&&(o[i]=g(r))):"none"!==n&&(o[i]="none",Fe.set(r,"display",n)));for(i=0;i<s;i++)null!=o[i]&&(e[i].style.display=o[i]);return e}function v(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&de.nodeName(e,t)?de.merge([e],n):n}function y(e,t){for(var n=0,r=e.length;n<r;n++)Fe.set(e[n],"globalEval",!t||Fe.get(t[n],"globalEval"))}function x(e,t,n,r,o){for(var i,s,a,u,c,l,f=t.createDocumentFragment(),p=[],h=0,d=e.length;h<d;h++)if(i=e[h],i||0===i)if("object"===de.type(i))de.merge(p,i.nodeType?[i]:i);else if(Ye.test(i)){for(s=s||f.appendChild(t.createElement("div")),a=(Xe.exec(i)||["",""])[1].toLowerCase(),u=Ge[a]||Ge._default,s.innerHTML=u[1]+de.htmlPrefilter(i)+u[2],l=u[0];l--;)s=s.lastChild;de.merge(p,s.childNodes),s=f.firstChild,s.textContent=""}else p.push(t.createTextNode(i));for(f.textContent="",h=0;i=p[h++];)if(r&&de.inArray(i,r)>-1)o&&o.push(i);else if(c=de.contains(i.ownerDocument,i),s=v(f.appendChild(i),"script"),c&&y(s),n)for(l=0;i=s[l++];)Ve.test(i.type||"")&&n.push(i);return f}function b(){return!0}function w(){return!1}function T(){try{return te.activeElement}catch(e){}}function C(e,t,n,r,o,i){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(a in t)C(e,a,n,r,t[a],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),o===!1)o=w;else if(!o)return e;return 1===i&&(s=o,o=function(e){return de().off(e),s.apply(this,arguments)},o.guid=s.guid||(s.guid=de.guid++)),e.each(function(){de.event.add(this,t,o,r,n)})}function j(e,t){return de.nodeName(e,"table")&&de.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function k(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function E(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function S(e,t){var n,r,o,i,s,a,u,c;if(1===t.nodeType){if(Fe.hasData(e)&&(i=Fe.access(e),s=Fe.set(t,i),c=i.events)){delete s.handle,s.events={};for(o in c)for(n=0,r=c[o].length;n<r;n++)de.event.add(t,o,c[o][n])}Re.hasData(e)&&(a=Re.access(e),u=de.extend({},a),Re.set(t,u))}}function N(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ze.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function A(e,t,r,o){t=oe.apply([],t);var i,s,a,u,c,l,f=0,p=e.length,h=p-1,d=t[0],g=de.isFunction(d);if(g||p>1&&"string"==typeof d&&!pe.checkClone&&nt.test(d))return e.each(function(n){var i=e.eq(n);g&&(t[0]=d.call(this,n,i.html())),A(i,t,r,o)});if(p&&(i=x(t,e[0].ownerDocument,!1,e,o),s=i.firstChild,1===i.childNodes.length&&(i=s),s||o)){for(a=de.map(v(i,"script"),k),u=a.length;f<p;f++)c=i,f!==h&&(c=de.clone(c,!0,!0),u&&de.merge(a,v(c,"script"))),r.call(e[f],c,f);if(u)for(l=a[a.length-1].ownerDocument,de.map(a,E),f=0;f<u;f++)c=a[f],Ve.test(c.type||"")&&!Fe.access(c,"globalEval")&&de.contains(l,c)&&(c.src?de._evalUrl&&de._evalUrl(c.src):n(c.textContent.replace(ot,""),l))}return e}function q(e,t,n){for(var r,o=t?de.filter(t,e):e,i=0;null!=(r=o[i]);i++)n||1!==r.nodeType||de.cleanData(v(r)),r.parentNode&&(n&&de.contains(r.ownerDocument,r)&&y(v(r,"script")),r.parentNode.removeChild(r));return e}function D(e,t,n){var r,o,i,s,a=e.style;return n=n||at(e),n&&(s=n.getPropertyValue(t)||n[t],""!==s||de.contains(e.ownerDocument,e)||(s=de.style(e,t)),!pe.pixelMarginRight()&&st.test(s)&&it.test(t)&&(r=a.width,o=a.minWidth,i=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=r,a.minWidth=o,a.maxWidth=i)),void 0!==s?s+"":s}function O(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function L(e){if(e in pt)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=ft.length;n--;)if(e=ft[n]+t,e in pt)return e}function H(e,t,n){var r=$e.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function F(e,t,n,r,o){var i,s=0;for(i=n===(r?"border":"content")?4:"width"===t?1:0;i<4;i+=2)"margin"===n&&(s+=de.css(e,n+We[i],!0,o)),r?("content"===n&&(s-=de.css(e,"padding"+We[i],!0,o)),"margin"!==n&&(s-=de.css(e,"border"+We[i]+"Width",!0,o))):(s+=de.css(e,"padding"+We[i],!0,o),"padding"!==n&&(s+=de.css(e,"border"+We[i]+"Width",!0,o)));return s}function R(e,t,n){var r,o=!0,i=at(e),s="border-box"===de.css(e,"boxSizing",!1,i);if(e.getClientRects().length&&(r=e.getBoundingClientRect()[t]),r<=0||null==r){if(r=D(e,t,i),(r<0||null==r)&&(r=e.style[t]),st.test(r))return r;o=s&&(pe.boxSizingReliable()||r===e.style[t]),r=parseFloat(r)||0}return r+F(e,t,n||(s?"border":"content"),o,i)+"px"}function I(e,t,n,r,o){return new I.prototype.init(e,t,n,r,o)}function P(){dt&&(e.requestAnimationFrame(P),de.fx.tick())}function M(){return e.setTimeout(function(){ht=void 0}),ht=de.now()}function $(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)n=We[r],o["margin"+n]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function W(e,t,n){for(var r,o=(U.tweeners[t]||[]).concat(U.tweeners["*"]),i=0,s=o.length;i<s;i++)if(r=o[i].call(n,t,e))return r}function B(e,t,n){var r,o,i,s,a,u,c,l,f="width"in t||"height"in t,p=this,h={},d=e.style,g=e.nodeType&&Be(e),v=Fe.get(e,"fxshow");n.queue||(s=de._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,a=s.empty.fire,s.empty.fire=function(){s.unqueued||a()}),s.unqueued++,p.always(function(){p.always(function(){s.unqueued--,de.queue(e,"fx").length||s.empty.fire()})}));for(r in t)if(o=t[r],gt.test(o)){if(delete t[r],i=i||"toggle"===o,o===(g?"hide":"show")){if("show"!==o||!v||void 0===v[r])continue;g=!0}h[r]=v&&v[r]||de.style(e,r)}if(u=!de.isEmptyObject(t),u||!de.isEmptyObject(h)){f&&1===e.nodeType&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],c=v&&v.display,null==c&&(c=Fe.get(e,"display")),l=de.css(e,"display"),"none"===l&&(c?l=c:(m([e],!0),c=e.style.display||c,l=de.css(e,"display"),m([e]))),("inline"===l||"inline-block"===l&&null!=c)&&"none"===de.css(e,"float")&&(u||(p.done(function(){d.display=c}),null==c&&(l=d.display,c="none"===l?"":l)),d.display="inline-block")),n.overflow&&(d.overflow="hidden",p.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]})),u=!1;for(r in h)u||(v?"hidden"in v&&(g=v.hidden):v=Fe.access(e,"fxshow",{display:c}),i&&(v.hidden=!g),g&&m([e],!0),p.done(function(){g||m([e]),Fe.remove(e,"fxshow");for(r in h)de.style(e,r,h[r])})),u=W(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}}function _(e,t){var n,r,o,i,s;for(n in e)if(r=de.camelCase(n),o=t[r],i=e[n],de.isArray(i)&&(o=i[1],i=e[n]=i[0]),n!==r&&(e[r]=i,delete e[n]),s=de.cssHooks[r],s&&"expand"in s){i=s.expand(i),delete e[r];for(n in i)n in e||(e[n]=i[n],t[n]=o)}else t[r]=o}function U(e,t,n){var r,o,i=0,s=U.prefilters.length,a=de.Deferred().always(function(){delete u.elem}),u=function(){if(o)return!1;for(var t=ht||M(),n=Math.max(0,c.startTime+c.duration-t),r=n/c.duration||0,i=1-r,s=0,u=c.tweens.length;s<u;s++)c.tweens[s].run(i);return a.notifyWith(e,[c,i,n]),i<1&&u?n:(a.resolveWith(e,[c]),!1)},c=a.promise({elem:e,props:de.extend({},t),opts:de.extend(!0,{specialEasing:{},easing:de.easing._default},n),originalProperties:t,originalOptions:n,startTime:ht||M(),duration:n.duration,tweens:[],createTween:function(t,n){var r=de.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(r),r},stop:function(t){var n=0,r=t?c.tweens.length:0;if(o)return this;for(o=!0;n<r;n++)c.tweens[n].run(1);return t?(a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c,t])):a.rejectWith(e,[c,t]),this}}),l=c.props;for(_(l,c.opts.specialEasing);i<s;i++)if(r=U.prefilters[i].call(c,e,l,c.opts))return de.isFunction(r.stop)&&(de._queueHooks(c.elem,c.opts.queue).stop=de.proxy(r.stop,r)),r;return de.map(l,W,c),de.isFunction(c.opts.start)&&c.opts.start.call(e,c),de.fx.timer(de.extend(u,{elem:e,anim:c,queue:c.opts.queue})),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always)}function z(e){var t=e.match(qe)||[];return t.join(" ")}function X(e){return e.getAttribute&&e.getAttribute("class")||""}function V(e,t,n,r){var o;if(de.isArray(t))de.each(t,function(t,o){n||Et.test(e)?r(e,o):V(e+"["+("object"==typeof o&&null!=o?t:"")+"]",o,n,r)});else if(n||"object"!==de.type(t))r(e,t);else for(o in t)V(e+"["+o+"]",t[o],n,r)}function G(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,o=0,i=t.toLowerCase().match(qe)||[];if(de.isFunction(n))for(;r=i[o++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Y(e,t,n,r){function o(a){var u;return i[a]=!0,de.each(e[a]||[],function(e,a){var c=a(t,n,r);return"string"!=typeof c||s||i[c]?s?!(u=c):void 0:(t.dataTypes.unshift(c),o(c),!1)}),u}var i={},s=e===Pt;return o(t.dataTypes[0])||!i["*"]&&o("*")}function Q(e,t){var n,r,o=de.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:r||(r={}))[n]=t[n]);return r&&de.extend(!0,e,r),e}function J(e,t,n){for(var r,o,i,s,a=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(o in a)if(a[o]&&a[o].test(r)){u.unshift(o);break}if(u[0]in n)i=u[0];else{for(o in n){if(!u[0]||e.converters[o+" "+u[0]]){i=o;break}s||(s=o)}i=i||s}if(i)return i!==u[0]&&u.unshift(i),n[i]}function K(e,t,n,r){var o,i,s,a,u,c={},l=e.dataTypes.slice();if(l[1])for(s in e.converters)c[s.toLowerCase()]=e.converters[s];for(i=l.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=i,i=l.shift())if("*"===i)i=u;else if("*"!==u&&u!==i){if(s=c[u+" "+i]||c["* "+i],!s)for(o in c)if(a=o.split(" "),a[1]===i&&(s=c[u+" "+a[0]]||c["* "+a[0]])){s===!0?s=c[o]:c[o]!==!0&&(i=a[0],l.unshift(a[1]));break}if(s!==!0)if(s&&e.throws)t=s(t);else try{t=s(t)}catch(e){return{state:"parsererror",error:s?e:"No conversion from "+u+" to "+i}}}return{state:"success",data:t}}function Z(e){return de.isWindow(e)?e:9===e.nodeType&&e.defaultView}var ee=[],te=e.document,ne=Object.getPrototypeOf,re=ee.slice,oe=ee.concat,ie=ee.push,se=ee.indexOf,ae={},ue=ae.toString,ce=ae.hasOwnProperty,le=ce.toString,fe=le.call(Object),pe={},he="3.1.1",de=function(e,t){return new de.fn.init(e,t)},ge=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,me=/^-ms-/,ve=/-([a-z])/g,ye=function(e,t){return t.toUpperCase()};de.fn=de.prototype={jquery:he,constructor:de,length:0,toArray:function(){return re.call(this)},get:function(e){return null==e?re.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=de.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return de.each(this,e)},map:function(e){return this.pushStack(de.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(re.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:ie,sort:ee.sort,splice:ee.splice},de.extend=de.fn.extend=function(){var e,t,n,r,o,i,s=arguments[0]||{},a=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[a]||{},a++),"object"==typeof s||de.isFunction(s)||(s={}),a===u&&(s=this,a--);a<u;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(c&&r&&(de.isPlainObject(r)||(o=de.isArray(r)))?(o?(o=!1,i=n&&de.isArray(n)?n:[]):i=n&&de.isPlainObject(n)?n:{},s[t]=de.extend(c,i,r)):void 0!==r&&(s[t]=r));return s},de.extend({expando:"jQuery"+(he+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===de.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=de.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==ue.call(e))&&(!(t=ne(e))||(n=ce.call(t,"constructor")&&t.constructor,"function"==typeof n&&le.call(n)===fe))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?ae[ue.call(e)]||"object":typeof e},globalEval:function(e){n(e)},camelCase:function(e){return e.replace(me,"ms-").replace(ve,ye)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var n,o=0;if(r(e))for(n=e.length;o<n&&t.call(e[o],o,e[o])!==!1;o++);else for(o in e)if(t.call(e[o],o,e[o])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(ge,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(r(Object(e))?de.merge(n,"string"==typeof e?[e]:e):ie.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:se.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,o=e.length;r<n;r++)e[o++]=t[r];return e.length=o,e},grep:function(e,t,n){for(var r,o=[],i=0,s=e.length,a=!n;i<s;i++)r=!t(e[i],i),r!==a&&o.push(e[i]);return o},map:function(e,t,n){var o,i,s=0,a=[];if(r(e))for(o=e.length;s<o;s++)i=t(e[s],s,n),null!=i&&a.push(i);else for(s in e)i=t(e[s],s,n),null!=i&&a.push(i);return oe.apply([],a)},guid:1,proxy:function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),de.isFunction(e))return r=re.call(arguments,2),o=function(){return e.apply(t||this,r.concat(re.call(arguments)))},o.guid=e.guid=e.guid||de.guid++,o},now:Date.now,support:pe}),"function"==typeof Symbol&&(de.fn[Symbol.iterator]=ee[Symbol.iterator]),de.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){ae["[object "+t+"]"]=t.toLowerCase()});var xe=function(e){function t(e,t,n,r){var o,i,s,a,u,c,l,p=t&&t.ownerDocument,d=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==d&&9!==d&&11!==d)return n;if(!r&&((t?t.ownerDocument||t:W)!==L&&O(t),t=t||L,F)){if(11!==d&&(u=ve.exec(e)))if(o=u[1]){if(9===d){if(!(s=t.getElementById(o)))return n;if(s.id===o)return n.push(s),n}else if(p&&(s=p.getElementById(o))&&M(t,s)&&s.id===o)return n.push(s),n}else{if(u[2])return K.apply(n,t.getElementsByTagName(e)),n;if((o=u[3])&&T.getElementsByClassName&&t.getElementsByClassName)return K.apply(n,t.getElementsByClassName(o)),n}if(T.qsa&&!X[e+" "]&&(!R||!R.test(e))){if(1!==d)p=t,l=e;else if("object"!==t.nodeName.toLowerCase()){for((a=t.getAttribute("id"))?a=a.replace(we,Te):t.setAttribute("id",a=$),c=E(e),i=c.length;i--;)c[i]="#"+a+" "+h(c[i]);l=c.join(","),p=ye.test(e)&&f(t.parentNode)||t}if(l)try{return K.apply(n,p.querySelectorAll(l)),n}catch(e){}finally{a===$&&t.removeAttribute("id")}}}return N(e.replace(ae,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>C.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[$]=!0,e}function o(e){var t=L.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split("|"),r=n.length;r--;)C.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&je(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var o,i=e([],n.length,t),s=i.length;s--;)n[o=i[s]]&&(n[o]=!(r[o]=n[o]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function h(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function d(e,t,n){var r=t.dir,o=t.next,i=o||r,s=n&&"parentNode"===i,a=_++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||s)return e(t,n,o);return!1}:function(t,n,u){var c,l,f,p=[B,a];if(u){for(;t=t[r];)if((1===t.nodeType||s)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||s)if(f=t[$]||(t[$]={}),l=f[t.uniqueID]||(f[t.uniqueID]={}),o&&o===t.nodeName.toLowerCase())t=t[r]||t;else{if((c=l[i])&&c[0]===B&&c[1]===a)return p[2]=c[2];if(l[i]=p,p[2]=e(t,n,u))return!0}return!1}}function g(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var o=0,i=n.length;o<i;o++)t(e,n[o],r);return r}function v(e,t,n,r,o){for(var i,s=[],a=0,u=e.length,c=null!=t;a<u;a++)(i=e[a])&&(n&&!n(i,r,o)||(s.push(i),c&&t.push(a)));return s}function y(e,t,n,o,i,s){return o&&!o[$]&&(o=y(o)),i&&!i[$]&&(i=y(i,s)),r(function(r,s,a,u){var c,l,f,p=[],h=[],d=s.length,g=r||m(t||"*",a.nodeType?[a]:a,[]),y=!e||!r&&t?g:v(g,p,e,a,u),x=n?i||(r?e:d||o)?[]:s:y;if(n&&n(y,x,a,u),o)for(c=v(x,h),o(c,[],a,u),l=c.length;l--;)(f=c[l])&&(x[h[l]]=!(y[h[l]]=f));if(r){if(i||e){if(i){for(c=[],l=x.length;l--;)(f=x[l])&&c.push(y[l]=f);i(null,x=[],c,u)}for(l=x.length;l--;)(f=x[l])&&(c=i?ee(r,f):p[l])>-1&&(r[c]=!(s[c]=f))}}else x=v(x===s?x.splice(d,x.length):x),i?i(null,s,x,u):K.apply(s,x)})}function x(e){for(var t,n,r,o=e.length,i=C.relative[e[0].type],s=i||C.relative[" "],a=i?1:0,u=d(function(e){return e===t},s,!0),c=d(function(e){return ee(t,e)>-1},s,!0),l=[function(e,n,r){var o=!i&&(r||n!==A)||((t=n).nodeType?u(e,n,r):c(e,n,r));return t=null,o}];a<o;a++)if(n=C.relative[e[a].type])l=[d(g(l),n)];else{if(n=C.filter[e[a].type].apply(null,e[a].matches),n[$]){for(r=++a;r<o&&!C.relative[e[r].type];r++);return y(a>1&&g(l),a>1&&h(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ae,"$1"),n,a<r&&x(e.slice(a,r)),r<o&&x(e=e.slice(r)),r<o&&h(e))}l.push(n)}return g(l)}function b(e,n){var o=n.length>0,i=e.length>0,s=function(r,s,a,u,c){var l,f,p,h=0,d="0",g=r&&[],m=[],y=A,x=r||i&&C.find.TAG("*",c),b=B+=null==y?1:Math.random()||.1,w=x.length;for(c&&(A=s===L||s||c);d!==w&&null!=(l=x[d]);d++){if(i&&l){for(f=0,s||l.ownerDocument===L||(O(l),a=!F);p=e[f++];)if(p(l,s||L,a)){u.push(l);break}c&&(B=b)}o&&((l=!p&&l)&&h--,r&&g.push(l))}if(h+=d,o&&d!==h){for(f=0;p=n[f++];)p(g,m,s,a);if(r){if(h>0)for(;d--;)g[d]||m[d]||(m[d]=Q.call(u));m=v(m)}K.apply(u,m),c&&!r&&m.length>0&&h+n.length>1&&t.uniqueSort(u)}return c&&(B=b,A=y),g};return o?r(s):s}var w,T,C,j,k,E,S,N,A,q,D,O,L,H,F,R,I,P,M,$="sizzle"+1*new Date,W=e.document,B=0,_=0,U=n(),z=n(),X=n(),V=function(e,t){return e===t&&(D=!0),0},G={}.hasOwnProperty,Y=[],Q=Y.pop,J=Y.push,K=Y.push,Z=Y.slice,ee=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",oe="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+re+"))|)"+ne+"*\\]",ie=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+oe+")*)|.*)\\)|)",se=new RegExp(ne+"+","g"),ae=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),ue=new RegExp("^"+ne+"*,"+ne+"*"),ce=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),le=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(ie),pe=new RegExp("^"+re+"$"),he={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},de=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,xe=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),be=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},we=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Te=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Ce=function(){O()},je=d(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{K.apply(Y=Z.call(W.childNodes),W.childNodes),Y[W.childNodes.length].nodeType}catch(e){K={apply:Y.length?function(e,t){J.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}T=t.support={},k=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},O=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:W;return r!==L&&9===r.nodeType&&r.documentElement?(L=r,H=L.documentElement,F=!k(L),W!==L&&(n=L.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Ce,!1):n.attachEvent&&n.attachEvent("onunload",Ce)),T.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),T.getElementsByTagName=o(function(e){return e.appendChild(L.createComment("")),!e.getElementsByTagName("*").length}),T.getElementsByClassName=me.test(L.getElementsByClassName),T.getById=o(function(e){return H.appendChild(e).id=$,!L.getElementsByName||!L.getElementsByName($).length}),T.getById?(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){return e.getAttribute("id")===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n=t.getElementById(e);return n?[n]:[]}}):(C.filter.ID=function(e){var t=e.replace(xe,be);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},C.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n,r,o,i=t.getElementById(e);if(i){if(n=i.getAttributeNode("id"),n&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if(n=i.getAttributeNode("id"),n&&n.value===e)return[i]}return[]}}),C.find.TAG=T.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):T.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},C.find.CLASS=T.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&F)return t.getElementsByClassName(e)},I=[],R=[],(T.qsa=me.test(L.querySelectorAll))&&(o(function(e){H.appendChild(e).innerHTML="<a id='"+$+"'></a><select id='"+$+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&R.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||R.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+$+"-]").length||R.push("~="),e.querySelectorAll(":checked").length||R.push(":checked"),e.querySelectorAll("a#"+$+"+*").length||R.push(".#.+[+~]")}),o(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=L.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&R.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&R.push(":enabled",":disabled"),H.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&R.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),R.push(",.*:")})),(T.matchesSelector=me.test(P=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&o(function(e){T.disconnectedMatch=P.call(e,"*"),P.call(e,"[s!='']:x"),I.push("!=",ie)}),R=R.length&&new RegExp(R.join("|")),I=I.length&&new RegExp(I.join("|")),t=me.test(H.compareDocumentPosition),M=t||me.test(H.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},V=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!T.sortDetached&&t.compareDocumentPosition(e)===n?e===L||e.ownerDocument===W&&M(W,e)?-1:t===L||t.ownerDocument===W&&M(W,t)?1:q?ee(q,e)-ee(q,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,a=[e],u=[t];if(!o||!i)return e===L?-1:t===L?1:o?-1:i?1:q?ee(q,e)-ee(q,t):0;if(o===i)return s(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]===W?-1:u[r]===W?1:0},L):L},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==L&&O(e),n=n.replace(le,"='$1']"),T.matchesSelector&&F&&!X[n+" "]&&(!I||!I.test(n))&&(!R||!R.test(n)))try{var r=P.call(e,n);if(r||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,L,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==L&&O(e),M(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==L&&O(e);var n=C.attrHandle[t.toLowerCase()],r=n&&G.call(C.attrHandle,t.toLowerCase())?n(e,t,!F):void 0;return void 0!==r?r:T.attributes||!F?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(we,Te)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,o=0;if(D=!T.detectDuplicates,q=!T.sortStable&&e.slice(0),e.sort(V),D){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)e.splice(n[r],1)}return q=null,e},j=t.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=j(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=j(t);return n},C=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xe,be),e[3]=(e[3]||e[4]||e[5]||"").replace(xe,be),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=E(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(xe,be).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(o){var i=t.attr(o,e);return null==i?"!="===n:!n||(i+="","="===n?i===r:"!="===n?i!==r:"^="===n?r&&0===i.indexOf(r):"*="===n?r&&i.indexOf(r)>-1:"$="===n?r&&i.slice(-r.length)===r:"~="===n?(" "+i.replace(se," ")+" ").indexOf(r)>-1:"|="===n&&(i===r||i.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,p,h,d,g=i!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!u&&!a,x=!1;if(m){if(i){for(;g;){for(p=t;p=p[g];)if(a?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&y){for(p=m,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h&&c[2],p=h&&m.childNodes[h];p=++h&&p&&p[g]||(x=h=0)||d.pop();)if(1===p.nodeType&&++x&&p===t){l[e]=[B,h,x];break}}else if(y&&(p=t,f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),c=l[e]||[],h=c[0]===B&&c[1],x=h),x===!1)for(;(p=++h&&p&&p[g]||(x=h=0)||d.pop())&&((a?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++x||(y&&(f=p[$]||(p[$]={}),l=f[p.uniqueID]||(f[p.uniqueID]={}),l[e]=[B,x]),p!==t)););return x-=o,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var o,i=C.pseudos[e]||C.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return i[$]?i(n):i.length>1?(o=[e,e,"",n],C.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,o=i(e,n),s=o.length;s--;)r=ee(e,o[s]),e[r]=!(t[r]=o[s])}):function(e){return i(e,0,o)}):i}},pseudos:{not:r(function(e){var t=[],n=[],o=S(e.replace(ae,"$1"));return o[$]?r(function(e,t,n,r){for(var i,s=o(e,null,r,[]),a=e.length;a--;)(i=s[a])&&(e[a]=!(t[a]=i))}):function(e,r,i){return t[0]=e,o(t,null,i,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){
-return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(xe,be),function(t){return(t.textContent||t.innerText||j(t)).indexOf(e)>-1}}),lang:r(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(xe,be).toLowerCase(),function(t){var n;do if(n=F?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===L.activeElement&&(!L.hasFocus||L.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:c(!1),disabled:c(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!C.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return de.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:l(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:l(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},C.pseudos.nth=C.pseudos.eq;for(w in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})C.pseudos[w]=a(w);for(w in{submit:!0,reset:!0})C.pseudos[w]=u(w);return p.prototype=C.filters=C.pseudos,C.setFilters=new p,E=t.tokenize=function(e,n){var r,o,i,s,a,u,c,l=z[e+" "];if(l)return n?0:l.slice(0);for(a=e,u=[],c=C.preFilter;a;){r&&!(o=ue.exec(a))||(o&&(a=a.slice(o[0].length)||a),u.push(i=[])),r=!1,(o=ce.exec(a))&&(r=o.shift(),i.push({value:r,type:o[0].replace(ae," ")}),a=a.slice(r.length));for(s in C.filter)!(o=he[s].exec(a))||c[s]&&!(o=c[s](o))||(r=o.shift(),i.push({value:r,type:s,matches:o}),a=a.slice(r.length));if(!r)break}return n?a.length:a?t.error(e):z(e,u).slice(0)},S=t.compile=function(e,t){var n,r=[],o=[],i=X[e+" "];if(!i){for(t||(t=E(e)),n=t.length;n--;)i=x(t[n]),i[$]?r.push(i):o.push(i);i=X(e,b(o,r)),i.selector=e}return i},N=t.select=function(e,t,n,r){var o,i,s,a,u,c="function"==typeof e&&e,l=!r&&E(e=c.selector||e);if(n=n||[],1===l.length){if(i=l[0]=l[0].slice(0),i.length>2&&"ID"===(s=i[0]).type&&9===t.nodeType&&F&&C.relative[i[1].type]){if(t=(C.find.ID(s.matches[0].replace(xe,be),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=he.needsContext.test(e)?0:i.length;o--&&(s=i[o],!C.relative[a=s.type]);)if((u=C.find[a])&&(r=u(s.matches[0].replace(xe,be),ye.test(i[0].type)&&f(t.parentNode)||t))){if(i.splice(o,1),e=r.length&&h(i),!e)return K.apply(n,r),n;break}}return(c||S(e,l))(r,t,!F,n,!t||ye.test(e)&&f(t.parentNode)||t),n},T.sortStable=$.split("").sort(V).join("")===$,T.detectDuplicates=!!D,O(),T.sortDetached=o(function(e){return 1&e.compareDocumentPosition(L.createElement("fieldset"))}),o(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||i("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),T.attributes&&o(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||i("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||i(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);de.find=xe,de.expr=xe.selectors,de.expr[":"]=de.expr.pseudos,de.uniqueSort=de.unique=xe.uniqueSort,de.text=xe.getText,de.isXMLDoc=xe.isXML,de.contains=xe.contains,de.escapeSelector=xe.escape;var be=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&de(e).is(n))break;r.push(e)}return r},we=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Te=de.expr.match.needsContext,Ce=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,je=/^.[^:#\[\.,]*$/;de.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?de.find.matchesSelector(r,e)?[r]:[]:de.find.matches(e,de.grep(t,function(e){return 1===e.nodeType}))},de.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(de(e).filter(function(){for(t=0;t<r;t++)if(de.contains(o[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)de.find(e,o[t],n);return r>1?de.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Te.test(e)?de(e):e||[],!1).length}});var ke,Ee=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Se=de.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||ke,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Ee.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof de?t[0]:t,de.merge(this,de.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Ce.test(r[1])&&de.isPlainObject(t))for(r in t)de.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return o=te.getElementById(r[2]),o&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):de.isFunction(e)?void 0!==n.ready?n.ready(e):e(de):de.makeArray(e,this)};Se.prototype=de.fn,ke=de(te);var Ne=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};de.fn.extend({has:function(e){var t=de(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(de.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,o=this.length,i=[],s="string"!=typeof e&&de(e);if(!Te.test(e))for(;r<o;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&de.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?de.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?se.call(de(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(de.uniqueSort(de.merge(this.get(),de(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),de.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return be(e,"parentNode")},parentsUntil:function(e,t,n){return be(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return be(e,"nextSibling")},prevAll:function(e){return be(e,"previousSibling")},nextUntil:function(e,t,n){return be(e,"nextSibling",n)},prevUntil:function(e,t,n){return be(e,"previousSibling",n)},siblings:function(e){return we((e.parentNode||{}).firstChild,e)},children:function(e){return we(e.firstChild)},contents:function(e){return e.contentDocument||de.merge([],e.childNodes)}},function(e,t){de.fn[e]=function(n,r){var o=de.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=de.filter(r,o)),this.length>1&&(Ae[e]||de.uniqueSort(o),Ne.test(e)&&o.reverse()),this.pushStack(o)}});var qe=/[^\x20\t\r\n\f]+/g;de.Callbacks=function(e){e="string"==typeof e?s(e):de.extend({},e);var t,n,r,o,i=[],a=[],u=-1,c=function(){for(o=e.once,r=t=!0;a.length;u=-1)for(n=a.shift();++u<i.length;)i[u].apply(n[0],n[1])===!1&&e.stopOnFalse&&(u=i.length,n=!1);e.memory||(n=!1),t=!1,o&&(i=n?[]:"")},l={add:function(){return i&&(n&&!t&&(u=i.length-1,a.push(n)),function t(n){de.each(n,function(n,r){de.isFunction(r)?e.unique&&l.has(r)||i.push(r):r&&r.length&&"string"!==de.type(r)&&t(r)})}(arguments),n&&!t&&c()),this},remove:function(){return de.each(arguments,function(e,t){for(var n;(n=de.inArray(t,i,n))>-1;)i.splice(n,1),n<=u&&u--}),this},has:function(e){return e?de.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=a=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=a=[],n||t||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],a.push(n),t||c()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},de.extend({Deferred:function(t){var n=[["notify","progress",de.Callbacks("memory"),de.Callbacks("memory"),2],["resolve","done",de.Callbacks("once memory"),de.Callbacks("once memory"),0,"resolved"],["reject","fail",de.Callbacks("once memory"),de.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return de.Deferred(function(t){de.each(n,function(n,r){var o=de.isFunction(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=o&&o.apply(this,arguments);e&&de.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,r,o){function i(t,n,r,o){return function(){var c=this,l=arguments,f=function(){var e,f;if(!(t<s)){if(e=r.apply(c,l),e===n.promise())throw new TypeError("Thenable self-resolution");f=e&&("object"==typeof e||"function"==typeof e)&&e.then,de.isFunction(f)?o?f.call(e,i(s,n,a,o),i(s,n,u,o)):(s++,f.call(e,i(s,n,a,o),i(s,n,u,o),i(s,n,a,n.notifyWith))):(r!==a&&(c=void 0,l=[e]),(o||n.resolveWith)(c,l))}},p=o?f:function(){try{f()}catch(e){de.Deferred.exceptionHook&&de.Deferred.exceptionHook(e,p.stackTrace),t+1>=s&&(r!==u&&(c=void 0,l=[e]),n.rejectWith(c,l))}};t?p():(de.Deferred.getStackHook&&(p.stackTrace=de.Deferred.getStackHook()),e.setTimeout(p))}}var s=0;return de.Deferred(function(e){n[0][3].add(i(0,e,de.isFunction(o)?o:a,e.notifyWith)),n[1][3].add(i(0,e,de.isFunction(t)?t:a)),n[2][3].add(i(0,e,de.isFunction(r)?r:u))}).promise()},promise:function(e){return null!=e?de.extend(e,o):o}},i={};return de.each(n,function(e,t){var s=t[2],a=t[5];o[t[1]]=s.add,a&&s.add(function(){r=a},n[3-e][2].disable,n[0][2].lock),s.add(t[3].fire),i[t[0]]=function(){return i[t[0]+"With"](this===i?void 0:this,arguments),this},i[t[0]+"With"]=s.fireWith}),o.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=re.call(arguments),i=de.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?re.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&(c(e,i.done(s(n)).resolve,i.reject),"pending"===i.state()||de.isFunction(o[n]&&o[n].then)))return i.then();for(;n--;)c(o[n],s(n),i.reject);return i.promise()}});var De=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;de.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&De.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},de.readyException=function(t){e.setTimeout(function(){throw t})};var Oe=de.Deferred();de.fn.ready=function(e){return Oe.then(e).catch(function(e){de.readyException(e)}),this},de.extend({isReady:!1,readyWait:1,holdReady:function(e){e?de.readyWait++:de.ready(!0)},ready:function(e){(e===!0?--de.readyWait:de.isReady)||(de.isReady=!0,e!==!0&&--de.readyWait>0||Oe.resolveWith(te,[de]))}}),de.ready.then=Oe.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(de.ready):(te.addEventListener("DOMContentLoaded",l),e.addEventListener("load",l));var Le=function(e,t,n,r,o,i,s){var a=0,u=e.length,c=null==n;if("object"===de.type(n)){o=!0;for(a in n)Le(e,t,a,n[a],!0,i,s)}else if(void 0!==r&&(o=!0,de.isFunction(r)||(s=!0),c&&(s?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(de(e),n)})),t))for(;a<u;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return o?e:c?t.call(e):u?t(e[0],n):i},He=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};f.uid=1,f.prototype={cache:function(e){var t=e[this.expando];return t||(t={},He(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,o=this.cache(e);if("string"==typeof t)o[de.camelCase(t)]=n;else for(r in t)o[de.camelCase(r)]=t[r];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][de.camelCase(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){de.isArray(t)?t=t.map(de.camelCase):(t=de.camelCase(t),t=t in r?[t]:t.match(qe)||[]),n=t.length;for(;n--;)delete r[t[n]]}(void 0===t||de.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!de.isEmptyObject(t)}};var Fe=new f,Re=new f,Ie=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Pe=/[A-Z]/g;de.extend({hasData:function(e){return Re.hasData(e)||Fe.hasData(e)},data:function(e,t,n){return Re.access(e,t,n)},removeData:function(e,t){Re.remove(e,t)},_data:function(e,t,n){return Fe.access(e,t,n)},_removeData:function(e,t){Fe.remove(e,t)}}),de.fn.extend({data:function(e,t){var n,r,o,i=this[0],s=i&&i.attributes;if(void 0===e){if(this.length&&(o=Re.get(i),1===i.nodeType&&!Fe.get(i,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&(r=s[n].name,0===r.indexOf("data-")&&(r=de.camelCase(r.slice(5)),h(i,r,o[r])));Fe.set(i,"hasDataAttrs",!0)}return o}return"object"==typeof e?this.each(function(){Re.set(this,e)}):Le(this,function(t){var n;if(i&&void 0===t){if(n=Re.get(i,e),void 0!==n)return n;if(n=h(i,e),void 0!==n)return n}else this.each(function(){Re.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Re.remove(this,e)})}}),de.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||de.isArray(n)?r=Fe.access(e,t,de.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=de.queue(e,t),r=n.length,o=n.shift(),i=de._queueHooks(e,t),s=function(){de.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,s,i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:de.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),de.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?de.queue(this[0],e):void 0===t?this:this.each(function(){var n=de.queue(this,e,t);de._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&de.dequeue(this,e)})},dequeue:function(e){return this.each(function(){de.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,o=de.Deferred(),i=this,s=this.length,a=function(){--r||o.resolveWith(i,[i])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";s--;)n=Fe.get(i[s],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(a));return a(),o.promise(t)}});var Me=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,$e=new RegExp("^(?:([+-])=|)("+Me+")([a-z%]*)$","i"),We=["Top","Right","Bottom","Left"],Be=function(e,t){return e=t||e,"none"===e.style.display||""===e.style.display&&de.contains(e.ownerDocument,e)&&"none"===de.css(e,"display")},_e=function(e,t,n,r){var o,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];o=n.apply(e,r||[]);for(i in t)e.style[i]=s[i];return o},Ue={};de.fn.extend({show:function(){return m(this,!0)},hide:function(){return m(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Be(this)?de(this).show():de(this).hide()})}});var ze=/^(?:checkbox|radio)$/i,Xe=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,Ve=/^$|\/(?:java|ecma)script/i,Ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Ge.optgroup=Ge.option,Ge.tbody=Ge.tfoot=Ge.colgroup=Ge.caption=Ge.thead,Ge.th=Ge.td;var Ye=/<|&#?\w+;/;!function(){var e=te.createDocumentFragment(),t=e.appendChild(te.createElement("div")),n=te.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),pe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",pe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Qe=te.documentElement,Je=/^key/,Ke=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ze=/^([^.]*)(?:\.(.+)|)/;de.event={global:{},add:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.get(e);if(m)for(n.handler&&(i=n,n=i.handler,o=i.selector),o&&de.find.matchesSelector(Qe,o),n.guid||(n.guid=de.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(t){return"undefined"!=typeof de&&de.event.triggered!==t.type?de.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(qe)||[""],c=t.length;c--;)a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h&&(f=de.event.special[h]||{},h=(o?f.delegateType:f.bindType)||h,f=de.event.special[h]||{},l=de.extend({type:h,origType:g,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&de.expr.match.needsContext.test(o),namespace:d.join(".")},i),(p=u[h])||(p=u[h]=[],p.delegateCount=0,f.setup&&f.setup.call(e,r,d,s)!==!1||e.addEventListener&&e.addEventListener(h,s)),f.add&&(f.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),o?p.splice(p.delegateCount++,0,l):p.push(l),de.event.global[h]=!0)},remove:function(e,t,n,r,o){var i,s,a,u,c,l,f,p,h,d,g,m=Fe.hasData(e)&&Fe.get(e);if(m&&(u=m.events)){for(t=(t||"").match(qe)||[""],c=t.length;c--;)if(a=Ze.exec(t[c])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){for(f=de.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,p=u[h]||[],a=a[2]&&new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=i=p.length;i--;)l=p[i],!o&&g!==l.origType||n&&n.guid!==l.guid||a&&!a.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(p.splice(i,1),l.selector&&p.delegateCount--,f.remove&&f.remove.call(e,l));s&&!p.length&&(f.teardown&&f.teardown.call(e,d,m.handle)!==!1||de.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)de.event.remove(e,h+t[c],n,r,!0);de.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,s,a=de.event.fix(e),u=new Array(arguments.length),c=(Fe.get(this,"events")||{})[a.type]||[],l=de.event.special[a.type]||{};for(u[0]=a,t=1;t<arguments.length;t++)u[t]=arguments[t];if(a.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,a)!==!1){for(s=de.event.handlers.call(this,a,c),t=0;(o=s[t++])&&!a.isPropagationStopped();)for(a.currentTarget=o.elem,n=0;(i=o.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(i.namespace)||(a.handleObj=i,a.data=i.data,r=((de.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),void 0!==r&&(a.result=r)===!1&&(a.preventDefault(),a.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,a),a.result}},handlers:function(e,t){var n,r,o,i,s,a=[],u=t.delegateCount,c=e.target;if(u&&c.nodeType&&!("click"===e.type&&e.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||c.disabled!==!0)){for(i=[],s={},n=0;n<u;n++)r=t[n],o=r.selector+" ",void 0===s[o]&&(s[o]=r.needsContext?de(o,this).index(c)>-1:de.find(o,this,null,[c]).length),s[o]&&i.push(r);i.length&&a.push({elem:c,handlers:i})}return c=this,u<t.length&&a.push({elem:c,handlers:t.slice(u)}),a},addProp:function(e,t){Object.defineProperty(de.Event.prototype,e,{enumerable:!0,configurable:!0,get:de.isFunction(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[de.expando]?e:new de.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==T()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===T()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&de.nodeName(this,"input"))return this.click(),!1},_default:function(e){return de.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},de.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},de.Event=function(e,t){return this instanceof de.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?b:w,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&de.extend(this,t),this.timeStamp=e&&e.timeStamp||de.now(),void(this[de.expando]=!0)):new de.Event(e,t)},de.Event.prototype={constructor:de.Event,isDefaultPrevented:w,isPropagationStopped:w,isImmediatePropagationStopped:w,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=b,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=b,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=b,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},de.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Je.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ke.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},de.event.addProp),de.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){de.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,o=e.relatedTarget,i=e.handleObj;return o&&(o===r||de.contains(r,o))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}}),de.fn.extend({on:function(e,t,n,r){return C(this,e,t,n,r)},one:function(e,t,n,r){return C(this,e,t,n,r,1)},off:function(e,t,n){var r,o;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,de(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(o in e)this.off(o,t,e[o]);return this}return t!==!1&&"function"!=typeof t||(n=t,t=void 0),n===!1&&(n=w),this.each(function(){de.event.remove(this,e,n,t)})}});var et=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/<script|<style|<link/i,nt=/checked\s*(?:[^=]|=\s*.checked.)/i,rt=/^true\/(.*)/,ot=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;de.extend({htmlPrefilter:function(e){return e.replace(et,"<$1></$2>")},clone:function(e,t,n){var r,o,i,s,a=e.cloneNode(!0),u=de.contains(e.ownerDocument,e);if(!(pe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||de.isXMLDoc(e)))for(s=v(a),i=v(e),r=0,o=i.length;r<o;r++)N(i[r],s[r]);if(t)if(n)for(i=i||v(e),s=s||v(a),r=0,o=i.length;r<o;r++)S(i[r],s[r]);else S(e,a);return s=v(a,"script"),s.length>0&&y(s,!u&&v(e,"script")),a},cleanData:function(e){for(var t,n,r,o=de.event.special,i=0;void 0!==(n=e[i]);i++)if(He(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)o[r]?de.event.remove(n,r):de.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[Re.expando]&&(n[Re.expando]=void 0)}}}),de.fn.extend({detach:function(e){return q(this,e,!0)},remove:function(e){return q(this,e)},text:function(e){return Le(this,function(e){return void 0===e?de.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.appendChild(e)}})},prepend:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=j(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(de.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return de.clone(this,e,t)})},html:function(e){return Le(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!tt.test(e)&&!Ge[(Xe.exec(e)||["",""])[1].toLowerCase()]){e=de.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(de.cleanData(v(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return A(this,arguments,function(t){var n=this.parentNode;de.inArray(this,e)<0&&(de.cleanData(v(this)),n&&n.replaceChild(t,this))},e)}}),de.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){de.fn[e]=function(e){for(var n,r=[],o=de(e),i=o.length-1,s=0;s<=i;s++)n=s===i?this:this.clone(!0),de(o[s])[t](n),ie.apply(r,n.get());return this.pushStack(r)}});var it=/^margin/,st=new RegExp("^("+Me+")(?!px)[a-z%]+$","i"),at=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)};!function(){function t(){if(a){a.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",Qe.appendChild(s);var t=e.getComputedStyle(a);n="1%"!==t.top,i="2px"===t.marginLeft,r="4px"===t.width,a.style.marginRight="50%",o="4px"===t.marginRight,Qe.removeChild(s),a=null}}var n,r,o,i,s=te.createElement("div"),a=te.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",pe.clearCloneStyle="content-box"===a.style.backgroundClip,s.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",s.appendChild(a),de.extend(pe,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return t(),r},pixelMarginRight:function(){return t(),o},reliableMarginLeft:function(){return t(),i}}))}();var ut=/^(none|table(?!-c[ea]).+)/,ct={position:"absolute",visibility:"hidden",display:"block"},lt={letterSpacing:"0",fontWeight:"400"},ft=["Webkit","Moz","ms"],pt=te.createElement("div").style;de.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=D(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,i,s,a=de.camelCase(t),u=e.style;return t=de.cssProps[a]||(de.cssProps[a]=L(a)||a),s=de.cssHooks[t]||de.cssHooks[a],void 0===n?s&&"get"in s&&void 0!==(o=s.get(e,!1,r))?o:u[t]:(i=typeof n,"string"===i&&(o=$e.exec(n))&&o[1]&&(n=d(e,t,o),i="number"),null!=n&&n===n&&("number"===i&&(n+=o&&o[3]||(de.cssNumber[a]?"":"px")),pe.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,r))||(u[t]=n)),void 0)}},css:function(e,t,n,r){var o,i,s,a=de.camelCase(t);return t=de.cssProps[a]||(de.cssProps[a]=L(a)||a),s=de.cssHooks[t]||de.cssHooks[a],s&&"get"in s&&(o=s.get(e,!0,n)),void 0===o&&(o=D(e,t,r)),"normal"===o&&t in lt&&(o=lt[t]),""===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),de.each(["height","width"],function(e,t){de.cssHooks[t]={get:function(e,n,r){if(n)return!ut.test(de.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?R(e,t,r):_e(e,ct,function(){return R(e,t,r)})},set:function(e,n,r){var o,i=r&&at(e),s=r&&F(e,t,r,"border-box"===de.css(e,"boxSizing",!1,i),i);return s&&(o=$e.exec(n))&&"px"!==(o[3]||"px")&&(e.style[t]=n,n=de.css(e,t)),H(e,n,s)}}}),de.cssHooks.marginLeft=O(pe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(D(e,"marginLeft"))||e.getBoundingClientRect().left-_e(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),de.each({margin:"",padding:"",border:"Width"},function(e,t){de.cssHooks[e+t]={expand:function(n){for(var r=0,o={},i="string"==typeof n?n.split(" "):[n];r<4;r++)o[e+We[r]+t]=i[r]||i[r-2]||i[0];return o}},it.test(e)||(de.cssHooks[e+t].set=H)}),de.fn.extend({css:function(e,t){return Le(this,function(e,t,n){var r,o,i={},s=0;if(de.isArray(t)){for(r=at(e),o=t.length;s<o;s++)i[t[s]]=de.css(e,t[s],!1,r);return i}return void 0!==n?de.style(e,t,n):de.css(e,t)},e,t,arguments.length>1)}}),de.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||de.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(de.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.options.duration?this.pos=t=de.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=de.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){de.fx.step[e.prop]?de.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[de.cssProps[e.prop]]&&!de.cssHooks[e.prop]?e.elem[e.prop]=e.now:de.style(e.elem,e.prop,e.now+e.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},de.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},de.fx=I.prototype.init,de.fx.step={};var ht,dt,gt=/^(?:toggle|show|hide)$/,mt=/queueHooks$/;de.Animation=de.extend(U,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,$e.exec(t),n),n}]},tweener:function(e,t){de.isFunction(e)?(t=e,e=["*"]):e=e.match(qe);for(var n,r=0,o=e.length;r<o;r++)n=e[r],U.tweeners[n]=U.tweeners[n]||[],U.tweeners[n].unshift(t)},prefilters:[B],prefilter:function(e,t){t?U.prefilters.unshift(e):U.prefilters.push(e)}}),de.speed=function(e,t,n){var r=e&&"object"==typeof e?de.extend({},e):{complete:n||!n&&t||de.isFunction(e)&&e,duration:e,easing:n&&t||t&&!de.isFunction(t)&&t};return de.fx.off||te.hidden?r.duration=0:"number"!=typeof r.duration&&(r.duration in de.fx.speeds?r.duration=de.fx.speeds[r.duration]:r.duration=de.fx.speeds._default),null!=r.queue&&r.queue!==!0||(r.queue="fx"),r.old=r.complete,r.complete=function(){de.isFunction(r.old)&&r.old.call(this),r.queue&&de.dequeue(this,r.queue)},r},de.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Be).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){
-var o=de.isEmptyObject(e),i=de.speed(t,n,r),s=function(){var t=U(this,de.extend({},e),i);(o||Fe.get(this,"finish"))&&t.stop(!0)};return s.finish=s,o||i.queue===!1?this.each(s):this.queue(i.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,o=null!=e&&e+"queueHooks",i=de.timers,s=Fe.get(this);if(o)s[o]&&s[o].stop&&r(s[o]);else for(o in s)s[o]&&s[o].stop&&mt.test(o)&&r(s[o]);for(o=i.length;o--;)i[o].elem!==this||null!=e&&i[o].queue!==e||(i[o].anim.stop(n),t=!1,i.splice(o,1));!t&&n||de.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=Fe.get(this),r=n[e+"queue"],o=n[e+"queueHooks"],i=de.timers,s=r?r.length:0;for(n.finish=!0,de.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<s;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),de.each(["toggle","show","hide"],function(e,t){var n=de.fn[t];de.fn[t]=function(e,r,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate($(t,!0),e,r,o)}}),de.each({slideDown:$("show"),slideUp:$("hide"),slideToggle:$("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){de.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),de.timers=[],de.fx.tick=function(){var e,t=0,n=de.timers;for(ht=de.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);n.length||de.fx.stop(),ht=void 0},de.fx.timer=function(e){de.timers.push(e),e()?de.fx.start():de.timers.pop()},de.fx.interval=13,de.fx.start=function(){dt||(dt=e.requestAnimationFrame?e.requestAnimationFrame(P):e.setInterval(de.fx.tick,de.fx.interval))},de.fx.stop=function(){e.cancelAnimationFrame?e.cancelAnimationFrame(dt):e.clearInterval(dt),dt=null},de.fx.speeds={slow:600,fast:200,_default:400},de.fn.delay=function(t,n){return t=de.fx?de.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var o=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(o)}})},function(){var e=te.createElement("input"),t=te.createElement("select"),n=t.appendChild(te.createElement("option"));e.type="checkbox",pe.checkOn=""!==e.value,pe.optSelected=n.selected,e=te.createElement("input"),e.value="t",e.type="radio",pe.radioValue="t"===e.value}();var vt,yt=de.expr.attrHandle;de.fn.extend({attr:function(e,t){return Le(this,de.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){de.removeAttr(this,e)})}}),de.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return"undefined"==typeof e.getAttribute?de.prop(e,t,n):(1===i&&de.isXMLDoc(e)||(o=de.attrHooks[t.toLowerCase()]||(de.expr.match.bool.test(t)?vt:void 0)),void 0!==n?null===n?void de.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:(r=de.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&de.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(qe);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),vt={set:function(e,t,n){return t===!1?de.removeAttr(e,n):e.setAttribute(n,n),n}},de.each(de.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||de.find.attr;yt[t]=function(e,t,r){var o,i,s=t.toLowerCase();return r||(i=yt[s],yt[s]=o,o=null!=n(e,t,r)?s:null,yt[s]=i),o}});var xt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;de.fn.extend({prop:function(e,t){return Le(this,de.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[de.propFix[e]||e]})}}),de.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&de.isXMLDoc(e)||(t=de.propFix[t]||t,o=de.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=de.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),pe.optSelected||(de.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),de.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){de.propFix[this.toLowerCase()]=this}),de.fn.extend({addClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).addClass(e.call(this,t,X(this)))});if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,o,i,s,a,u=0;if(de.isFunction(e))return this.each(function(t){de(this).removeClass(e.call(this,t,X(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(s=0;i=t[s++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");a=z(r),o!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):de.isFunction(e)?this.each(function(n){de(this).toggleClass(e.call(this,n,X(this),t),t)}):this.each(function(){var t,r,o,i;if("string"===n)for(r=0,o=de(this),i=e.match(qe)||[];t=i[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||(t=X(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(X(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;de.fn.extend({val:function(e){var t,n,r,o=this[0];{if(arguments.length)return r=de.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=r?e.call(this,n,de(this).val()):e,null==o?o="":"number"==typeof o?o+="":de.isArray(o)&&(o=de.map(o,function(e){return null==e?"":e+""})),t=de.valHooks[this.type]||de.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return t=de.valHooks[o.type]||de.valHooks[o.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(wt,""):null==n?"":n)}}}),de.extend({valHooks:{option:{get:function(e){var t=de.find.attr(e,"value");return null!=t?t:z(de.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,s="select-one"===e.type,a=s?null:[],u=s?i+1:o.length;for(r=i<0?u:s?i:0;r<u;r++)if(n=o[r],(n.selected||r===i)&&!n.disabled&&(!n.parentNode.disabled||!de.nodeName(n.parentNode,"optgroup"))){if(t=de(n).val(),s)return t;a.push(t)}return a},set:function(e,t){for(var n,r,o=e.options,i=de.makeArray(t),s=o.length;s--;)r=o[s],(r.selected=de.inArray(de.valHooks.option.get(r),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),de.each(["radio","checkbox"],function(){de.valHooks[this]={set:function(e,t){if(de.isArray(t))return e.checked=de.inArray(de(e).val(),t)>-1}},pe.checkOn||(de.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Tt=/^(?:focusinfocus|focusoutblur)$/;de.extend(de.event,{trigger:function(t,n,r,o){var i,s,a,u,c,l,f,p=[r||te],h=ce.call(t,"type")?t.type:t,d=ce.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||te,3!==r.nodeType&&8!==r.nodeType&&!Tt.test(h+de.event.triggered)&&(h.indexOf(".")>-1&&(d=h.split("."),h=d.shift(),d.sort()),c=h.indexOf(":")<0&&"on"+h,t=t[de.expando]?t:new de.Event(h,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=d.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:de.makeArray(n,[t]),f=de.event.special[h]||{},o||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!o&&!f.noBubble&&!de.isWindow(r)){for(u=f.delegateType||h,Tt.test(u+h)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(r.ownerDocument||te)&&p.push(a.defaultView||a.parentWindow||e)}for(i=0;(s=p[i++])&&!t.isPropagationStopped();)t.type=i>1?u:f.bindType||h,l=(Fe.get(s,"events")||{})[t.type]&&Fe.get(s,"handle"),l&&l.apply(s,n),l=c&&s[c],l&&l.apply&&He(s)&&(t.result=l.apply(s,n),t.result===!1&&t.preventDefault());return t.type=h,o||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!He(r)||c&&de.isFunction(r[h])&&!de.isWindow(r)&&(a=r[c],a&&(r[c]=null),de.event.triggered=h,r[h](),de.event.triggered=void 0,a&&(r[c]=a)),t.result}},simulate:function(e,t,n){var r=de.extend(new de.Event,n,{type:e,isSimulated:!0});de.event.trigger(r,null,t)}}),de.fn.extend({trigger:function(e,t){return this.each(function(){de.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return de.event.trigger(e,t,n,!0)}}),de.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){de.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),de.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||de.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){de.event.simulate(t,e.target,de.event.fix(e))};de.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=Fe.access(r,t);o||r.addEventListener(e,n,!0),Fe.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=Fe.access(r,t)-1;o?Fe.access(r,t,o):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var Ct=e.location,jt=de.now(),kt=/\?/;de.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||de.error("Invalid XML: "+t),n};var Et=/\[\]$/,St=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;de.param=function(e,t){var n,r=[],o=function(e,t){var n=de.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(de.isArray(e)||e.jquery&&!de.isPlainObject(e))de.each(e,function(){o(this.name,this.value)});else for(n in e)V(n,e[n],t,o);return r.join("&")},de.fn.extend({serialize:function(){return de.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=de.prop(this,"elements");return e?de.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!de(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!ze.test(e))}).map(function(e,t){var n=de(this).val();return null==n?null:de.isArray(n)?de.map(n,function(e){return{name:t.name,value:e.replace(St,"\r\n")}}):{name:t.name,value:n.replace(St,"\r\n")}}).get()}});var qt=/%20/g,Dt=/#.*$/,Ot=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ht=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ft=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Pt={},Mt="*/".concat("*"),$t=te.createElement("a");$t.href=Ct.href,de.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Ht.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Mt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":de.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Q(Q(e,de.ajaxSettings),t):Q(de.ajaxSettings,e)},ajaxPrefilter:G(It),ajaxTransport:G(Pt),ajax:function(t,n){function r(t,n,r,a){var c,p,h,b,w,T=n;l||(l=!0,u&&e.clearTimeout(u),o=void 0,s=a||"",C.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(b=J(d,C,r)),b=K(d,b,C,c),c?(d.ifModified&&(w=C.getResponseHeader("Last-Modified"),w&&(de.lastModified[i]=w),w=C.getResponseHeader("etag"),w&&(de.etag[i]=w)),204===t||"HEAD"===d.type?T="nocontent":304===t?T="notmodified":(T=b.state,p=b.data,h=b.error,c=!h)):(h=T,!t&&T||(T="error",t<0&&(t=0))),C.status=t,C.statusText=(n||T)+"",c?v.resolveWith(g,[p,T,C]):v.rejectWith(g,[C,T,h]),C.statusCode(x),x=void 0,f&&m.trigger(c?"ajaxSuccess":"ajaxError",[C,d,c?p:h]),y.fireWith(g,[C,T]),f&&(m.trigger("ajaxComplete",[C,d]),--de.active||de.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var o,i,s,a,u,c,l,f,p,h,d=de.ajaxSetup({},n),g=d.context||d,m=d.context&&(g.nodeType||g.jquery)?de(g):de.event,v=de.Deferred(),y=de.Callbacks("once memory"),x=d.statusCode||{},b={},w={},T="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Lt.exec(s);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return l?s:null},setRequestHeader:function(e,t){return null==l&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)C.always(e[C.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||T;return o&&o.abort(t),r(0,t),this}};if(v.promise(C),d.url=((t||d.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(qe)||[""],null==d.crossDomain){c=te.createElement("a");try{c.href=d.url,c.href=c.href,d.crossDomain=$t.protocol+"//"+$t.host!=c.protocol+"//"+c.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=de.param(d.data,d.traditional)),Y(It,d,n,C),l)return C;f=de.event&&d.global,f&&0===de.active++&&de.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Ft.test(d.type),i=d.url.replace(Dt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(qt,"+")):(h=d.url.slice(i.length),d.data&&(i+=(kt.test(i)?"&":"?")+d.data,delete d.data),d.cache===!1&&(i=i.replace(Ot,"$1"),h=(kt.test(i)?"&":"?")+"_="+jt++ +h),d.url=i+h),d.ifModified&&(de.lastModified[i]&&C.setRequestHeader("If-Modified-Since",de.lastModified[i]),de.etag[i]&&C.setRequestHeader("If-None-Match",de.etag[i])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",d.contentType),C.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Mt+"; q=0.01":""):d.accepts["*"]);for(p in d.headers)C.setRequestHeader(p,d.headers[p]);if(d.beforeSend&&(d.beforeSend.call(g,C,d)===!1||l))return C.abort();if(T="abort",y.add(d.complete),C.done(d.success),C.fail(d.error),o=Y(Pt,d,n,C)){if(C.readyState=1,f&&m.trigger("ajaxSend",[C,d]),l)return C;d.async&&d.timeout>0&&(u=e.setTimeout(function(){C.abort("timeout")},d.timeout));try{l=!1,o.send(b,r)}catch(e){if(l)throw e;r(-1,e)}}else r(-1,"No Transport");return C},getJSON:function(e,t,n){return de.get(e,t,n,"json")},getScript:function(e,t){return de.get(e,void 0,t,"script")}}),de.each(["get","post"],function(e,t){de[t]=function(e,n,r,o){return de.isFunction(n)&&(o=o||r,r=n,n=void 0),de.ajax(de.extend({url:e,type:t,dataType:o,data:n,success:r},de.isPlainObject(e)&&e))}}),de._evalUrl=function(e){return de.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},de.fn.extend({wrapAll:function(e){var t;return this[0]&&(de.isFunction(e)&&(e=e.call(this[0])),t=de(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return de.isFunction(e)?this.each(function(t){de(this).wrapInner(e.call(this,t))}):this.each(function(){var t=de(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=de.isFunction(e);return this.each(function(n){de(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){de(this).replaceWith(this.childNodes)}),this}}),de.expr.pseudos.hidden=function(e){return!de.expr.pseudos.visible(e)},de.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},de.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Wt={0:200,1223:204},Bt=de.ajaxSettings.xhr();pe.cors=!!Bt&&"withCredentials"in Bt,pe.ajax=Bt=!!Bt,de.ajaxTransport(function(t){var n,r;if(pe.cors||Bt&&!t.crossDomain)return{send:function(o,i){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(s in o)a.setRequestHeader(s,o[s]);n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?i(0,"error"):i(a.status,a.statusText):i(Wt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=n("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),de.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),de.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return de.globalEval(e),e}}}),de.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),de.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,o){t=de("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),te.head.appendChild(t[0])},abort:function(){n&&n()}}}});var _t=[],Ut=/(=)\?(?=&|$)|\?\?/;de.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=_t.pop()||de.expando+"_"+jt++;return this[e]=!0,e}}),de.ajaxPrefilter("json jsonp",function(t,n,r){var o,i,s,a=t.jsonp!==!1&&(Ut.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(t.data)&&"data");if(a||"jsonp"===t.dataTypes[0])return o=t.jsonpCallback=de.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(Ut,"$1"+o):t.jsonp!==!1&&(t.url+=(kt.test(t.url)?"&":"?")+t.jsonp+"="+o),t.converters["script json"]=function(){return s||de.error(o+" was not called"),s[0]},t.dataTypes[0]="json",i=e[o],e[o]=function(){s=arguments},r.always(function(){void 0===i?de(e).removeProp(o):e[o]=i,t[o]&&(t.jsonpCallback=n.jsonpCallback,_t.push(o)),s&&de.isFunction(i)&&i(s[0]),s=i=void 0}),"script"}),pe.createHTMLDocument=function(){var e=te.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),de.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var r,o,i;return t||(pe.createHTMLDocument?(t=te.implementation.createHTMLDocument(""),r=t.createElement("base"),r.href=te.location.href,t.head.appendChild(r)):t=te),o=Ce.exec(e),i=!n&&[],o?[t.createElement(o[1])]:(o=x([e],t,i),i&&i.length&&de(i).remove(),de.merge([],o.childNodes))},de.fn.load=function(e,t,n){var r,o,i,s=this,a=e.indexOf(" ");return a>-1&&(r=z(e.slice(a)),e=e.slice(0,a)),de.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(o="POST"),s.length>0&&de.ajax({url:e,type:o||"GET",dataType:"html",data:t}).done(function(e){i=arguments,s.html(r?de("<div>").append(de.parseHTML(e)).find(r):e)}).always(n&&function(e,t){s.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},de.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){de.fn[t]=function(e){return this.on(t,e)}}),de.expr.pseudos.animated=function(e){return de.grep(de.timers,function(t){return e===t.elem}).length},de.offset={setOffset:function(e,t,n){var r,o,i,s,a,u,c,l=de.css(e,"position"),f=de(e),p={};"static"===l&&(e.style.position="relative"),a=f.offset(),i=de.css(e,"top"),u=de.css(e,"left"),c=("absolute"===l||"fixed"===l)&&(i+u).indexOf("auto")>-1,c?(r=f.position(),s=r.top,o=r.left):(s=parseFloat(i)||0,o=parseFloat(u)||0),de.isFunction(t)&&(t=t.call(e,n,de.extend({},a))),null!=t.top&&(p.top=t.top-a.top+s),null!=t.left&&(p.left=t.left-a.left+o),"using"in t?t.using.call(e,p):f.css(p)}},de.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){de.offset.setOffset(this,e,t)});var t,n,r,o,i=this[0];if(i)return i.getClientRects().length?(r=i.getBoundingClientRect(),r.width||r.height?(o=i.ownerDocument,n=Z(o),t=o.documentElement,{top:r.top+n.pageYOffset-t.clientTop,left:r.left+n.pageXOffset-t.clientLeft}):r):{top:0,left:0}},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===de.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),de.nodeName(e[0],"html")||(r=e.offset()),r={top:r.top+de.css(e[0],"borderTopWidth",!0),left:r.left+de.css(e[0],"borderLeftWidth",!0)}),{top:t.top-r.top-de.css(n,"marginTop",!0),left:t.left-r.left-de.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===de.css(e,"position");)e=e.offsetParent;return e||Qe})}}),de.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;de.fn[e]=function(r){return Le(this,function(e,r,o){var i=Z(e);return void 0===o?i?i[t]:e[r]:void(i?i.scrollTo(n?i.pageXOffset:o,n?o:i.pageYOffset):e[r]=o)},e,r,arguments.length)}}),de.each(["top","left"],function(e,t){de.cssHooks[t]=O(pe.pixelPosition,function(e,n){if(n)return n=D(e,t),st.test(n)?de(e).position()[t]+"px":n})}),de.each({Height:"height",Width:"width"},function(e,t){de.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){de.fn[r]=function(o,i){var s=arguments.length&&(n||"boolean"!=typeof o),a=n||(o===!0||i===!0?"margin":"border");return Le(this,function(t,n,o){var i;return de.isWindow(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===o?de.css(t,n,a):de.style(t,n,o,a)},t,s?o:void 0,s)}})}),de.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),de.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return de});var zt=e.jQuery,Xt=e.$;return de.noConflict=function(t){return e.$===de&&(e.$=Xt),t&&e.jQuery===de&&(e.jQuery=zt),de},t||(e.jQuery=e.$=de),de})},{}],2:[function(e,t,n){(function(e){function t(e,t){for(var n=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function r(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}var o=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,i=function(e){return o.exec(e).slice(1)};n.resolve=function(){for(var n="",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var s=i>=0?arguments[i]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(n=s+"/"+n,o="/"===s.charAt(0))}return n=t(r(n.split("/"),function(e){return!!e}),!o).join("/"),(o?"/":"")+n||"."},n.normalize=function(e){var o=n.isAbsolute(e),i="/"===s(e,-1);return e=t(r(e.split("/"),function(e){return!!e}),!o).join("/"),e||o||(e="."),e&&i&&(e+="/"),(o?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(r(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},n.relative=function(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var o=r(e.split("/")),i=r(t.split("/")),s=Math.min(o.length,i.length),a=s,u=0;u<s;u++)if(o[u]!==i[u]){a=u;break}for(var c=[],u=a;u<o.length;u++)c.push("..");return c=c.concat(i.slice(a)),c.join("/")},n.sep="/",n.delimiter=":",n.dirname=function(e){var t=i(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},n.basename=function(e,t){var n=i(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},n.extname=function(e){return i(e)[3]};var s="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,e("_process"))},{_process:3}],3:[function(e,t,n){function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function i(e){if(f===setTimeout)return setTimeout(e,0);if((f===r||!f)&&setTimeout)return f=setTimeout,setTimeout(e,0);try{return f(e,0)}catch(t){try{return f.call(null,e,0)}catch(t){return f.call(this,e,0)}}}function s(e){if(p===clearTimeout)return clearTimeout(e);if((p===o||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(e);try{return p(e)}catch(t){try{return p.call(null,e)}catch(t){return p.call(this,e)}}}function a(){m&&d&&(m=!1,d.length?g=d.concat(g):v=-1,g.length&&u())}function u(){if(!m){var e=i(a);m=!0;for(var t=g.length;t;){for(d=g,g=[];++v<t;)d&&d[v].run();v=-1,t=g.length}d=null,m=!1,s(e)}}function c(e,t){this.fun=e,this.array=t}function l(){}var f,p,h=t.exports={};!function(){try{f="function"==typeof setTimeout?setTimeout:r}catch(e){f=r}try{p="function"==typeof clearTimeout?clearTimeout:o}catch(e){p=o}}();var d,g=[],m=!1,v=-1;h.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];g.push(new c(e,t)),1!==g.length||m||i(u)},c.prototype.run=function(){this.fun.apply(null,this.array)},h.title="browser",h.browser=!0,h.env={},h.argv=[],h.version="",h.versions={},h.on=l,h.addListener=l,h.once=l,h.off=l,h.removeListener=l,h.removeAllListeners=l,h.emit=l,h.binding=function(e){throw new Error("process.binding is not supported")},h.cwd=function(){return"/"},h.chdir=function(e){throw new Error("process.chdir is not supported")},h.umask=function(){return 0}},{}],4:[function(e,t,n){(function(e){!function(r){function o(e){throw new RangeError(L[e])}function i(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function s(e,t){var n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(O,".");var o=e.split("."),s=i(o,t).join(".");return r+s}function a(e){for(var t,n,r=[],o=0,i=e.length;o<i;)t=e.charCodeAt(o++),t>=55296&&t<=56319&&o<i?(n=e.charCodeAt(o++),56320==(64512&n)?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),o--)):r.push(t);return r}function u(e){return i(e,function(e){var t="";return e>65535&&(e-=65536,t+=R(e>>>10&1023|55296),e=56320|1023&e),t+=R(e)}).join("")}function c(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:T}function l(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function f(e,t,n){var r=0;for(e=n?F(e/E):e>>1,e+=F(e/t);e>H*j>>1;r+=T)e=F(e/H);return F(r+(H+1)*e/(e+k))}function p(e){var t,n,r,i,s,a,l,p,h,d,g=[],m=e.length,v=0,y=N,x=S;for(n=e.lastIndexOf(A),n<0&&(n=0),r=0;r<n;++r)e.charCodeAt(r)>=128&&o("not-basic"),g.push(e.charCodeAt(r));for(i=n>0?n+1:0;i<m;){for(s=v,a=1,l=T;i>=m&&o("invalid-input"),p=c(e.charCodeAt(i++)),(p>=T||p>F((w-v)/a))&&o("overflow"),v+=p*a,h=l<=x?C:l>=x+j?j:l-x,!(p<h);l+=T)d=T-h,a>F(w/d)&&o("overflow"),a*=d;t=g.length+1,x=f(v-s,t,0==s),F(v/t)>w-y&&o("overflow"),y+=F(v/t),v%=t,g.splice(v++,0,y)}return u(g)}function h(e){var t,n,r,i,s,u,c,p,h,d,g,m,v,y,x,b=[];for(e=a(e),m=e.length,t=N,n=0,s=S,u=0;u<m;++u)g=e[u],g<128&&b.push(R(g));for(r=i=b.length,i&&b.push(A);r<m;){for(c=w,u=0;u<m;++u)g=e[u],g>=t&&g<c&&(c=g);for(v=r+1,c-t>F((w-n)/v)&&o("overflow"),n+=(c-t)*v,t=c,u=0;u<m;++u)if(g=e[u],g<t&&++n>w&&o("overflow"),g==t){for(p=n,h=T;d=h<=s?C:h>=s+j?j:h-s,!(p<d);h+=T)x=p-d,y=T-d,b.push(R(l(d+x%y,0))),p=F(x/y);b.push(R(l(p,0))),s=f(n,v,r==i),n=0,++r}++n,++t}return b.join("")}function d(e){return s(e,function(e){return q.test(e)?p(e.slice(4).toLowerCase()):e})}function g(e){return s(e,function(e){return D.test(e)?"xn--"+h(e):e})}var m="object"==typeof n&&n&&!n.nodeType&&n,v="object"==typeof t&&t&&!t.nodeType&&t,y="object"==typeof e&&e;y.global!==y&&y.window!==y&&y.self!==y||(r=y);var x,b,w=2147483647,T=36,C=1,j=26,k=38,E=700,S=72,N=128,A="-",q=/^xn--/,D=/[^\x20-\x7E]/,O=/[\x2E\u3002\uFF0E\uFF61]/g,L={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},H=T-C,F=Math.floor,R=String.fromCharCode;if(x={version:"1.4.1",ucs2:{decode:a,encode:u},decode:p,encode:h,toASCII:g,toUnicode:d},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return x});else if(m&&v)if(t.exports==m)v.exports=x;else for(b in x)x.hasOwnProperty(b)&&(m[b]=x[b]);else r.punycode=x}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],5:[function(e,t,n){"use strict";function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.exports=function(e,t,n,i){t=t||"&",n=n||"=";var s={};if("string"!=typeof e||0===e.length)return s;var a=/\+/g;e=e.split(t);var u=1e3;i&&"number"==typeof i.maxKeys&&(u=i.maxKeys);var c=e.length;u>0&&c>u&&(c=u);for(var l=0;l<c;++l){var f,p,h,d,g=e[l].replace(a,"%20"),m=g.indexOf(n);m>=0?(f=g.substr(0,m),p=g.substr(m+1)):(f=g,p=""),h=decodeURIComponent(f),d=decodeURIComponent(p),r(s,h)?o(s[h])?s[h].push(d):s[h]=[s[h],d]:s[h]=d}return s};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],6:[function(e,t,n){"use strict";function r(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++)n.push(t(e[r],r));return n}var o=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};t.exports=function(e,t,n,a){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?r(s(e),function(s){var a=encodeURIComponent(o(s))+n;return i(e[s])?r(e[s],function(e){return a+encodeURIComponent(o(e))}).join(t):a+encodeURIComponent(o(e[s]))}).join(t):a?encodeURIComponent(o(a))+n+encodeURIComponent(o(e)):""};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},s=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}},{}],7:[function(e,t,n){"use strict";n.decode=n.parse=e("./decode"),n.encode=n.stringify=e("./encode")},{"./decode":5,"./encode":6}],8:[function(e,t,n){"use strict";function r(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function o(e,t,n){if(e&&c.isObject(e)&&e instanceof r)return e;var o=new r;return o.parse(e,t,n),
-o}function i(e){return c.isString(e)&&(e=o(e)),e instanceof r?e.format():r.prototype.format.call(e)}function s(e,t){return o(e,!1,!0).resolve(t)}function a(e,t){return e?o(e,!1,!0).resolveObject(t):t}var u=e("punycode"),c=e("./util");n.parse=o,n.resolve=s,n.resolveObject=a,n.format=i,n.Url=r;var l=/^([a-z0-9.+-]+:)/i,f=/:[0-9]*$/,p=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,h=["<",">",'"',"`"," ","\r","\n","\t"],d=["{","}","|","\\","^","`"].concat(h),g=["'"].concat(d),m=["%","/","?",";","#"].concat(g),v=["/","?","#"],y=255,x=/^[+a-z0-9A-Z_-]{0,63}$/,b=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,w={javascript:!0,"javascript:":!0},T={javascript:!0,"javascript:":!0},C={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},j=e("querystring");r.prototype.parse=function(e,t,n){if(!c.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var r=e.indexOf("?"),o=r!==-1&&r<e.indexOf("#")?"?":"#",i=e.split(o),s=/\\/g;i[0]=i[0].replace(s,"/"),e=i.join(o);var a=e;if(a=a.trim(),!n&&1===e.split("#").length){var f=p.exec(a);if(f)return this.path=a,this.href=a,this.pathname=f[1],f[2]?(this.search=f[2],t?this.query=j.parse(this.search.substr(1)):this.query=this.search.substr(1)):t&&(this.search="",this.query={}),this}var h=l.exec(a);if(h){h=h[0];var d=h.toLowerCase();this.protocol=d,a=a.substr(h.length)}if(n||h||a.match(/^\/\/[^@\/]+@[^@\/]+/)){var k="//"===a.substr(0,2);!k||h&&T[h]||(a=a.substr(2),this.slashes=!0)}if(!T[h]&&(k||h&&!C[h])){for(var E=-1,S=0;S<v.length;S++){var N=a.indexOf(v[S]);N!==-1&&(E===-1||N<E)&&(E=N)}var A,q;q=E===-1?a.lastIndexOf("@"):a.lastIndexOf("@",E),q!==-1&&(A=a.slice(0,q),a=a.slice(q+1),this.auth=decodeURIComponent(A)),E=-1;for(var S=0;S<m.length;S++){var N=a.indexOf(m[S]);N!==-1&&(E===-1||N<E)&&(E=N)}E===-1&&(E=a.length),this.host=a.slice(0,E),a=a.slice(E),this.parseHost(),this.hostname=this.hostname||"";var D="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!D)for(var O=this.hostname.split(/\./),S=0,L=O.length;S<L;S++){var H=O[S];if(H&&!H.match(x)){for(var F="",R=0,I=H.length;R<I;R++)F+=H.charCodeAt(R)>127?"x":H[R];if(!F.match(x)){var P=O.slice(0,S),M=O.slice(S+1),$=H.match(b);$&&(P.push($[1]),M.unshift($[2])),M.length&&(a="/"+M.join(".")+a),this.hostname=P.join(".");break}}}this.hostname.length>y?this.hostname="":this.hostname=this.hostname.toLowerCase(),D||(this.hostname=u.toASCII(this.hostname));var W=this.port?":"+this.port:"",B=this.hostname||"";this.host=B+W,this.href+=this.host,D&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==a[0]&&(a="/"+a))}if(!w[d])for(var S=0,L=g.length;S<L;S++){var _=g[S];if(a.indexOf(_)!==-1){var U=encodeURIComponent(_);U===_&&(U=escape(_)),a=a.split(_).join(U)}}var z=a.indexOf("#");z!==-1&&(this.hash=a.substr(z),a=a.slice(0,z));var X=a.indexOf("?");if(X!==-1?(this.search=a.substr(X),this.query=a.substr(X+1),t&&(this.query=j.parse(this.query)),a=a.slice(0,X)):t&&(this.search="",this.query={}),a&&(this.pathname=a),C[d]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var W=this.pathname||"",V=this.search||"";this.path=W+V}return this.href=this.format(),this},r.prototype.format=function(){var e=this.auth||"";e&&(e=encodeURIComponent(e),e=e.replace(/%3A/i,":"),e+="@");var t=this.protocol||"",n=this.pathname||"",r=this.hash||"",o=!1,i="";this.host?o=e+this.host:this.hostname&&(o=e+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&c.isObject(this.query)&&Object.keys(this.query).length&&(i=j.stringify(this.query));var s=this.search||i&&"?"+i||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||C[t])&&o!==!1?(o="//"+(o||""),n&&"/"!==n.charAt(0)&&(n="/"+n)):o||(o=""),r&&"#"!==r.charAt(0)&&(r="#"+r),s&&"?"!==s.charAt(0)&&(s="?"+s),n=n.replace(/[?#]/g,function(e){return encodeURIComponent(e)}),s=s.replace("#","%23"),t+o+n+s+r},r.prototype.resolve=function(e){return this.resolveObject(o(e,!1,!0)).format()},r.prototype.resolveObject=function(e){if(c.isString(e)){var t=new r;t.parse(e,!1,!0),e=t}for(var n=new r,o=Object.keys(this),i=0;i<o.length;i++){var s=o[i];n[s]=this[s]}if(n.hash=e.hash,""===e.href)return n.href=n.format(),n;if(e.slashes&&!e.protocol){for(var a=Object.keys(e),u=0;u<a.length;u++){var l=a[u];"protocol"!==l&&(n[l]=e[l])}return C[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname="/"),n.href=n.format(),n}if(e.protocol&&e.protocol!==n.protocol){if(!C[e.protocol]){for(var f=Object.keys(e),p=0;p<f.length;p++){var h=f[p];n[h]=e[h]}return n.href=n.format(),n}if(n.protocol=e.protocol,e.host||T[e.protocol])n.pathname=e.pathname;else{for(var d=(e.pathname||"").split("/");d.length&&!(e.host=d.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==d[0]&&d.unshift(""),d.length<2&&d.unshift(""),n.pathname=d.join("/")}if(n.search=e.search,n.query=e.query,n.host=e.host||"",n.auth=e.auth,n.hostname=e.hostname||e.host,n.port=e.port,n.pathname||n.search){var g=n.pathname||"",m=n.search||"";n.path=g+m}return n.slashes=n.slashes||e.slashes,n.href=n.format(),n}var v=n.pathname&&"/"===n.pathname.charAt(0),y=e.host||e.pathname&&"/"===e.pathname.charAt(0),x=y||v||n.host&&e.pathname,b=x,w=n.pathname&&n.pathname.split("/")||[],d=e.pathname&&e.pathname.split("/")||[],j=n.protocol&&!C[n.protocol];if(j&&(n.hostname="",n.port=null,n.host&&(""===w[0]?w[0]=n.host:w.unshift(n.host)),n.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===d[0]?d[0]=e.host:d.unshift(e.host)),e.host=null),x=x&&(""===d[0]||""===w[0])),y)n.host=e.host||""===e.host?e.host:n.host,n.hostname=e.hostname||""===e.hostname?e.hostname:n.hostname,n.search=e.search,n.query=e.query,w=d;else if(d.length)w||(w=[]),w.pop(),w=w.concat(d),n.search=e.search,n.query=e.query;else if(!c.isNullOrUndefined(e.search)){if(j){n.hostname=n.host=w.shift();var k=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");k&&(n.auth=k.shift(),n.host=n.hostname=k.shift())}return n.search=e.search,n.query=e.query,c.isNull(n.pathname)&&c.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!w.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var E=w.slice(-1)[0],S=(n.host||e.host||w.length>1)&&("."===E||".."===E)||""===E,N=0,A=w.length;A>=0;A--)E=w[A],"."===E?w.splice(A,1):".."===E?(w.splice(A,1),N++):N&&(w.splice(A,1),N--);if(!x&&!b)for(;N--;N)w.unshift("..");!x||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),S&&"/"!==w.join("/").substr(-1)&&w.push("");var q=""===w[0]||w[0]&&"/"===w[0].charAt(0);if(j){n.hostname=n.host=q?"":w.length?w.shift():"";var k=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");k&&(n.auth=k.shift(),n.host=n.hostname=k.shift())}return x=x||n.host&&w.length,x&&!q&&w.unshift(""),w.length?n.pathname=w.join("/"):(n.pathname=null,n.path=null),c.isNull(n.pathname)&&c.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},r.prototype.parseHost=function(){var e=this.host,t=f.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},{"./util":9,punycode:4,querystring:7}],9:[function(e,t,n){"use strict";t.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},{}],10:[function(e,t,n){var r=e("jquery");t.exports=r({})},{jquery:1}],11:[function(e,t,n){var r=e("jquery"),o=e("./events"),i=e("./storage"),s=e("./page"),a=!1,u=window.gitbook||[],c={events:o,page:s,state:s.getState(),storage:i,push:function(e){a?e():u.push(e)}},l={gitbook:c,jquery:r};window.gitbook=c,window.$=r,window.jQuery=r,window.require=function(e,t){e=e.map(function(e){if(e=e.toLowerCase(),!l[e])throw new Error("GitBook module "+e+" doesn't exist");return l[e]}),t.apply(null,e)},r(document).ready(function(){a=!0,r.each(u,function(e,t){t()})})},{"./events":10,"./page":12,"./storage":13,jquery:1}],12:[function(e,t,n){function r(e){console.log("page has changed",e),o(e),l||(l=!0,c.trigger("start",e.config.pluginsConfig)),c.trigger("page.change")}function o(e){f.page=e.page,f.file=e.file,f.gitbook=e.gitbook,f.config=e.config,f.basePath=e.basePath,f.book=e.book,f.$book=s(".book"),f.revision=f.gitbook.time,f.level=f.page.level,f.filepath=f.file.path,f.chapterTitle=f.page.title,f.innerLanguage=f.book.language||"",f.root=a.resolve(location.protocol+"//"+location.host,u.dirname(u.resolve(location.pathname.replace(/\/$/,"/index.html"),f.basePath))).replace(/\/?$/,"/"),f.bookRoot=f.innerLanguage?a.resolve(f.root,".."):f.root}function i(){return f}var s=e("jquery"),a=e("url"),u=e("path"),c=e("./events"),l=!1,f={};t.exports={hasChanged:r,setState:o,getState:i}},{"./events":10,jquery:1,path:2,url:8}],13:[function(e,t,n){var r="";t.exports={setBaseKey:function(e){r=e},set:function(e,t){e=r+":"+e;try{localStorage[e]=JSON.stringify(t)}catch(e){}},get:function(e,t){var n;e=r+":"+e;try{n=localStorage[e]}catch(e){}if(void 0===n)return t;try{var o=JSON.parse(n);return null==o?t:o}catch(e){return n||t}},remove:function(e){e=r+":"+e;try{localStorage.removeItem(e)}catch(e){}}}},{}]},{},[11]);
diff --git a/user-guide/gitbook/images/apple-touch-icon-precomposed-152.png b/user-guide/gitbook/images/apple-touch-icon-precomposed-152.png
deleted file mode 100644
index f0adcfd..0000000
--- a/user-guide/gitbook/images/apple-touch-icon-precomposed-152.png
+++ /dev/null
Binary files differ
diff --git a/user-guide/gitbook/images/favicon.ico b/user-guide/gitbook/images/favicon.ico
deleted file mode 100644
index 9ee99fa..0000000
--- a/user-guide/gitbook/images/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/user-guide/gitbook/style.css b/user-guide/gitbook/style.css
deleted file mode 100644
index 9dbba3d..0000000
--- a/user-guide/gitbook/style.css
+++ /dev/null
@@ -1,9 +0,0 @@
-/*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.link-inherit{color:inherit}.link-inherit:focus,.link-inherit:hover{color:inherit}.hidden{display:none}.alert{padding:15px;margin-bottom:20px;color:#444;background:#eee;border-bottom:5px solid #ddd}.alert-success{background:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-info{background:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-danger{background:#f2dede;border-color:#ebccd1;color:#a94442}.alert-warning{background:#fcf8e3;border-color:#faebcc;color:#8a6d3b}/*!
- *  Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome
- *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome/fontawesome-webfont.eot?v=4.6.3);src:url(fonts/fontawesome/fontawesome-webfont.eot?#iefix&v=4.6.3) format('embedded-opentype'),url(fonts/fontawesome/fontawesome-webfont.woff2?v=4.6.3) format('woff2'),url(fonts/fontawesome/fontawesome-webfont.woff?v=4.6.3) format('woff'),url(fonts/fontawesome/fontawesome-webfont.ttf?v=4.6.3) format('truetype'),url(fonts/fontawesome/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}/*!
- * Preboot v2
- *
- * Open sourced under MIT license by @mdo.
- * Some variables and mixins from Bootstrap (Apache 2 license).
- */.book-langs-index{width:100%;height:100%;padding:40px 0;margin:0;overflow:auto}@media (max-width:600px){.book-langs-index{padding:0}}.book-langs-index .inner{max-width:600px;width:100%;margin:0 auto;padding:30px;background:#fff;border-radius:3px}.book-langs-index .inner h3{margin:0}.book-langs-index .inner .languages{list-style:none;padding:20px 30px;margin-top:20px;border-top:1px solid #eee}.book-langs-index .inner .languages:after,.book-langs-index .inner .languages:before{content:" ";display:table;line-height:0}.book-langs-index .inner .languages:after{clear:both}.book-langs-index .inner .languages li{width:50%;float:left;padding:10px 5px;font-size:16px}@media (max-width:600px){.book-langs-index .inner .languages li{width:100%;max-width:100%}}.book-header{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;overflow:visible;height:50px;padding:0 8px;z-index:2;font-size:.85em;color:#7e888b;background:0 0}.book-header .btn{display:block;height:50px;padding:0 15px;border-bottom:none;color:#ccc;text-transform:uppercase;line-height:50px;-webkit-box-shadow:none!important;box-shadow:none!important;position:relative;font-size:14px}.book-header .btn:hover{position:relative;text-decoration:none;color:#444;background:0 0}.book-header .btn:focus{outline:0}.book-header h1{margin:0;font-size:20px;font-weight:200;text-align:center;line-height:50px;opacity:0;-webkit-transition:opacity ease .4s;-moz-transition:opacity ease .4s;-o-transition:opacity ease .4s;transition:opacity ease .4s;padding-left:200px;padding-right:200px;-webkit-transition:opacity .2s ease;-moz-transition:opacity .2s ease;-o-transition:opacity .2s ease;transition:opacity .2s ease;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-header h1 a,.book-header h1 a:hover{color:inherit;text-decoration:none}@media (max-width:1000px){.book-header h1{display:none}}.book-header h1 i{display:none}.book-header:hover h1{opacity:1}.book.is-loading .book-header h1 i{display:inline-block}.book.is-loading .book-header h1 a{display:none}.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;z-index:100;display:none;float:left;min-width:160px;padding:0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fafafa;border:1px solid rgba(0,0,0,.07);border-radius:1px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.open{display:block}.dropdown-menu.dropdown-left{left:auto;right:4%}.dropdown-menu.dropdown-left .dropdown-caret{right:14px;left:auto}.dropdown-menu .dropdown-caret{position:absolute;top:-8px;left:14px;width:18px;height:10px;float:left;overflow:hidden}.dropdown-menu .dropdown-caret .caret-outer{position:absolute;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid rgba(0,0,0,.1);height:auto;left:0;top:0;width:auto;display:inline-block;margin-left:-1px}.dropdown-menu .dropdown-caret .caret-inner{position:absolute;display:inline-block;margin-top:-1px;top:0;top:1px;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid #fafafa}.dropdown-menu .buttons{border-bottom:1px solid rgba(0,0,0,.07)}.dropdown-menu .buttons:after,.dropdown-menu .buttons:before{content:" ";display:table;line-height:0}.dropdown-menu .buttons:after{clear:both}.dropdown-menu .buttons:last-child{border-bottom:none}.dropdown-menu .buttons .button{border:0;background-color:transparent;color:#a6a6a6;width:100%;text-align:center;float:left;line-height:1.42857143;padding:8px 4px}.dropdown-menu .buttons .button:hover{color:#444}.dropdown-menu .buttons .button:focus,.dropdown-menu .buttons .button:hover{outline:0}.dropdown-menu .buttons .button.size-2{width:50%}.dropdown-menu .buttons .button.size-3{width:33%}.book-summary{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;position:absolute;top:0;left:-300px;bottom:0;z-index:1;overflow-y:auto;width:300px;color:#364149;background:#fafafa;border-right:1px solid rgba(0,0,0,.07);-webkit-transition:left 250ms ease;-moz-transition:left 250ms ease;-o-transition:left 250ms ease;transition:left 250ms ease}.book-summary ul.summary{list-style:none;margin:0;padding:0;-webkit-transition:top .5s ease;-moz-transition:top .5s ease;-o-transition:top .5s ease;transition:top .5s ease}.book-summary ul.summary li{list-style:none}.book-summary ul.summary li.header{padding:10px 15px;padding-top:20px;text-transform:uppercase;color:#939da3}.book-summary ul.summary li.divider{height:1px;margin:7px 0;overflow:hidden;background:rgba(0,0,0,.07)}.book-summary ul.summary li i.fa-check{display:none;position:absolute;right:9px;top:16px;font-size:9px;color:#3c3}.book-summary ul.summary li.done>a{color:#364149;font-weight:400}.book-summary ul.summary li.done>a i{display:inline}.book-summary ul.summary li a,.book-summary ul.summary li span{display:block;padding:10px 15px;border-bottom:none;color:#364149;background:0 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;position:relative}.book-summary ul.summary li a:hover{text-decoration:underline}.book-summary ul.summary li a:focus{outline:0}.book-summary ul.summary li.active>a{color:#008cff;background:0 0;text-decoration:none}.book-summary ul.summary li ul{padding-left:20px}@media (max-width:600px){.book-summary{width:calc(100% - 60px);bottom:0;left:-100%}}.book.with-summary .book-summary{left:0}.book.without-animation .book-summary{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.book{position:relative;width:100%;height:100%}@media (min-width:600px){.book.with-summary .book-body{left:300px}}@media (max-width:600px){.book.with-summary{overflow:hidden}.book.with-summary .book-body{-webkit-transform:translate(calc(100% - 60px),0);-moz-transform:translate(calc(100% - 60px),0);-ms-transform:translate(calc(100% - 60px),0);-o-transform:translate(calc(100% - 60px),0);transform:translate(calc(100% - 60px),0)}}.book.without-animation .book-body{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.book-body{position:absolute;top:0;right:0;left:0;bottom:0;overflow-y:auto;color:#000;background:#fff;-webkit-transition:left 250ms ease;-moz-transition:left 250ms ease;-o-transition:left 250ms ease;transition:left 250ms ease}.book-body .body-inner{position:absolute;top:0;right:0;left:0;bottom:0;overflow-y:auto}@media (max-width:1240px){.book-body{-webkit-transition:-webkit-transform 250ms ease;-moz-transition:-moz-transform 250ms ease;-o-transition:-o-transform 250ms ease;transition:transform 250ms ease;padding-bottom:20px}.book-body .body-inner{position:static;min-height:calc(100% - 50px)}}.page-wrapper{position:relative;outline:0}.page-inner{position:relative;max-width:800px;margin:0 auto;padding:20px 15px 40px 15px}.page-inner .btn-group .btn{border-radius:0;background:#eee;border:0}.buttons:after,.buttons:before{content:" ";display:table;line-height:0}.buttons:after{clear:both}.button{border:0;background-color:transparent;background:#eee;color:#666;width:100%;text-align:center;float:left;line-height:1.42857143;padding:8px 4px}.button:hover{color:#444}.button:focus,.button:hover{outline:0}.button.size-2{width:50%}.button.size-3{width:33%}.markdown-section{display:block;word-wrap:break-word;overflow:hidden;color:#333;line-height:1.7;text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%}.markdown-section *{box-sizing:border-box;-webkit-box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section>:last-child{margin-bottom:0!important}.markdown-section blockquote,.markdown-section code,.markdown-section figure,.markdown-section img,.markdown-section pre,.markdown-section table,.markdown-section tr{page-break-inside:avoid}.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section h5,.markdown-section p{orphans:3;widows:3}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section h5{page-break-after:avoid}.markdown-section b,.markdown-section strong{font-weight:700}.markdown-section em{font-style:italic}.markdown-section blockquote,.markdown-section dl,.markdown-section ol,.markdown-section p,.markdown-section table,.markdown-section ul{margin-top:0;margin-bottom:.85em}.markdown-section a{color:#4183c4;text-decoration:none;background:0 0}.markdown-section a:active,.markdown-section a:focus,.markdown-section a:hover{outline:0;text-decoration:underline}.markdown-section img{border:0;max-width:100%}.markdown-section hr{height:4px;padding:0;margin:1.7em 0;overflow:hidden;background-color:#e7e7e7;border:none}.markdown-section hr:after,.markdown-section hr:before{display:table;content:" "}.markdown-section hr:after{clear:both}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section h5,.markdown-section h6{margin-top:1.275em;margin-bottom:.85em;font-weight:700}.markdown-section h1{font-size:2em}.markdown-section h2{font-size:1.75em}.markdown-section h3{font-size:1.5em}.markdown-section h4{font-size:1.25em}.markdown-section h5{font-size:1em}.markdown-section h6{font-size:1em;color:#777}.markdown-section code,.markdown-section pre{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;direction:ltr;margin:0;padding:0;border:none;color:inherit}.markdown-section pre{overflow:auto;word-wrap:normal;margin:0;padding:.85em 1em;margin-bottom:1.275em;background:#f7f7f7}.markdown-section pre>code{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;font-size:.85em;white-space:pre;background:0 0}.markdown-section pre>code:after,.markdown-section pre>code:before{content:normal}.markdown-section code{padding:.2em;margin:0;font-size:.85em;background-color:#f7f7f7}.markdown-section code:after,.markdown-section code:before{letter-spacing:-.2em;content:"\00a0"}.markdown-section table{display:table;width:100%;border-collapse:collapse;border-spacing:0;overflow:auto}.markdown-section table td,.markdown-section table th{padding:6px 13px;border:1px solid #ddd}.markdown-section table tr{background-color:#fff;border-top:1px solid #ccc}.markdown-section table tr:nth-child(2n){background-color:#f8f8f8}.markdown-section table th{font-weight:700}.markdown-section ol,.markdown-section ul{padding:0;margin:0;margin-bottom:.85em;padding-left:2em}.markdown-section ol ol,.markdown-section ol ul,.markdown-section ul ol,.markdown-section ul ul{margin-top:0;margin-bottom:0}.markdown-section ol ol{list-style-type:lower-roman}.markdown-section blockquote{margin:0;margin-bottom:.85em;padding:0 15px;color:#858585;border-left:4px solid #e5e5e5}.markdown-section blockquote:first-child{margin-top:0}.markdown-section blockquote:last-child{margin-bottom:0}.markdown-section dl{padding:0}.markdown-section dl dt{padding:0;margin-top:.85em;font-style:italic;font-weight:700}.markdown-section dl dd{padding:0 .85em;margin-bottom:.85em}.markdown-section dd{margin-left:0}.markdown-section .glossary-term{cursor:help;text-decoration:underline}.navigation{position:absolute;top:50px;bottom:0;margin:0;max-width:150px;min-width:90px;display:flex;justify-content:center;align-content:center;flex-direction:column;font-size:40px;color:#ccc;text-align:center;-webkit-transition:all 350ms ease;-moz-transition:all 350ms ease;-o-transition:all 350ms ease;transition:all 350ms ease}.navigation:hover{text-decoration:none;color:#444}.navigation.navigation-next{right:0}.navigation.navigation-prev{left:0}@media (max-width:1240px){.navigation{position:static;top:auto;max-width:50%;width:50%;display:inline-block;float:left}.navigation.navigation-unique{max-width:100%;width:100%}}#book-search-input{padding:6px;background:0 0;transition:top .5s ease;background:#fff;border-bottom:1px solid rgba(0,0,0,.07);border-top:1px solid rgba(0,0,0,.07);margin-bottom:10px;margin-top:-1px}#book-search-input input,#book-search-input input:focus,#book-search-input input:hover{width:100%;background:0 0;border:1px solid transparent;box-shadow:none;outline:0;line-height:22px;padding:7px 7px;color:inherit}#book-search-results{opacity:1}#book-search-results .search-results .search-results-title{text-transform:uppercase;text-align:center;font-weight:200;margin-bottom:35px;opacity:.6}#book-search-results .search-results .has-results .search-results-item{display:block;word-wrap:break-word;overflow:hidden;color:#333;line-height:1.7;text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%}#book-search-results .search-results .has-results .search-results-item *{box-sizing:border-box;-webkit-box-sizing:border-box;font-size:inherit}#book-search-results .search-results .has-results .search-results-item>:first-child{margin-top:0!important}#book-search-results .search-results .has-results .search-results-item>:last-child{margin-bottom:0!important}#book-search-results .search-results .has-results .search-results-item blockquote,#book-search-results .search-results .has-results .search-results-item code,#book-search-results .search-results .has-results .search-results-item figure,#book-search-results .search-results .has-results .search-results-item img,#book-search-results .search-results .has-results .search-results-item pre,#book-search-results .search-results .has-results .search-results-item table,#book-search-results .search-results .has-results .search-results-item tr{page-break-inside:avoid}#book-search-results .search-results .has-results .search-results-item h2,#book-search-results .search-results .has-results .search-results-item h3,#book-search-results .search-results .has-results .search-results-item h4,#book-search-results .search-results .has-results .search-results-item h5,#book-search-results .search-results .has-results .search-results-item p{orphans:3;widows:3}#book-search-results .search-results .has-results .search-results-item h1,#book-search-results .search-results .has-results .search-results-item h2,#book-search-results .search-results .has-results .search-results-item h3,#book-search-results .search-results .has-results .search-results-item h4,#book-search-results .search-results .has-results .search-results-item h5{page-break-after:avoid}#book-search-results .search-results .has-results .search-results-item b,#book-search-results .search-results .has-results .search-results-item strong{font-weight:700}#book-search-results .search-results .has-results .search-results-item em{font-style:italic}#book-search-results .search-results .has-results .search-results-item blockquote,#book-search-results .search-results .has-results .search-results-item dl,#book-search-results .search-results .has-results .search-results-item ol,#book-search-results .search-results .has-results .search-results-item p,#book-search-results .search-results .has-results .search-results-item table,#book-search-results .search-results .has-results .search-results-item ul{margin-top:0;margin-bottom:.85em}#book-search-results .search-results .has-results .search-results-item a{color:#4183c4;text-decoration:none;background:0 0}#book-search-results .search-results .has-results .search-results-item a:active,#book-search-results .search-results .has-results .search-results-item a:focus,#book-search-results .search-results .has-results .search-results-item a:hover{outline:0;text-decoration:underline}#book-search-results .search-results .has-results .search-results-item img{border:0;max-width:100%}#book-search-results .search-results .has-results .search-results-item hr{height:4px;padding:0;margin:1.7em 0;overflow:hidden;background-color:#e7e7e7;border:none}#book-search-results .search-results .has-results .search-results-item hr:after,#book-search-results .search-results .has-results .search-results-item hr:before{display:table;content:" "}#book-search-results .search-results .has-results .search-results-item hr:after{clear:both}#book-search-results .search-results .has-results .search-results-item h1,#book-search-results .search-results .has-results .search-results-item h2,#book-search-results .search-results .has-results .search-results-item h3,#book-search-results .search-results .has-results .search-results-item h4,#book-search-results .search-results .has-results .search-results-item h5,#book-search-results .search-results .has-results .search-results-item h6{margin-top:1.275em;margin-bottom:.85em;font-weight:700}#book-search-results .search-results .has-results .search-results-item h1{font-size:2em}#book-search-results .search-results .has-results .search-results-item h2{font-size:1.75em}#book-search-results .search-results .has-results .search-results-item h3{font-size:1.5em}#book-search-results .search-results .has-results .search-results-item h4{font-size:1.25em}#book-search-results .search-results .has-results .search-results-item h5{font-size:1em}#book-search-results .search-results .has-results .search-results-item h6{font-size:1em;color:#777}#book-search-results .search-results .has-results .search-results-item code,#book-search-results .search-results .has-results .search-results-item pre{font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;direction:ltr;margin:0;padding:0;border:none;color:inherit}#book-search-results .search-results .has-results .search-results-item pre{overflow:auto;word-wrap:normal;margin:0;padding:.85em 1em;margin-bottom:1.275em;background:#f7f7f7}#book-search-results .search-results .has-results .search-results-item pre>code{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;font-size:.85em;white-space:pre;background:0 0}#book-search-results .search-results .has-results .search-results-item pre>code:after,#book-search-results .search-results .has-results .search-results-item pre>code:before{content:normal}#book-search-results .search-results .has-results .search-results-item code{padding:.2em;margin:0;font-size:.85em;background-color:#f7f7f7}#book-search-results .search-results .has-results .search-results-item code:after,#book-search-results .search-results .has-results .search-results-item code:before{letter-spacing:-.2em;content:"\00a0"}#book-search-results .search-results .has-results .search-results-item table{display:table;width:100%;border-collapse:collapse;border-spacing:0;overflow:auto}#book-search-results .search-results .has-results .search-results-item table td,#book-search-results .search-results .has-results .search-results-item table th{padding:6px 13px;border:1px solid #ddd}#book-search-results .search-results .has-results .search-results-item table tr{background-color:#fff;border-top:1px solid #ccc}#book-search-results .search-results .has-results .search-results-item table tr:nth-child(2n){background-color:#f8f8f8}#book-search-results .search-results .has-results .search-results-item table th{font-weight:700}#book-search-results .search-results .has-results .search-results-item ol,#book-search-results .search-results .has-results .search-results-item ul{padding:0;margin:0;margin-bottom:.85em;padding-left:2em}#book-search-results .search-results .has-results .search-results-item ol ol,#book-search-results .search-results .has-results .search-results-item ol ul,#book-search-results .search-results .has-results .search-results-item ul ol,#book-search-results .search-results .has-results .search-results-item ul ul{margin-top:0;margin-bottom:0}#book-search-results .search-results .has-results .search-results-item ol ol{list-style-type:lower-roman}#book-search-results .search-results .has-results .search-results-item blockquote{margin:0;margin-bottom:.85em;padding:0 15px;color:#858585;border-left:4px solid #e5e5e5}#book-search-results .search-results .has-results .search-results-item blockquote:first-child{margin-top:0}#book-search-results .search-results .has-results .search-results-item blockquote:last-child{margin-bottom:0}#book-search-results .search-results .has-results .search-results-item dl{padding:0}#book-search-results .search-results .has-results .search-results-item dl dt{padding:0;margin-top:.85em;font-style:italic;font-weight:700}#book-search-results .search-results .has-results .search-results-item dl dd{padding:0 .85em;margin-bottom:.85em}#book-search-results .search-results .has-results .search-results-item dd{margin-left:0}#book-search-results .search-results .has-results .search-results-item h3{margin-top:0;margin-bottom:0}#book-search-results .search-results .no-results{padding:40px 0}body.search-loading #book-search-results{opacity:.3}body.with-search .navigation{display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:none;-webkit-touch-callout:none;-webkit-font-smoothing:antialiased}a{text-decoration:none}body,html{height:100%}html{font-size:62.5%}body{text-rendering:optimizeLegibility;font-smoothing:antialiased;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;letter-spacing:.2px;text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}
\ No newline at end of file
diff --git a/user-guide/gitbook/theme.js b/user-guide/gitbook/theme.js
deleted file mode 100644
index 4c22928..0000000
--- a/user-guide/gitbook/theme.js
+++ /dev/null
@@ -1,4 +0,0 @@
-!function e(t,n,r){function o(a,s){if(!n[a]){if(!t[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(i)return i(a,!0);var l=new Error("Cannot find module '"+a+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[a]={exports:{}};t[a][0].call(c.exports,function(e){var n=t[a][1][e];return o(n?n:e)},c,c.exports,e,t,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(e,t,n){!function(e,n){"use strict";"object"==typeof t&&"object"==typeof t.exports?t.exports=e.document?n(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(e,t){t=t||te;var n=t.createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function r(e){var t=!!e&&"length"in e&&e.length,n=de.type(e);return"function"!==n&&!de.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function o(e,t,n){return de.isFunction(t)?de.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?de.grep(e,function(e){return e===t!==n}):"string"!=typeof t?de.grep(e,function(e){return ae.call(t,e)>-1!==n}):ke.test(t)?de.filter(t,e,n):(t=de.filter(t,e),de.grep(e,function(e){return ae.call(t,e)>-1!==n&&1===e.nodeType}))}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){var t={};return de.each(e.match(qe)||[],function(e,n){t[n]=!0}),t}function s(e){return e}function u(e){throw e}function l(e,t,n){var r;try{e&&de.isFunction(r=e.promise)?r.call(e).done(t).fail(n):e&&de.isFunction(r=e.then)?r.call(e,t,n):t.call(void 0,e)}catch(e){n.call(void 0,e)}}function c(){te.removeEventListener("DOMContentLoaded",c),e.removeEventListener("load",c),de.ready()}function f(){this.expando=de.expando+f.uid++}function p(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Ie.test(e)?JSON.parse(e):e)}function h(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Re,"-$&").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n=p(n)}catch(e){}Pe.set(e,t,n)}else n=void 0;return n}function d(e,t,n,r){var o,i=1,a=20,s=r?function(){return r.cur()}:function(){return de.css(e,t,"")},u=s(),l=n&&n[3]||(de.cssNumber[t]?"":"px"),c=(de.cssNumber[t]||"px"!==l&&+u)&&$e.exec(de.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do i=i||".5",c/=i,de.style(e,t,c+l);while(i!==(i=s()/u)&&1!==i&&--a)}return n&&(c=+c||+u||0,o=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=o)),o}function g(e){var t,n=e.ownerDocument,r=e.nodeName,o=Ue[r];return o?o:(t=n.body.appendChild(n.createElement(r)),o=de.css(t,"display"),t.parentNode.removeChild(t),"none"===o&&(o="block"),Ue[r]=o,o)}function m(e,t){for(var n,r,o=[],i=0,a=e.length;i<a;i++)r=e[i],r.style&&(n=r.style.display,t?("none"===n&&(o[i]=Fe.get(r,"display")||null,o[i]||(r.style.display="")),""===r.style.display&&We(r)&&(o[i]=g(r))):"none"!==n&&(o[i]="none",Fe.set(r,"display",n)));for(i=0;i<a;i++)null!=o[i]&&(e[i].style.display=o[i]);return e}function v(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&de.nodeName(e,t)?de.merge([e],n):n}function y(e,t){for(var n=0,r=e.length;n<r;n++)Fe.set(e[n],"globalEval",!t||Fe.get(t[n],"globalEval"))}function b(e,t,n,r,o){for(var i,a,s,u,l,c,f=t.createDocumentFragment(),p=[],h=0,d=e.length;h<d;h++)if(i=e[h],i||0===i)if("object"===de.type(i))de.merge(p,i.nodeType?[i]:i);else if(Ge.test(i)){for(a=a||f.appendChild(t.createElement("div")),s=(Xe.exec(i)||["",""])[1].toLowerCase(),u=Ve[s]||Ve._default,a.innerHTML=u[1]+de.htmlPrefilter(i)+u[2],c=u[0];c--;)a=a.lastChild;de.merge(p,a.childNodes),a=f.firstChild,a.textContent=""}else p.push(t.createTextNode(i));for(f.textContent="",h=0;i=p[h++];)if(r&&de.inArray(i,r)>-1)o&&o.push(i);else if(l=de.contains(i.ownerDocument,i),a=v(f.appendChild(i),"script"),l&&y(a),n)for(c=0;i=a[c++];)Ke.test(i.type||"")&&n.push(i);return f}function x(){return!0}function w(){return!1}function C(){try{return te.activeElement}catch(e){}}function T(e,t,n,r,o,i){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)T(e,s,n,r,t[s],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&("string"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),o===!1)o=w;else if(!o)return e;return 1===i&&(a=o,o=function(e){return de().off(e),a.apply(this,arguments)},o.guid=a.guid||(a.guid=de.guid++)),e.each(function(){de.event.add(this,t,o,r,n)})}function k(e,t){return de.nodeName(e,"table")&&de.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e:e}function j(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function E(e){var t=rt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function N(e,t){var n,r,o,i,a,s,u,l;if(1===t.nodeType){if(Fe.hasData(e)&&(i=Fe.access(e),a=Fe.set(t,i),l=i.events)){delete a.handle,a.events={};for(o in l)for(n=0,r=l[o].length;n<r;n++)de.event.add(t,o,l[o][n])}Pe.hasData(e)&&(s=Pe.access(e),u=de.extend({},s),Pe.set(t,u))}}function S(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ze.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function A(e,t,r,o){t=oe.apply([],t);var i,a,s,u,l,c,f=0,p=e.length,h=p-1,d=t[0],g=de.isFunction(d);if(g||p>1&&"string"==typeof d&&!pe.checkClone&&nt.test(d))return e.each(function(n){var i=e.eq(n);g&&(t[0]=d.call(this,n,i.html())),A(i,t,r,o)});if(p&&(i=b(t,e[0].ownerDocument,!1,e,o),a=i.firstChild,1===i.childNodes.length&&(i=a),a||o)){for(s=de.map(v(i,"script"),j),u=s.length;f<p;f++)l=i,f!==h&&(l=de.clone(l,!0,!0),u&&de.merge(s,v(l,"script"))),r.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,de.map(s,E),f=0;f<u;f++)l=s[f],Ke.test(l.type||"")&&!Fe.access(l,"globalEval")&&de.contains(c,l)&&(l.src?de._evalUrl&&de._evalUrl(l.src):n(l.textContent.replace(ot,""),c))}return e}function q(e,t,n){for(var r,o=t?de.filter(t,e):e,i=0;null!=(r=o[i]);i++)n||1!==r.nodeType||de.cleanData(v(r)),r.parentNode&&(n&&de.contains(r.ownerDocument,r)&&y(v(r,"script")),r.parentNode.removeChild(r));return e}function D(e,t,n){var r,o,i,a,s=e.style;return n=n||st(e),n&&(a=n.getPropertyValue(t)||n[t],""!==a||de.contains(e.ownerDocument,e)||(a=de.style(e,t)),!pe.pixelMarginRight()&&at.test(a)&&it.test(t)&&(r=s.width,o=s.minWidth,i=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=o,s.maxWidth=i)),void 0!==a?a+"":a}function O(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function L(e){if(e in pt)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=ft.length;n--;)if(e=ft[n]+t,e in pt)return e}function H(e,t,n){var r=$e.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function F(e,t,n,r,o){var i,a=0;for(i=n===(r?"border":"content")?4:"width"===t?1:0;i<4;i+=2)"margin"===n&&(a+=de.css(e,n+_e[i],!0,o)),r?("content"===n&&(a-=de.css(e,"padding"+_e[i],!0,o)),"margin"!==n&&(a-=de.css(e,"border"+_e[i]+"Width",!0,o))):(a+=de.css(e,"padding"+_e[i],!0,o),"padding"!==n&&(a+=de.css(e,"border"+_e[i]+"Width",!0,o)));return a}function P(e,t,n){var r,o=!0,i=st(e),a="border-box"===de.css(e,"boxSizing",!1,i);if(e.getClientRects().length&&(r=e.getBoundingClientRect()[t]),r<=0||null==r){if(r=D(e,t,i),(r<0||null==r)&&(r=e.style[t]),at.test(r))return r;o=a&&(pe.boxSizingReliable()||r===e.style[t]),r=parseFloat(r)||0}return r+F(e,t,n||(a?"border":"content"),o,i)+"px"}function I(e,t,n,r,o){return new I.prototype.init(e,t,n,r,o)}function R(){dt&&(e.requestAnimationFrame(R),de.fx.tick())}function M(){return e.setTimeout(function(){ht=void 0}),ht=de.now()}function $(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)n=_e[r],o["margin"+n]=o["padding"+n]=e;return t&&(o.opacity=o.width=e),o}function _(e,t,n){for(var r,o=(U.tweeners[t]||[]).concat(U.tweeners["*"]),i=0,a=o.length;i<a;i++)if(r=o[i].call(n,t,e))return r}function W(e,t,n){var r,o,i,a,s,u,l,c,f="width"in t||"height"in t,p=this,h={},d=e.style,g=e.nodeType&&We(e),v=Fe.get(e,"fxshow");n.queue||(a=de._queueHooks(e,"fx"),null==a.unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,de.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(o=t[r],gt.test(o)){if(delete t[r],i=i||"toggle"===o,o===(g?"hide":"show")){if("show"!==o||!v||void 0===v[r])continue;g=!0}h[r]=v&&v[r]||de.style(e,r)}if(u=!de.isEmptyObject(t),u||!de.isEmptyObject(h)){f&&1===e.nodeType&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],l=v&&v.display,null==l&&(l=Fe.get(e,"display")),c=de.css(e,"display"),"none"===c&&(l?c=l:(m([e],!0),l=e.style.display||l,c=de.css(e,"display"),m([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===de.css(e,"float")&&(u||(p.done(function(){d.display=l}),null==l&&(c=d.display,l="none"===c?"":c)),d.display="inline-block")),n.overflow&&(d.overflow="hidden",p.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]})),u=!1;for(r in h)u||(v?"hidden"in v&&(g=v.hidden):v=Fe.access(e,"fxshow",{display:l}),i&&(v.hidden=!g),g&&m([e],!0),p.done(function(){g||m([e]),Fe.remove(e,"fxshow");for(r in h)de.style(e,r,h[r])})),u=_(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}}function B(e,t){var n,r,o,i,a;for(n in e)if(r=de.camelCase(n),o=t[r],i=e[n],de.isArray(i)&&(o=i[1],i=e[n]=i[0]),n!==r&&(e[r]=i,delete e[n]),a=de.cssHooks[r],a&&"expand"in a){i=a.expand(i),delete e[r];for(n in i)n in e||(e[n]=i[n],t[n]=o)}else t[r]=o}function U(e,t,n){var r,o,i=0,a=U.prefilters.length,s=de.Deferred().always(function(){delete u.elem}),u=function(){if(o)return!1;for(var t=ht||M(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,i=1-r,a=0,u=l.tweens.length;a<u;a++)l.tweens[a].run(i);return s.notifyWith(e,[l,i,n]),i<1&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:de.extend({},t),opts:de.extend(!0,{specialEasing:{},easing:de.easing._default},n),originalProperties:t,originalOptions:n,startTime:ht||M(),duration:n.duration,tweens:[],createTween:function(t,n){var r=de.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(o)return this;for(o=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(B(c,l.opts.specialEasing);i<a;i++)if(r=U.prefilters[i].call(l,e,c,l.opts))return de.isFunction(r.stop)&&(de._queueHooks(l.elem,l.opts.queue).stop=de.proxy(r.stop,r)),r;return de.map(c,_,l),de.isFunction(l.opts.start)&&l.opts.start.call(e,l),de.fx.timer(de.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function z(e){var t=e.match(qe)||[];return t.join(" ")}function X(e){return e.getAttribute&&e.getAttribute("class")||""}function K(e,t,n,r){var o;if(de.isArray(t))de.each(t,function(t,o){n||Et.test(e)?r(e,o):K(e+"["+("object"==typeof o&&null!=o?t:"")+"]",o,n,r)});else if(n||"object"!==de.type(t))r(e,t);else for(o in t)K(e+"["+o+"]",t[o],n,r)}function V(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,o=0,i=t.toLowerCase().match(qe)||[];if(de.isFunction(n))for(;r=i[o++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function G(e,t,n,r){function o(s){var u;return i[s]=!0,de.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||a||i[l]?a?!(u=l):void 0:(t.dataTypes.unshift(l),o(l),!1)}),u}var i={},a=e===Rt;return o(t.dataTypes[0])||!i["*"]&&o("*")}function Y(e,t){var n,r,o=de.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:r||(r={}))[n]=t[n]);return r&&de.extend(!0,e,r),e}function Q(e,t,n){for(var r,o,i,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(o in s)if(s[o]&&s[o].test(r)){u.unshift(o);break}if(u[0]in n)i=u[0];else{for(o in n){if(!u[0]||e.converters[o+" "+u[0]]){i=o;break}a||(a=o)}i=i||a}if(i)return i!==u[0]&&u.unshift(i),n[i]}function J(e,t,n,r){var o,i,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(i=c.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=i,i=c.shift())if("*"===i)i=u;else if("*"!==u&&u!==i){if(a=l[u+" "+i]||l["* "+i],!a)for(o in l)if(s=o.split(" "),s[1]===i&&(a=l[u+" "+s[0]]||l["* "+s[0]])){a===!0?a=l[o]:l[o]!==!0&&(i=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+i}}}return{state:"success",data:t}}function Z(e){return de.isWindow(e)?e:9===e.nodeType&&e.defaultView}var ee=[],te=e.document,ne=Object.getPrototypeOf,re=ee.slice,oe=ee.concat,ie=ee.push,ae=ee.indexOf,se={},ue=se.toString,le=se.hasOwnProperty,ce=le.toString,fe=ce.call(Object),pe={},he="3.1.1",de=function(e,t){return new de.fn.init(e,t)},ge=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,me=/^-ms-/,ve=/-([a-z])/g,ye=function(e,t){return t.toUpperCase()};de.fn=de.prototype={jquery:he,constructor:de,length:0,toArray:function(){return re.call(this)},get:function(e){return null==e?re.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=de.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return de.each(this,e)},map:function(e){return this.pushStack(de.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(re.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:ie,sort:ee.sort,splice:ee.splice},de.extend=de.fn.extend=function(){var e,t,n,r,o,i,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||de.isFunction(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],r=e[t],a!==r&&(l&&r&&(de.isPlainObject(r)||(o=de.isArray(r)))?(o?(o=!1,i=n&&de.isArray(n)?n:[]):i=n&&de.isPlainObject(n)?n:{},a[t]=de.extend(l,i,r)):void 0!==r&&(a[t]=r));return a},de.extend({expando:"jQuery"+(he+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===de.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=de.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==ue.call(e))&&(!(t=ne(e))||(n=le.call(t,"constructor")&&t.constructor,"function"==typeof n&&ce.call(n)===fe))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?se[ue.call(e)]||"object":typeof e},globalEval:function(e){n(e)},camelCase:function(e){return e.replace(me,"ms-").replace(ve,ye)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var n,o=0;if(r(e))for(n=e.length;o<n&&t.call(e[o],o,e[o])!==!1;o++);else for(o in e)if(t.call(e[o],o,e[o])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(ge,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(r(Object(e))?de.merge(n,"string"==typeof e?[e]:e):ie.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:ae.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,o=e.length;r<n;r++)e[o++]=t[r];return e.length=o,e},grep:function(e,t,n){for(var r,o=[],i=0,a=e.length,s=!n;i<a;i++)r=!t(e[i],i),r!==s&&o.push(e[i]);return o},map:function(e,t,n){var o,i,a=0,s=[];if(r(e))for(o=e.length;a<o;a++)i=t(e[a],a,n),null!=i&&s.push(i);else for(a in e)i=t(e[a],a,n),null!=i&&s.push(i);return oe.apply([],s)},guid:1,proxy:function(e,t){var n,r,o;if("string"==typeof t&&(n=e[t],t=e,e=n),de.isFunction(e))return r=re.call(arguments,2),o=function(){return e.apply(t||this,r.concat(re.call(arguments)))},o.guid=e.guid=e.guid||de.guid++,o},now:Date.now,support:pe}),"function"==typeof Symbol&&(de.fn[Symbol.iterator]=ee[Symbol.iterator]),de.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){se["[object "+t+"]"]=t.toLowerCase()});var be=function(e){function t(e,t,n,r){var o,i,a,s,u,l,c,p=t&&t.ownerDocument,d=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==d&&9!==d&&11!==d)return n;if(!r&&((t?t.ownerDocument||t:_)!==L&&O(t),t=t||L,F)){if(11!==d&&(u=ve.exec(e)))if(o=u[1]){if(9===d){if(!(a=t.getElementById(o)))return n;if(a.id===o)return n.push(a),n}else if(p&&(a=p.getElementById(o))&&M(t,a)&&a.id===o)return n.push(a),n}else{if(u[2])return J.apply(n,t.getElementsByTagName(e)),n;if((o=u[3])&&C.getElementsByClassName&&t.getElementsByClassName)return J.apply(n,t.getElementsByClassName(o)),n}if(C.qsa&&!X[e+" "]&&(!P||!P.test(e))){if(1!==d)p=t,c=e;else if("object"!==t.nodeName.toLowerCase()){for((s=t.getAttribute("id"))?s=s.replace(we,Ce):t.setAttribute("id",s=$),l=E(e),i=l.length;i--;)l[i]="#"+s+" "+h(l[i]);c=l.join(","),p=ye.test(e)&&f(t.parentNode)||t}if(c)try{return J.apply(n,p.querySelectorAll(c)),n}catch(e){}finally{s===$&&t.removeAttribute("id")}}}return S(e.replace(se,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>T.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[$]=!0,e}function o(e){var t=L.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function i(e,t){for(var n=e.split("|"),r=n.length;r--;)T.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function l(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ke(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function c(e){return r(function(t){return t=+t,r(function(n,r){for(var o,i=e([],n.length,t),a=i.length;a--;)n[o=i[a]]&&(n[o]=!(r[o]=n[o]))})})}function f(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function h(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function d(e,t,n){var r=t.dir,o=t.next,i=o||r,a=n&&"parentNode"===i,s=B++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,o);return!1}:function(t,n,u){var l,c,f,p=[W,s];if(u){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(f=t[$]||(t[$]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),o&&o===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[i])&&l[0]===W&&l[1]===s)return p[2]=l[2];if(c[i]=p,p[2]=e(t,n,u))return!0}return!1}}function g(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function m(e,n,r){for(var o=0,i=n.length;o<i;o++)t(e,n[o],r);return r}function v(e,t,n,r,o){for(var i,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(i=e[s])&&(n&&!n(i,r,o)||(a.push(i),l&&t.push(s)));return a}function y(e,t,n,o,i,a){return o&&!o[$]&&(o=y(o)),i&&!i[$]&&(i=y(i,a)),r(function(r,a,s,u){var l,c,f,p=[],h=[],d=a.length,g=r||m(t||"*",s.nodeType?[s]:s,[]),y=!e||!r&&t?g:v(g,p,e,s,u),b=n?i||(r?e:d||o)?[]:a:y;if(n&&n(y,b,s,u),o)for(l=v(b,h),o(l,[],s,u),c=l.length;c--;)(f=l[c])&&(b[h[c]]=!(y[h[c]]=f));if(r){if(i||e){if(i){for(l=[],c=b.length;c--;)(f=b[c])&&l.push(y[c]=f);i(null,b=[],l,u)}for(c=b.length;c--;)(f=b[c])&&(l=i?ee(r,f):p[c])>-1&&(r[l]=!(a[l]=f))}}else b=v(b===a?b.splice(d,b.length):b),i?i(null,a,b,u):J.apply(a,b)})}function b(e){for(var t,n,r,o=e.length,i=T.relative[e[0].type],a=i||T.relative[" "],s=i?1:0,u=d(function(e){return e===t},a,!0),l=d(function(e){return ee(t,e)>-1},a,!0),c=[function(e,n,r){var o=!i&&(r||n!==A)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,o}];s<o;s++)if(n=T.relative[e[s].type])c=[d(g(c),n)];else{if(n=T.filter[e[s].type].apply(null,e[s].matches),n[$]){for(r=++s;r<o&&!T.relative[e[r].type];r++);return y(s>1&&g(c),s>1&&h(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s<r&&b(e.slice(s,r)),r<o&&b(e=e.slice(r)),r<o&&h(e))}c.push(n)}return g(c)}function x(e,n){var o=n.length>0,i=e.length>0,a=function(r,a,s,u,l){var c,f,p,h=0,d="0",g=r&&[],m=[],y=A,b=r||i&&T.find.TAG("*",l),x=W+=null==y?1:Math.random()||.1,w=b.length;for(l&&(A=a===L||a||l);d!==w&&null!=(c=b[d]);d++){if(i&&c){for(f=0,a||c.ownerDocument===L||(O(c),s=!F);p=e[f++];)if(p(c,a||L,s)){u.push(c);break}l&&(W=x)}o&&((c=!p&&c)&&h--,r&&g.push(c))}if(h+=d,o&&d!==h){for(f=0;p=n[f++];)p(g,m,a,s);if(r){if(h>0)for(;d--;)g[d]||m[d]||(m[d]=Y.call(u));m=v(m)}J.apply(u,m),l&&!r&&m.length>0&&h+n.length>1&&t.uniqueSort(u)}return l&&(W=x,A=y),g};return o?r(a):a}var w,C,T,k,j,E,N,S,A,q,D,O,L,H,F,P,I,R,M,$="sizzle"+1*new Date,_=e.document,W=0,B=0,U=n(),z=n(),X=n(),K=function(e,t){return e===t&&(D=!0),0},V={}.hasOwnProperty,G=[],Y=G.pop,Q=G.push,J=G.push,Z=G.slice,ee=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",re="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",oe="\\["+ne+"*("+re+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+re+"))|)"+ne+"*\\]",ie=":("+re+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+oe+")*)|.*)\\)|)",ae=new RegExp(ne+"+","g"),se=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),ue=new RegExp("^"+ne+"*,"+ne+"*"),le=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),ce=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(ie),pe=new RegExp("^"+re+"$"),he={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ie),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},de=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,be=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),xe=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},we=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Ce=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Te=function(){O()},ke=d(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{J.apply(G=Z.call(_.childNodes),_.childNodes),G[_.childNodes.length].nodeType}catch(e){J={apply:G.length?function(e,t){Q.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}C=t.support={},j=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},O=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:_;return r!==L&&9===r.nodeType&&r.documentElement?(L=r,H=L.documentElement,F=!j(L),_!==L&&(n=L.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Te,!1):n.attachEvent&&n.attachEvent("onunload",Te)),C.attributes=o(function(e){return e.className="i",!e.getAttribute("className")}),C.getElementsByTagName=o(function(e){return e.appendChild(L.createComment("")),!e.getElementsByTagName("*").length}),C.getElementsByClassName=me.test(L.getElementsByClassName),C.getById=o(function(e){return H.appendChild(e).id=$,!L.getElementsByName||!L.getElementsByName($).length}),C.getById?(T.filter.ID=function(e){var t=e.replace(be,xe);return function(e){return e.getAttribute("id")===t}},T.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n=t.getElementById(e);return n?[n]:[]}}):(T.filter.ID=function(e){var t=e.replace(be,xe);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},T.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&F){var n,r,o,i=t.getElementById(e);if(i){if(n=i.getAttributeNode("id"),n&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if(n=i.getAttributeNode("id"),n&&n.value===e)return[i]}return[]}}),T.find.TAG=C.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):C.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},T.find.CLASS=C.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&F)return t.getElementsByClassName(e)},I=[],P=[],(C.qsa=me.test(L.querySelectorAll))&&(o(function(e){H.appendChild(e).innerHTML="<a id='"+$+"'></a><select id='"+$+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&P.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||P.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+$+"-]").length||P.push("~="),e.querySelectorAll(":checked").length||P.push(":checked"),e.querySelectorAll("a#"+$+"+*").length||P.push(".#.+[+~]")}),o(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=L.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&P.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&P.push(":enabled",":disabled"),H.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&P.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),P.push(",.*:")})),(C.matchesSelector=me.test(R=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&o(function(e){C.disconnectedMatch=R.call(e,"*"),R.call(e,"[s!='']:x"),I.push("!=",ie)}),P=P.length&&new RegExp(P.join("|")),I=I.length&&new RegExp(I.join("|")),t=me.test(H.compareDocumentPosition),M=t||me.test(H.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},K=t?function(e,t){if(e===t)return D=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!C.sortDetached&&t.compareDocumentPosition(e)===n?e===L||e.ownerDocument===_&&M(_,e)?-1:t===L||t.ownerDocument===_&&M(_,t)?1:q?ee(q,e)-ee(q,t):0:4&n?-1:1)}:function(e,t){if(e===t)return D=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,s=[e],u=[t];if(!o||!i)return e===L?-1:t===L?1:o?-1:i?1:q?ee(q,e)-ee(q,t):0;if(o===i)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?a(s[r],u[r]):s[r]===_?-1:u[r]===_?1:0},L):L},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==L&&O(e),n=n.replace(ce,"='$1']"),C.matchesSelector&&F&&!X[n+" "]&&(!I||!I.test(n))&&(!P||!P.test(n)))try{var r=R.call(e,n);if(r||C.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,L,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==L&&O(e),M(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==L&&O(e);var n=T.attrHandle[t.toLowerCase()],r=n&&V.call(T.attrHandle,t.toLowerCase())?n(e,t,!F):void 0;return void 0!==r?r:C.attributes||!F?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(we,Ce)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,o=0;if(D=!C.detectDuplicates,q=!C.sortStable&&e.slice(0),e.sort(K),D){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)e.splice(n[r],1)}return q=null,e},k=t.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=k(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=k(t);return n},T=t.selectors={cacheLength:50,createPseudo:r,match:he,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(be,xe),e[3]=(e[3]||e[4]||e[5]||"").replace(be,xe),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=E(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(be,xe).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(o){var i=t.attr(o,e);return null==i?"!="===n:!n||(i+="","="===n?i===r:"!="===n?i!==r:"^="===n?r&&0===i.indexOf(r):"*="===n?r&&i.indexOf(r)>-1:"$="===n?r&&i.slice(-r.length)===r:"~="===n?(" "+i.replace(ae," ")+" ").indexOf(r)>-1:"|="===n&&(i===r||i.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,h,d,g=i!==a?"nextSibling":"previousSibling",m=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!u&&!s,b=!1;if(m){if(i){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[a?m.firstChild:m.lastChild],a&&y){for(p=m,f=p[$]||(p[$]={}),c=f[p.uniqueID]||(f[p.uniqueID]={}),l=c[e]||[],h=l[0]===W&&l[1],b=h&&l[2],p=h&&m.childNodes[h];p=++h&&p&&p[g]||(b=h=0)||d.pop();)if(1===p.nodeType&&++b&&p===t){c[e]=[W,h,b];break}}else if(y&&(p=t,f=p[$]||(p[$]={}),c=f[p.uniqueID]||(f[p.uniqueID]={}),l=c[e]||[],h=l[0]===W&&l[1],b=h),b===!1)for(;(p=++h&&p&&p[g]||(b=h=0)||d.pop())&&((s?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++b||(y&&(f=p[$]||(p[$]={}),c=f[p.uniqueID]||(f[p.uniqueID]={}),c[e]=[W,b]),p!==t)););return b-=o,b===r||b%r===0&&b/r>=0}}},PSEUDO:function(e,n){var o,i=T.pseudos[e]||T.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return i[$]?i(n):i.length>1?(o=[e,e,"",n],T.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,o=i(e,n),a=o.length;a--;)r=ee(e,o[a]),e[r]=!(t[r]=o[a])}):function(e){return i(e,0,o)}):i}},pseudos:{not:r(function(e){var t=[],n=[],o=N(e.replace(se,"$1"));return o[$]?r(function(e,t,n,r){for(var i,a=o(e,null,r,[]),s=e.length;s--;)(i=a[s])&&(e[s]=!(t[s]=i))}):function(e,r,i){return t[0]=e,o(t,null,i,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){
-return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(be,xe),function(t){return(t.textContent||t.innerText||k(t)).indexOf(e)>-1}}),lang:r(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(be,xe).toLowerCase(),function(t){var n;do if(n=F?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===L.activeElement&&(!L.hasFocus||L.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:l(!1),disabled:l(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!T.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return de.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[n<0?n+t:n]}),even:c(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},T.pseudos.nth=T.pseudos.eq;for(w in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})T.pseudos[w]=s(w);for(w in{submit:!0,reset:!0})T.pseudos[w]=u(w);return p.prototype=T.filters=T.pseudos,T.setFilters=new p,E=t.tokenize=function(e,n){var r,o,i,a,s,u,l,c=z[e+" "];if(c)return n?0:c.slice(0);for(s=e,u=[],l=T.preFilter;s;){r&&!(o=ue.exec(s))||(o&&(s=s.slice(o[0].length)||s),u.push(i=[])),r=!1,(o=le.exec(s))&&(r=o.shift(),i.push({value:r,type:o[0].replace(se," ")}),s=s.slice(r.length));for(a in T.filter)!(o=he[a].exec(s))||l[a]&&!(o=l[a](o))||(r=o.shift(),i.push({value:r,type:a,matches:o}),s=s.slice(r.length));if(!r)break}return n?s.length:s?t.error(e):z(e,u).slice(0)},N=t.compile=function(e,t){var n,r=[],o=[],i=X[e+" "];if(!i){for(t||(t=E(e)),n=t.length;n--;)i=b(t[n]),i[$]?r.push(i):o.push(i);i=X(e,x(o,r)),i.selector=e}return i},S=t.select=function(e,t,n,r){var o,i,a,s,u,l="function"==typeof e&&e,c=!r&&E(e=l.selector||e);if(n=n||[],1===c.length){if(i=c[0]=c[0].slice(0),i.length>2&&"ID"===(a=i[0]).type&&9===t.nodeType&&F&&T.relative[i[1].type]){if(t=(T.find.ID(a.matches[0].replace(be,xe),t)||[])[0],!t)return n;l&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=he.needsContext.test(e)?0:i.length;o--&&(a=i[o],!T.relative[s=a.type]);)if((u=T.find[s])&&(r=u(a.matches[0].replace(be,xe),ye.test(i[0].type)&&f(t.parentNode)||t))){if(i.splice(o,1),e=r.length&&h(i),!e)return J.apply(n,r),n;break}}return(l||N(e,c))(r,t,!F,n,!t||ye.test(e)&&f(t.parentNode)||t),n},C.sortStable=$.split("").sort(K).join("")===$,C.detectDuplicates=!!D,O(),C.sortDetached=o(function(e){return 1&e.compareDocumentPosition(L.createElement("fieldset"))}),o(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||i("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),C.attributes&&o(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||i("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),o(function(e){return null==e.getAttribute("disabled")})||i(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);de.find=be,de.expr=be.selectors,de.expr[":"]=de.expr.pseudos,de.uniqueSort=de.unique=be.uniqueSort,de.text=be.getText,de.isXMLDoc=be.isXML,de.contains=be.contains,de.escapeSelector=be.escape;var xe=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&de(e).is(n))break;r.push(e)}return r},we=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Ce=de.expr.match.needsContext,Te=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,ke=/^.[^:#\[\.,]*$/;de.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?de.find.matchesSelector(r,e)?[r]:[]:de.find.matches(e,de.grep(t,function(e){return 1===e.nodeType}))},de.fn.extend({find:function(e){var t,n,r=this.length,o=this;if("string"!=typeof e)return this.pushStack(de(e).filter(function(){for(t=0;t<r;t++)if(de.contains(o[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)de.find(e,o[t],n);return r>1?de.uniqueSort(n):n},filter:function(e){return this.pushStack(o(this,e||[],!1))},not:function(e){return this.pushStack(o(this,e||[],!0))},is:function(e){return!!o(this,"string"==typeof e&&Ce.test(e)?de(e):e||[],!1).length}});var je,Ee=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Ne=de.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||je,"string"==typeof e){if(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Ee.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof de?t[0]:t,de.merge(this,de.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:te,!0)),Te.test(r[1])&&de.isPlainObject(t))for(r in t)de.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return o=te.getElementById(r[2]),o&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):de.isFunction(e)?void 0!==n.ready?n.ready(e):e(de):de.makeArray(e,this)};Ne.prototype=de.fn,je=de(te);var Se=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};de.fn.extend({has:function(e){var t=de(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(de.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,o=this.length,i=[],a="string"!=typeof e&&de(e);if(!Ce.test(e))for(;r<o;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&de.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?de.uniqueSort(i):i)},index:function(e){return e?"string"==typeof e?ae.call(de(e),this[0]):ae.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(de.uniqueSort(de.merge(this.get(),de(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),de.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return xe(e,"parentNode")},parentsUntil:function(e,t,n){return xe(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return xe(e,"nextSibling")},prevAll:function(e){return xe(e,"previousSibling")},nextUntil:function(e,t,n){return xe(e,"nextSibling",n)},prevUntil:function(e,t,n){return xe(e,"previousSibling",n)},siblings:function(e){return we((e.parentNode||{}).firstChild,e)},children:function(e){return we(e.firstChild)},contents:function(e){return e.contentDocument||de.merge([],e.childNodes)}},function(e,t){de.fn[e]=function(n,r){var o=de.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(o=de.filter(r,o)),this.length>1&&(Ae[e]||de.uniqueSort(o),Se.test(e)&&o.reverse()),this.pushStack(o)}});var qe=/[^\x20\t\r\n\f]+/g;de.Callbacks=function(e){e="string"==typeof e?a(e):de.extend({},e);var t,n,r,o,i=[],s=[],u=-1,l=function(){for(o=e.once,r=t=!0;s.length;u=-1)for(n=s.shift();++u<i.length;)i[u].apply(n[0],n[1])===!1&&e.stopOnFalse&&(u=i.length,n=!1);e.memory||(n=!1),t=!1,o&&(i=n?[]:"")},c={add:function(){return i&&(n&&!t&&(u=i.length-1,s.push(n)),function t(n){de.each(n,function(n,r){de.isFunction(r)?e.unique&&c.has(r)||i.push(r):r&&r.length&&"string"!==de.type(r)&&t(r)})}(arguments),n&&!t&&l()),this},remove:function(){return de.each(arguments,function(e,t){for(var n;(n=de.inArray(t,i,n))>-1;)i.splice(n,1),n<=u&&u--}),this},has:function(e){return e?de.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=s=[],i=n="",this},disabled:function(){return!i},lock:function(){return o=s=[],n||t||(i=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},de.extend({Deferred:function(t){var n=[["notify","progress",de.Callbacks("memory"),de.Callbacks("memory"),2],["resolve","done",de.Callbacks("once memory"),de.Callbacks("once memory"),0,"resolved"],["reject","fail",de.Callbacks("once memory"),de.Callbacks("once memory"),1,"rejected"]],r="pending",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return de.Deferred(function(t){de.each(n,function(n,r){var o=de.isFunction(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=o&&o.apply(this,arguments);e&&de.isFunction(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(t,r,o){function i(t,n,r,o){return function(){var l=this,c=arguments,f=function(){var e,f;if(!(t<a)){if(e=r.apply(l,c),e===n.promise())throw new TypeError("Thenable self-resolution");f=e&&("object"==typeof e||"function"==typeof e)&&e.then,de.isFunction(f)?o?f.call(e,i(a,n,s,o),i(a,n,u,o)):(a++,f.call(e,i(a,n,s,o),i(a,n,u,o),i(a,n,s,n.notifyWith))):(r!==s&&(l=void 0,c=[e]),(o||n.resolveWith)(l,c))}},p=o?f:function(){try{f()}catch(e){de.Deferred.exceptionHook&&de.Deferred.exceptionHook(e,p.stackTrace),t+1>=a&&(r!==u&&(l=void 0,c=[e]),n.rejectWith(l,c))}};t?p():(de.Deferred.getStackHook&&(p.stackTrace=de.Deferred.getStackHook()),e.setTimeout(p))}}var a=0;return de.Deferred(function(e){n[0][3].add(i(0,e,de.isFunction(o)?o:s,e.notifyWith)),n[1][3].add(i(0,e,de.isFunction(t)?t:s)),n[2][3].add(i(0,e,de.isFunction(r)?r:u))}).promise()},promise:function(e){return null!=e?de.extend(e,o):o}},i={};return de.each(n,function(e,t){var a=t[2],s=t[5];o[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[0][2].lock),a.add(t[3].fire),i[t[0]]=function(){return i[t[0]+"With"](this===i?void 0:this,arguments),this},i[t[0]+"With"]=a.fireWith}),o.promise(i),t&&t.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=re.call(arguments),i=de.Deferred(),a=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?re.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&(l(e,i.done(a(n)).resolve,i.reject),"pending"===i.state()||de.isFunction(o[n]&&o[n].then)))return i.then();for(;n--;)l(o[n],a(n),i.reject);return i.promise()}});var De=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;de.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&De.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},de.readyException=function(t){e.setTimeout(function(){throw t})};var Oe=de.Deferred();de.fn.ready=function(e){return Oe.then(e).catch(function(e){de.readyException(e)}),this},de.extend({isReady:!1,readyWait:1,holdReady:function(e){e?de.readyWait++:de.ready(!0)},ready:function(e){(e===!0?--de.readyWait:de.isReady)||(de.isReady=!0,e!==!0&&--de.readyWait>0||Oe.resolveWith(te,[de]))}}),de.ready.then=Oe.then,"complete"===te.readyState||"loading"!==te.readyState&&!te.documentElement.doScroll?e.setTimeout(de.ready):(te.addEventListener("DOMContentLoaded",c),e.addEventListener("load",c));var Le=function(e,t,n,r,o,i,a){var s=0,u=e.length,l=null==n;if("object"===de.type(n)){o=!0;for(s in n)Le(e,t,s,n[s],!0,i,a)}else if(void 0!==r&&(o=!0,de.isFunction(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(de(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return o?e:l?t.call(e):u?t(e[0],n):i},He=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};f.uid=1,f.prototype={cache:function(e){var t=e[this.expando];return t||(t={},He(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,o=this.cache(e);if("string"==typeof t)o[de.camelCase(t)]=n;else for(r in t)o[de.camelCase(r)]=t[r];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][de.camelCase(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){de.isArray(t)?t=t.map(de.camelCase):(t=de.camelCase(t),t=t in r?[t]:t.match(qe)||[]),n=t.length;for(;n--;)delete r[t[n]]}(void 0===t||de.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!de.isEmptyObject(t)}};var Fe=new f,Pe=new f,Ie=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Re=/[A-Z]/g;de.extend({hasData:function(e){return Pe.hasData(e)||Fe.hasData(e)},data:function(e,t,n){return Pe.access(e,t,n)},removeData:function(e,t){Pe.remove(e,t)},_data:function(e,t,n){return Fe.access(e,t,n)},_removeData:function(e,t){Fe.remove(e,t)}}),de.fn.extend({data:function(e,t){var n,r,o,i=this[0],a=i&&i.attributes;if(void 0===e){if(this.length&&(o=Pe.get(i),1===i.nodeType&&!Fe.get(i,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=de.camelCase(r.slice(5)),h(i,r,o[r])));Fe.set(i,"hasDataAttrs",!0)}return o}return"object"==typeof e?this.each(function(){Pe.set(this,e)}):Le(this,function(t){var n;if(i&&void 0===t){if(n=Pe.get(i,e),void 0!==n)return n;if(n=h(i,e),void 0!==n)return n}else this.each(function(){Pe.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Pe.remove(this,e)})}}),de.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||de.isArray(n)?r=Fe.access(e,t,de.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=de.queue(e,t),r=n.length,o=n.shift(),i=de._queueHooks(e,t),a=function(){de.dequeue(e,t)};"inprogress"===o&&(o=n.shift(),r--),o&&("fx"===t&&n.unshift("inprogress"),delete i.stop,o.call(e,a,i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Fe.get(e,n)||Fe.access(e,n,{empty:de.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),de.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?de.queue(this[0],e):void 0===t?this:this.each(function(){var n=de.queue(this,e,t);de._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&de.dequeue(this,e)})},dequeue:function(e){return this.each(function(){de.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,o=de.Deferred(),i=this,a=this.length,s=function(){--r||o.resolveWith(i,[i])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)n=Fe.get(i[a],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(s));return s(),o.promise(t)}});var Me=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,$e=new RegExp("^(?:([+-])=|)("+Me+")([a-z%]*)$","i"),_e=["Top","Right","Bottom","Left"],We=function(e,t){return e=t||e,"none"===e.style.display||""===e.style.display&&de.contains(e.ownerDocument,e)&&"none"===de.css(e,"display")},Be=function(e,t,n,r){var o,i,a={};for(i in t)a[i]=e.style[i],e.style[i]=t[i];o=n.apply(e,r||[]);for(i in t)e.style[i]=a[i];return o},Ue={};de.fn.extend({show:function(){return m(this,!0)},hide:function(){return m(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){We(this)?de(this).show():de(this).hide()})}});var ze=/^(?:checkbox|radio)$/i,Xe=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,Ke=/^$|\/(?:java|ecma)script/i,Ve={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Ve.optgroup=Ve.option,Ve.tbody=Ve.tfoot=Ve.colgroup=Ve.caption=Ve.thead,Ve.th=Ve.td;var Ge=/<|&#?\w+;/;!function(){var e=te.createDocumentFragment(),t=e.appendChild(te.createElement("div")),n=te.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),pe.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",pe.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var Ye=te.documentElement,Qe=/^key/,Je=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ze=/^([^.]*)(?:\.(.+)|)/;de.event={global:{},add:function(e,t,n,r,o){var i,a,s,u,l,c,f,p,h,d,g,m=Fe.get(e);if(m)for(n.handler&&(i=n,n=i.handler,o=i.selector),o&&de.find.matchesSelector(Ye,o),n.guid||(n.guid=de.guid++),(u=m.events)||(u=m.events={}),(a=m.handle)||(a=m.handle=function(t){return"undefined"!=typeof de&&de.event.triggered!==t.type?de.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(qe)||[""],l=t.length;l--;)s=Ze.exec(t[l])||[],h=g=s[1],d=(s[2]||"").split(".").sort(),h&&(f=de.event.special[h]||{},h=(o?f.delegateType:f.bindType)||h,f=de.event.special[h]||{},c=de.extend({type:h,origType:g,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&de.expr.match.needsContext.test(o),namespace:d.join(".")},i),(p=u[h])||(p=u[h]=[],p.delegateCount=0,f.setup&&f.setup.call(e,r,d,a)!==!1||e.addEventListener&&e.addEventListener(h,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),o?p.splice(p.delegateCount++,0,c):p.push(c),de.event.global[h]=!0)},remove:function(e,t,n,r,o){var i,a,s,u,l,c,f,p,h,d,g,m=Fe.hasData(e)&&Fe.get(e);if(m&&(u=m.events)){for(t=(t||"").match(qe)||[""],l=t.length;l--;)if(s=Ze.exec(t[l])||[],h=g=s[1],d=(s[2]||"").split(".").sort(),h){for(f=de.event.special[h]||{},h=(r?f.delegateType:f.bindType)||h,p=u[h]||[],s=s[2]&&new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=i=p.length;i--;)c=p[i],!o&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(i,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&f.teardown.call(e,d,m.handle)!==!1||de.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)de.event.remove(e,h+t[l],n,r,!0);de.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,o,i,a,s=de.event.fix(e),u=new Array(arguments.length),l=(Fe.get(this,"events")||{})[s.type]||[],c=de.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,s)!==!1){for(a=de.event.handlers.call(this,s,l),t=0;(o=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=o.elem,n=0;(i=o.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!s.rnamespace.test(i.namespace)||(s.handleObj=i,s.data=i.data,r=((de.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),void 0!==r&&(s.result=r)===!1&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,o,i,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||l.disabled!==!0)){for(i=[],a={},n=0;n<u;n++)r=t[n],o=r.selector+" ",void 0===a[o]&&(a[o]=r.needsContext?de(o,this).index(l)>-1:de.find(o,this,null,[l]).length),a[o]&&i.push(r);i.length&&s.push({elem:l,handlers:i})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(de.Event.prototype,e,{enumerable:!0,configurable:!0,get:de.isFunction(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[de.expando]?e:new de.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==C()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===C()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&de.nodeName(this,"input"))return this.click(),!1},_default:function(e){return de.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},de.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},de.Event=function(e,t){return this instanceof de.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?x:w,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&de.extend(this,t),this.timeStamp=e&&e.timeStamp||de.now(),void(this[de.expando]=!0)):new de.Event(e,t)},de.Event.prototype={constructor:de.Event,isDefaultPrevented:w,isPropagationStopped:w,isImmediatePropagationStopped:w,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=x,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=x,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=x,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},de.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Qe.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Je.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},de.event.addProp),de.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){de.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,o=e.relatedTarget,i=e.handleObj;return o&&(o===r||de.contains(r,o))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}}),de.fn.extend({on:function(e,t,n,r){return T(this,e,t,n,r)},one:function(e,t,n,r){return T(this,e,t,n,r,1)},off:function(e,t,n){var r,o;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,de(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(o in e)this.off(o,t,e[o]);return this}return t!==!1&&"function"!=typeof t||(n=t,t=void 0),n===!1&&(n=w),this.each(function(){de.event.remove(this,e,n,t)})}});var et=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,tt=/<script|<style|<link/i,nt=/checked\s*(?:[^=]|=\s*.checked.)/i,rt=/^true\/(.*)/,ot=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;de.extend({htmlPrefilter:function(e){return e.replace(et,"<$1></$2>")},clone:function(e,t,n){var r,o,i,a,s=e.cloneNode(!0),u=de.contains(e.ownerDocument,e);if(!(pe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||de.isXMLDoc(e)))for(a=v(s),i=v(e),r=0,o=i.length;r<o;r++)S(i[r],a[r]);if(t)if(n)for(i=i||v(e),a=a||v(s),r=0,o=i.length;r<o;r++)N(i[r],a[r]);else N(e,s);return a=v(s,"script"),a.length>0&&y(a,!u&&v(e,"script")),s},cleanData:function(e){for(var t,n,r,o=de.event.special,i=0;void 0!==(n=e[i]);i++)if(He(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)o[r]?de.event.remove(n,r):de.removeEvent(n,r,t.handle);n[Fe.expando]=void 0}n[Pe.expando]&&(n[Pe.expando]=void 0)}}}),de.fn.extend({detach:function(e){return q(this,e,!0)},remove:function(e){return q(this,e)},text:function(e){return Le(this,function(e){return void 0===e?de.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=k(this,e);t.appendChild(e)}})},prepend:function(){return A(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=k(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return A(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(de.cleanData(v(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return de.clone(this,e,t)})},html:function(e){return Le(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!tt.test(e)&&!Ve[(Xe.exec(e)||["",""])[1].toLowerCase()]){e=de.htmlPrefilter(e);try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(de.cleanData(v(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return A(this,arguments,function(t){var n=this.parentNode;de.inArray(this,e)<0&&(de.cleanData(v(this)),n&&n.replaceChild(t,this))},e)}}),de.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){de.fn[e]=function(e){for(var n,r=[],o=de(e),i=o.length-1,a=0;a<=i;a++)n=a===i?this:this.clone(!0),de(o[a])[t](n),ie.apply(r,n.get());return this.pushStack(r)}});var it=/^margin/,at=new RegExp("^("+Me+")(?!px)[a-z%]+$","i"),st=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)};!function(){function t(){if(s){s.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",s.innerHTML="",Ye.appendChild(a);var t=e.getComputedStyle(s);n="1%"!==t.top,i="2px"===t.marginLeft,r="4px"===t.width,s.style.marginRight="50%",o="4px"===t.marginRight,Ye.removeChild(a),s=null}}var n,r,o,i,a=te.createElement("div"),s=te.createElement("div");s.style&&(s.style.backgroundClip="content-box",s.cloneNode(!0).style.backgroundClip="",pe.clearCloneStyle="content-box"===s.style.backgroundClip,a.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",a.appendChild(s),de.extend(pe,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return t(),r},pixelMarginRight:function(){return t(),o},reliableMarginLeft:function(){return t(),i}}))}();var ut=/^(none|table(?!-c[ea]).+)/,lt={position:"absolute",visibility:"hidden",display:"block"},ct={letterSpacing:"0",fontWeight:"400"},ft=["Webkit","Moz","ms"],pt=te.createElement("div").style;de.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=D(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,i,a,s=de.camelCase(t),u=e.style;return t=de.cssProps[s]||(de.cssProps[s]=L(s)||s),a=de.cssHooks[t]||de.cssHooks[s],void 0===n?a&&"get"in a&&void 0!==(o=a.get(e,!1,r))?o:u[t]:(i=typeof n,"string"===i&&(o=$e.exec(n))&&o[1]&&(n=d(e,t,o),i="number"),null!=n&&n===n&&("number"===i&&(n+=o&&o[3]||(de.cssNumber[s]?"":"px")),pe.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u[t]=n)),void 0)}},css:function(e,t,n,r){var o,i,a,s=de.camelCase(t);return t=de.cssProps[s]||(de.cssProps[s]=L(s)||s),a=de.cssHooks[t]||de.cssHooks[s],a&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=D(e,t,r)),"normal"===o&&t in ct&&(o=ct[t]),""===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),de.each(["height","width"],function(e,t){de.cssHooks[t]={get:function(e,n,r){if(n)return!ut.test(de.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?P(e,t,r):Be(e,lt,function(){return P(e,t,r)})},set:function(e,n,r){var o,i=r&&st(e),a=r&&F(e,t,r,"border-box"===de.css(e,"boxSizing",!1,i),i);return a&&(o=$e.exec(n))&&"px"!==(o[3]||"px")&&(e.style[t]=n,n=de.css(e,t)),H(e,n,a)}}}),de.cssHooks.marginLeft=O(pe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(D(e,"marginLeft"))||e.getBoundingClientRect().left-Be(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),de.each({margin:"",padding:"",border:"Width"},function(e,t){de.cssHooks[e+t]={expand:function(n){for(var r=0,o={},i="string"==typeof n?n.split(" "):[n];r<4;r++)o[e+_e[r]+t]=i[r]||i[r-2]||i[0];return o}},it.test(e)||(de.cssHooks[e+t].set=H)}),de.fn.extend({css:function(e,t){return Le(this,function(e,t,n){var r,o,i={},a=0;if(de.isArray(t)){for(r=st(e),o=t.length;a<o;a++)i[t[a]]=de.css(e,t[a],!1,r);return i}return void 0!==n?de.style(e,t,n):de.css(e,t)},e,t,arguments.length>1)}}),de.Tween=I,I.prototype={constructor:I,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||de.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(de.cssNumber[n]?"":"px")},cur:function(){var e=I.propHooks[this.prop];return e&&e.get?e.get(this):I.propHooks._default.get(this)},run:function(e){var t,n=I.propHooks[this.prop];return this.options.duration?this.pos=t=de.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):I.propHooks._default.set(this),this}},I.prototype.init.prototype=I.prototype,I.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=de.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){de.fx.step[e.prop]?de.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[de.cssProps[e.prop]]&&!de.cssHooks[e.prop]?e.elem[e.prop]=e.now:de.style(e.elem,e.prop,e.now+e.unit)}}},I.propHooks.scrollTop=I.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},de.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},de.fx=I.prototype.init,de.fx.step={};var ht,dt,gt=/^(?:toggle|show|hide)$/,mt=/queueHooks$/;de.Animation=de.extend(U,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,$e.exec(t),n),n}]},tweener:function(e,t){de.isFunction(e)?(t=e,e=["*"]):e=e.match(qe);for(var n,r=0,o=e.length;r<o;r++)n=e[r],U.tweeners[n]=U.tweeners[n]||[],U.tweeners[n].unshift(t)},prefilters:[W],prefilter:function(e,t){t?U.prefilters.unshift(e):U.prefilters.push(e)}}),de.speed=function(e,t,n){var r=e&&"object"==typeof e?de.extend({},e):{complete:n||!n&&t||de.isFunction(e)&&e,duration:e,easing:n&&t||t&&!de.isFunction(t)&&t};return de.fx.off||te.hidden?r.duration=0:"number"!=typeof r.duration&&(r.duration in de.fx.speeds?r.duration=de.fx.speeds[r.duration]:r.duration=de.fx.speeds._default),null!=r.queue&&r.queue!==!0||(r.queue="fx"),r.old=r.complete,r.complete=function(){de.isFunction(r.old)&&r.old.call(this),r.queue&&de.dequeue(this,r.queue)},r},de.fn.extend({fadeTo:function(e,t,n,r){return this.filter(We).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){
-var o=de.isEmptyObject(e),i=de.speed(t,n,r),a=function(){var t=U(this,de.extend({},e),i);(o||Fe.get(this,"finish"))&&t.stop(!0)};return a.finish=a,o||i.queue===!1?this.each(a):this.queue(i.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,o=null!=e&&e+"queueHooks",i=de.timers,a=Fe.get(this);if(o)a[o]&&a[o].stop&&r(a[o]);else for(o in a)a[o]&&a[o].stop&&mt.test(o)&&r(a[o]);for(o=i.length;o--;)i[o].elem!==this||null!=e&&i[o].queue!==e||(i[o].anim.stop(n),t=!1,i.splice(o,1));!t&&n||de.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=Fe.get(this),r=n[e+"queue"],o=n[e+"queueHooks"],i=de.timers,a=r?r.length:0;for(n.finish=!0,de.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),de.each(["toggle","show","hide"],function(e,t){var n=de.fn[t];de.fn[t]=function(e,r,o){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate($(t,!0),e,r,o)}}),de.each({slideDown:$("show"),slideUp:$("hide"),slideToggle:$("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){de.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),de.timers=[],de.fx.tick=function(){var e,t=0,n=de.timers;for(ht=de.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);n.length||de.fx.stop(),ht=void 0},de.fx.timer=function(e){de.timers.push(e),e()?de.fx.start():de.timers.pop()},de.fx.interval=13,de.fx.start=function(){dt||(dt=e.requestAnimationFrame?e.requestAnimationFrame(R):e.setInterval(de.fx.tick,de.fx.interval))},de.fx.stop=function(){e.cancelAnimationFrame?e.cancelAnimationFrame(dt):e.clearInterval(dt),dt=null},de.fx.speeds={slow:600,fast:200,_default:400},de.fn.delay=function(t,n){return t=de.fx?de.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var o=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(o)}})},function(){var e=te.createElement("input"),t=te.createElement("select"),n=t.appendChild(te.createElement("option"));e.type="checkbox",pe.checkOn=""!==e.value,pe.optSelected=n.selected,e=te.createElement("input"),e.value="t",e.type="radio",pe.radioValue="t"===e.value}();var vt,yt=de.expr.attrHandle;de.fn.extend({attr:function(e,t){return Le(this,de.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){de.removeAttr(this,e)})}}),de.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return"undefined"==typeof e.getAttribute?de.prop(e,t,n):(1===i&&de.isXMLDoc(e)||(o=de.attrHooks[t.toLowerCase()]||(de.expr.match.bool.test(t)?vt:void 0)),void 0!==n?null===n?void de.removeAttr(e,t):o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+""),n):o&&"get"in o&&null!==(r=o.get(e,t))?r:(r=de.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!pe.radioValue&&"radio"===t&&de.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(qe);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),vt={set:function(e,t,n){return t===!1?de.removeAttr(e,n):e.setAttribute(n,n),n}},de.each(de.expr.match.bool.source.match(/\w+/g),function(e,t){var n=yt[t]||de.find.attr;yt[t]=function(e,t,r){var o,i,a=t.toLowerCase();return r||(i=yt[a],yt[a]=o,o=null!=n(e,t,r)?a:null,yt[a]=i),o}});var bt=/^(?:input|select|textarea|button)$/i,xt=/^(?:a|area)$/i;de.fn.extend({prop:function(e,t){return Le(this,de.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[de.propFix[e]||e]})}}),de.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&de.isXMLDoc(e)||(t=de.propFix[t]||t,o=de.propHooks[t]),void 0!==n?o&&"set"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&"get"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=de.find.attr(e,"tabindex");return t?parseInt(t,10):bt.test(e.nodeName)||xt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),pe.optSelected||(de.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),de.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){de.propFix[this.toLowerCase()]=this}),de.fn.extend({addClass:function(e){var t,n,r,o,i,a,s,u=0;if(de.isFunction(e))return this.each(function(t){de(this).addClass(e.call(this,t,X(this)))});if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(a=0;i=t[a++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");s=z(r),o!==s&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,o,i,a,s,u=0;if(de.isFunction(e))return this.each(function(t){de(this).removeClass(e.call(this,t,X(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(qe)||[];n=this[u++];)if(o=X(n),r=1===n.nodeType&&" "+z(o)+" "){for(a=0;i=t[a++];)for(;r.indexOf(" "+i+" ")>-1;)r=r.replace(" "+i+" "," ");s=z(r),o!==s&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):de.isFunction(e)?this.each(function(n){de(this).toggleClass(e.call(this,n,X(this),t),t)}):this.each(function(){var t,r,o,i;if("string"===n)for(r=0,o=de(this),i=e.match(qe)||[];t=i[r++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||(t=X(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(X(n))+" ").indexOf(t)>-1)return!0;return!1}});var wt=/\r/g;de.fn.extend({val:function(e){var t,n,r,o=this[0];{if(arguments.length)return r=de.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=r?e.call(this,n,de(this).val()):e,null==o?o="":"number"==typeof o?o+="":de.isArray(o)&&(o=de.map(o,function(e){return null==e?"":e+""})),t=de.valHooks[this.type]||de.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,o,"value")||(this.value=o))});if(o)return t=de.valHooks[o.type]||de.valHooks[o.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(o,"value"))?n:(n=o.value,"string"==typeof n?n.replace(wt,""):null==n?"":n)}}}),de.extend({valHooks:{option:{get:function(e){var t=de.find.attr(e,"value");return null!=t?t:z(de.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?i+1:o.length;for(r=i<0?u:a?i:0;r<u;r++)if(n=o[r],(n.selected||r===i)&&!n.disabled&&(!n.parentNode.disabled||!de.nodeName(n.parentNode,"optgroup"))){if(t=de(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,o=e.options,i=de.makeArray(t),a=o.length;a--;)r=o[a],(r.selected=de.inArray(de.valHooks.option.get(r),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),de.each(["radio","checkbox"],function(){de.valHooks[this]={set:function(e,t){if(de.isArray(t))return e.checked=de.inArray(de(e).val(),t)>-1}},pe.checkOn||(de.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Ct=/^(?:focusinfocus|focusoutblur)$/;de.extend(de.event,{trigger:function(t,n,r,o){var i,a,s,u,l,c,f,p=[r||te],h=le.call(t,"type")?t.type:t,d=le.call(t,"namespace")?t.namespace.split("."):[];if(a=s=r=r||te,3!==r.nodeType&&8!==r.nodeType&&!Ct.test(h+de.event.triggered)&&(h.indexOf(".")>-1&&(d=h.split("."),h=d.shift(),d.sort()),l=h.indexOf(":")<0&&"on"+h,t=t[de.expando]?t:new de.Event(h,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=d.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:de.makeArray(n,[t]),f=de.event.special[h]||{},o||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!o&&!f.noBubble&&!de.isWindow(r)){for(u=f.delegateType||h,Ct.test(u+h)||(a=a.parentNode);a;a=a.parentNode)p.push(a),s=a;s===(r.ownerDocument||te)&&p.push(s.defaultView||s.parentWindow||e)}for(i=0;(a=p[i++])&&!t.isPropagationStopped();)t.type=i>1?u:f.bindType||h,c=(Fe.get(a,"events")||{})[t.type]&&Fe.get(a,"handle"),c&&c.apply(a,n),c=l&&a[l],c&&c.apply&&He(a)&&(t.result=c.apply(a,n),t.result===!1&&t.preventDefault());return t.type=h,o||t.isDefaultPrevented()||f._default&&f._default.apply(p.pop(),n)!==!1||!He(r)||l&&de.isFunction(r[h])&&!de.isWindow(r)&&(s=r[l],s&&(r[l]=null),de.event.triggered=h,r[h](),de.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=de.extend(new de.Event,n,{type:e,isSimulated:!0});de.event.trigger(r,null,t)}}),de.fn.extend({trigger:function(e,t){return this.each(function(){de.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return de.event.trigger(e,t,n,!0)}}),de.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){de.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),de.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),pe.focusin="onfocusin"in e,pe.focusin||de.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){de.event.simulate(t,e.target,de.event.fix(e))};de.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=Fe.access(r,t);o||r.addEventListener(e,n,!0),Fe.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=Fe.access(r,t)-1;o?Fe.access(r,t,o):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}});var Tt=e.location,kt=de.now(),jt=/\?/;de.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||de.error("Invalid XML: "+t),n};var Et=/\[\]$/,Nt=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;de.param=function(e,t){var n,r=[],o=function(e,t){var n=de.isFunction(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(de.isArray(e)||e.jquery&&!de.isPlainObject(e))de.each(e,function(){o(this.name,this.value)});else for(n in e)K(n,e[n],t,o);return r.join("&")},de.fn.extend({serialize:function(){return de.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=de.prop(this,"elements");return e?de.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!de(this).is(":disabled")&&At.test(this.nodeName)&&!St.test(e)&&(this.checked||!ze.test(e))}).map(function(e,t){var n=de(this).val();return null==n?null:de.isArray(n)?de.map(n,function(e){return{name:t.name,value:e.replace(Nt,"\r\n")}}):{name:t.name,value:n.replace(Nt,"\r\n")}}).get()}});var qt=/%20/g,Dt=/#.*$/,Ot=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ht=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ft=/^(?:GET|HEAD)$/,Pt=/^\/\//,It={},Rt={},Mt="*/".concat("*"),$t=te.createElement("a");$t.href=Tt.href,de.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:Ht.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Mt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":de.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Y(Y(e,de.ajaxSettings),t):Y(de.ajaxSettings,e)},ajaxPrefilter:V(It),ajaxTransport:V(Rt),ajax:function(t,n){function r(t,n,r,s){var l,p,h,x,w,C=n;c||(c=!0,u&&e.clearTimeout(u),o=void 0,a=s||"",T.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(x=Q(d,T,r)),x=J(d,x,T,l),l?(d.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(de.lastModified[i]=w),w=T.getResponseHeader("etag"),w&&(de.etag[i]=w)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=x.state,p=x.data,h=x.error,l=!h)):(h=C,!t&&C||(C="error",t<0&&(t=0))),T.status=t,T.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,T]):v.rejectWith(g,[T,C,h]),T.statusCode(b),b=void 0,f&&m.trigger(l?"ajaxSuccess":"ajaxError",[T,d,l?p:h]),y.fireWith(g,[T,C]),f&&(m.trigger("ajaxComplete",[T,d]),--de.active||de.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var o,i,a,s,u,l,c,f,p,h,d=de.ajaxSetup({},n),g=d.context||d,m=d.context&&(g.nodeType||g.jquery)?de(g):de.event,v=de.Deferred(),y=de.Callbacks("once memory"),b=d.statusCode||{},x={},w={},C="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s)for(s={};t=Lt.exec(a);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,x[e]=t),this},overrideMimeType:function(e){return null==c&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)T.always(e[T.status]);else for(t in e)b[t]=[b[t],e[t]];return this},abort:function(e){var t=e||C;return o&&o.abort(t),r(0,t),this}};if(v.promise(T),d.url=((t||d.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(qe)||[""],null==d.crossDomain){l=te.createElement("a");try{l.href=d.url,l.href=l.href,d.crossDomain=$t.protocol+"//"+$t.host!=l.protocol+"//"+l.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=de.param(d.data,d.traditional)),G(It,d,n,T),c)return T;f=de.event&&d.global,f&&0===de.active++&&de.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Ft.test(d.type),i=d.url.replace(Dt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(qt,"+")):(h=d.url.slice(i.length),d.data&&(i+=(jt.test(i)?"&":"?")+d.data,delete d.data),d.cache===!1&&(i=i.replace(Ot,"$1"),h=(jt.test(i)?"&":"?")+"_="+kt++ +h),d.url=i+h),d.ifModified&&(de.lastModified[i]&&T.setRequestHeader("If-Modified-Since",de.lastModified[i]),de.etag[i]&&T.setRequestHeader("If-None-Match",de.etag[i])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&T.setRequestHeader("Content-Type",d.contentType),T.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Mt+"; q=0.01":""):d.accepts["*"]);for(p in d.headers)T.setRequestHeader(p,d.headers[p]);if(d.beforeSend&&(d.beforeSend.call(g,T,d)===!1||c))return T.abort();if(C="abort",y.add(d.complete),T.done(d.success),T.fail(d.error),o=G(Rt,d,n,T)){if(T.readyState=1,f&&m.trigger("ajaxSend",[T,d]),c)return T;d.async&&d.timeout>0&&(u=e.setTimeout(function(){T.abort("timeout")},d.timeout));try{c=!1,o.send(x,r)}catch(e){if(c)throw e;r(-1,e)}}else r(-1,"No Transport");return T},getJSON:function(e,t,n){return de.get(e,t,n,"json")},getScript:function(e,t){return de.get(e,void 0,t,"script")}}),de.each(["get","post"],function(e,t){de[t]=function(e,n,r,o){return de.isFunction(n)&&(o=o||r,r=n,n=void 0),de.ajax(de.extend({url:e,type:t,dataType:o,data:n,success:r},de.isPlainObject(e)&&e))}}),de._evalUrl=function(e){return de.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},de.fn.extend({wrapAll:function(e){var t;return this[0]&&(de.isFunction(e)&&(e=e.call(this[0])),t=de(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return de.isFunction(e)?this.each(function(t){de(this).wrapInner(e.call(this,t))}):this.each(function(){var t=de(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=de.isFunction(e);return this.each(function(n){de(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){de(this).replaceWith(this.childNodes)}),this}}),de.expr.pseudos.hidden=function(e){return!de.expr.pseudos.visible(e)},de.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},de.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},Wt=de.ajaxSettings.xhr();pe.cors=!!Wt&&"withCredentials"in Wt,pe.ajax=Wt=!!Wt,de.ajaxTransport(function(t){var n,r;if(pe.cors||Wt&&!t.crossDomain)return{send:function(o,i){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||o["X-Requested-With"]||(o["X-Requested-With"]="XMLHttpRequest");for(a in o)s.setRequestHeader(a,o[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?i(0,"error"):i(s.status,s.statusText):i(_t[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),de.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),de.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return de.globalEval(e),e}}}),de.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),de.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,o){t=de("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),te.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Bt=[],Ut=/(=)\?(?=&|$)|\?\?/;de.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Bt.pop()||de.expando+"_"+kt++;return this[e]=!0,e}}),de.ajaxPrefilter("json jsonp",function(t,n,r){var o,i,a,s=t.jsonp!==!1&&(Ut.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return o=t.jsonpCallback=de.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Ut,"$1"+o):t.jsonp!==!1&&(t.url+=(jt.test(t.url)?"&":"?")+t.jsonp+"="+o),t.converters["script json"]=function(){return a||de.error(o+" was not called"),a[0]},t.dataTypes[0]="json",i=e[o],e[o]=function(){a=arguments},r.always(function(){void 0===i?de(e).removeProp(o):e[o]=i,t[o]&&(t.jsonpCallback=n.jsonpCallback,Bt.push(o)),a&&de.isFunction(i)&&i(a[0]),a=i=void 0}),"script"}),pe.createHTMLDocument=function(){var e=te.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),de.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var r,o,i;return t||(pe.createHTMLDocument?(t=te.implementation.createHTMLDocument(""),r=t.createElement("base"),r.href=te.location.href,t.head.appendChild(r)):t=te),o=Te.exec(e),i=!n&&[],o?[t.createElement(o[1])]:(o=b([e],t,i),i&&i.length&&de(i).remove(),de.merge([],o.childNodes))},de.fn.load=function(e,t,n){var r,o,i,a=this,s=e.indexOf(" ");return s>-1&&(r=z(e.slice(s)),e=e.slice(0,s)),de.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(o="POST"),a.length>0&&de.ajax({url:e,type:o||"GET",dataType:"html",data:t}).done(function(e){i=arguments,a.html(r?de("<div>").append(de.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},de.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){de.fn[t]=function(e){return this.on(t,e)}}),de.expr.pseudos.animated=function(e){return de.grep(de.timers,function(t){return e===t.elem}).length},de.offset={setOffset:function(e,t,n){var r,o,i,a,s,u,l,c=de.css(e,"position"),f=de(e),p={};"static"===c&&(e.style.position="relative"),s=f.offset(),i=de.css(e,"top"),u=de.css(e,"left"),l=("absolute"===c||"fixed"===c)&&(i+u).indexOf("auto")>-1,l?(r=f.position(),a=r.top,o=r.left):(a=parseFloat(i)||0,o=parseFloat(u)||0),de.isFunction(t)&&(t=t.call(e,n,de.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+o),"using"in t?t.using.call(e,p):f.css(p)}},de.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){de.offset.setOffset(this,e,t)});var t,n,r,o,i=this[0];if(i)return i.getClientRects().length?(r=i.getBoundingClientRect(),r.width||r.height?(o=i.ownerDocument,n=Z(o),t=o.documentElement,{top:r.top+n.pageYOffset-t.clientTop,left:r.left+n.pageXOffset-t.clientLeft}):r):{top:0,left:0}},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===de.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),de.nodeName(e[0],"html")||(r=e.offset()),r={top:r.top+de.css(e[0],"borderTopWidth",!0),left:r.left+de.css(e[0],"borderLeftWidth",!0)}),{top:t.top-r.top-de.css(n,"marginTop",!0),left:t.left-r.left-de.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===de.css(e,"position");)e=e.offsetParent;return e||Ye})}}),de.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;de.fn[e]=function(r){return Le(this,function(e,r,o){var i=Z(e);return void 0===o?i?i[t]:e[r]:void(i?i.scrollTo(n?i.pageXOffset:o,n?o:i.pageYOffset):e[r]=o)},e,r,arguments.length)}}),de.each(["top","left"],function(e,t){de.cssHooks[t]=O(pe.pixelPosition,function(e,n){if(n)return n=D(e,t),at.test(n)?de(e).position()[t]+"px":n})}),de.each({Height:"height",Width:"width"},function(e,t){de.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){de.fn[r]=function(o,i){var a=arguments.length&&(n||"boolean"!=typeof o),s=n||(o===!0||i===!0?"margin":"border");return Le(this,function(t,n,o){var i;return de.isWindow(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===o?de.css(t,n,s):de.style(t,n,o,s)},t,a?o:void 0,a)}})}),de.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),de.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return de});var zt=e.jQuery,Xt=e.$;return de.noConflict=function(t){return e.$===de&&(e.$=Xt),t&&e.jQuery===de&&(e.jQuery=zt),de},t||(e.jQuery=e.$=de),de})},{}],2:[function(e,t,n){!function(e,n,r){function o(e,t,n){return e.addEventListener?void e.addEventListener(t,n,!1):void e.attachEvent("on"+t,n)}function i(e){if("keypress"==e.type){var t=String.fromCharCode(e.which);return e.shiftKey||(t=t.toLowerCase()),t}return y[e.which]?y[e.which]:b[e.which]?b[e.which]:String.fromCharCode(e.which).toLowerCase()}function a(e,t){return e.sort().join(",")===t.sort().join(",")}function s(e){var t=[];return e.shiftKey&&t.push("shift"),e.altKey&&t.push("alt"),e.ctrlKey&&t.push("ctrl"),e.metaKey&&t.push("meta"),t}function u(e){return e.preventDefault?void e.preventDefault():void(e.returnValue=!1)}function l(e){return e.stopPropagation?void e.stopPropagation():void(e.cancelBubble=!0)}function c(e){return"shift"==e||"ctrl"==e||"alt"==e||"meta"==e}function f(){if(!v){v={};for(var e in y)e>95&&e<112||y.hasOwnProperty(e)&&(v[y[e]]=e)}return v}function p(e,t,n){return n||(n=f()[e]?"keydown":"keypress"),"keypress"==n&&t.length&&(n="keydown"),n}function h(e){return"+"===e?["+"]:(e=e.replace(/\+{2}/g,"+plus"),e.split("+"))}function d(e,t){var n,r,o,i=[];for(n=h(e),o=0;o<n.length;++o)r=n[o],w[r]&&(r=w[r]),t&&"keypress"!=t&&x[r]&&(r=x[r],i.push("shift")),c(r)&&i.push(r);return t=p(r,i,t),{key:r,modifiers:i,action:t}}function g(e,t){return null!==e&&e!==n&&(e===t||g(e.parentNode,t))}function m(e){function t(e){e=e||{};var t,n=!1;for(t in x)e[t]?n=!0:x[t]=0;n||(T=!1)}function r(e,t,n,r,o,i){var s,u,l=[],f=n.type;if(!y._callbacks[e])return[];for("keyup"==f&&c(e)&&(t=[e]),s=0;s<y._callbacks[e].length;++s)if(u=y._callbacks[e][s],(r||!u.seq||x[u.seq]==u.level)&&f==u.action&&("keypress"==f&&!n.metaKey&&!n.ctrlKey||a(t,u.modifiers))){var p=!r&&u.combo==o,h=r&&u.seq==r&&u.level==i;(p||h)&&y._callbacks[e].splice(s,1),l.push(u)}return l}function f(e,t,n,r){y.stopCallback(t,t.target||t.srcElement,n,r)||e(t,n)===!1&&(u(t),l(t))}function p(e){"number"!=typeof e.which&&(e.which=e.keyCode);var t=i(e);if(t)return"keyup"==e.type&&w===t?void(w=!1):void y.handleKey(t,s(e),e)}function h(){clearTimeout(b),b=setTimeout(t,1e3)}function g(e,n,r,o){function a(t){return function(){T=t,++x[e],h()}}function s(n){f(r,n,e),"keyup"!==o&&(w=i(n)),setTimeout(t,10)}x[e]=0;for(var u=0;u<n.length;++u){var l=u+1===n.length,c=l?s:a(o||d(n[u+1]).action);v(n[u],c,o,e,u)}}function v(e,t,n,o,i){y._directMap[e+":"+n]=t,e=e.replace(/\s+/g," ");var a,s=e.split(" ");return s.length>1?void g(e,s,t,n):(a=d(e,n),y._callbacks[a.key]=y._callbacks[a.key]||[],r(a.key,a.modifiers,{type:a.action},o,e,i),void y._callbacks[a.key][o?"unshift":"push"]({callback:t,modifiers:a.modifiers,action:a.action,seq:o,level:i,combo:e}))}var y=this;if(e=e||n,!(y instanceof m))return new m(e);y.target=e,y._callbacks={},y._directMap={};var b,x={},w=!1,C=!1,T=!1;y._handleKey=function(e,n,o){var i,a=r(e,n,o),s={},u=0,l=!1;for(i=0;i<a.length;++i)a[i].seq&&(u=Math.max(u,a[i].level));for(i=0;i<a.length;++i)if(a[i].seq){if(a[i].level!=u)continue;l=!0,s[a[i].seq]=1,f(a[i].callback,o,a[i].combo,a[i].seq)}else l||f(a[i].callback,o,a[i].combo);var p="keypress"==o.type&&C;o.type!=T||c(e)||p||t(s),C=l&&"keydown"==o.type},y._bindMultiple=function(e,t,n){for(var r=0;r<e.length;++r)v(e[r],t,n)},o(e,"keypress",p),o(e,"keydown",p),o(e,"keyup",p)}if(e){for(var v,y={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},b={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},x={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},w={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},C=1;C<20;++C)y[111+C]="f"+C;for(C=0;C<=9;++C)y[C+96]=C;m.prototype.bind=function(e,t,n){var r=this;return e=e instanceof Array?e:[e],r._bindMultiple.call(r,e,t,n),r},m.prototype.unbind=function(e,t){var n=this;return n.bind.call(n,e,function(){},t)},m.prototype.trigger=function(e,t){var n=this;return n._directMap[e+":"+t]&&n._directMap[e+":"+t]({},e),n},m.prototype.reset=function(){var e=this;return e._callbacks={},e._directMap={},e},m.prototype.stopCallback=function(e,t){var n=this;return!((" "+t.className+" ").indexOf(" mousetrap ")>-1)&&(!g(t,n.target)&&("INPUT"==t.tagName||"SELECT"==t.tagName||"TEXTAREA"==t.tagName||t.isContentEditable))},m.prototype.handleKey=function(){var e=this;return e._handleKey.apply(e,arguments)},m.addKeycodes=function(e){for(var t in e)e.hasOwnProperty(t)&&(y[t]=e[t]);v=null},m.init=function(){var e=m(n);for(var t in e)"_"!==t.charAt(0)&&(m[t]=function(t){return function(){return e[t].apply(e,arguments)}}(t))},m.init(),e.Mousetrap=m,"undefined"!=typeof t&&t.exports&&(t.exports=m),"function"==typeof define&&define.amd&&define(function(){return m})}}("undefined"!=typeof window?window:null,"undefined"!=typeof window?document:null)},{}],3:[function(e,t,n){(function(e){!function(r){function o(e){throw new RangeError(L[e])}function i(e,t){for(var n=e.length,r=[];n--;)r[n]=t(e[n]);return r}function a(e,t){var n=e.split("@"),r="";n.length>1&&(r=n[0]+"@",e=n[1]),e=e.replace(O,".");var o=e.split("."),a=i(o,t).join(".");return r+a}function s(e){for(var t,n,r=[],o=0,i=e.length;o<i;)t=e.charCodeAt(o++),t>=55296&&t<=56319&&o<i?(n=e.charCodeAt(o++),56320==(64512&n)?r.push(((1023&t)<<10)+(1023&n)+65536):(r.push(t),o--)):r.push(t);return r}function u(e){return i(e,function(e){var t="";return e>65535&&(e-=65536,t+=P(e>>>10&1023|55296),e=56320|1023&e),t+=P(e)}).join("")}function l(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:C}function c(e,t){return e+22+75*(e<26)-((0!=t)<<5)}function f(e,t,n){var r=0;for(e=n?F(e/E):e>>1,e+=F(e/t);e>H*k>>1;r+=C)e=F(e/H);return F(r+(H+1)*e/(e+j))}function p(e){var t,n,r,i,a,s,c,p,h,d,g=[],m=e.length,v=0,y=S,b=N;for(n=e.lastIndexOf(A),n<0&&(n=0),r=0;r<n;++r)e.charCodeAt(r)>=128&&o("not-basic"),g.push(e.charCodeAt(r));for(i=n>0?n+1:0;i<m;){for(a=v,s=1,c=C;i>=m&&o("invalid-input"),p=l(e.charCodeAt(i++)),(p>=C||p>F((w-v)/s))&&o("overflow"),v+=p*s,h=c<=b?T:c>=b+k?k:c-b,!(p<h);c+=C)d=C-h,s>F(w/d)&&o("overflow"),s*=d;t=g.length+1,b=f(v-a,t,0==a),F(v/t)>w-y&&o("overflow"),y+=F(v/t),v%=t,g.splice(v++,0,y)}return u(g)}function h(e){var t,n,r,i,a,u,l,p,h,d,g,m,v,y,b,x=[];for(e=s(e),m=e.length,t=S,n=0,a=N,u=0;u<m;++u)g=e[u],g<128&&x.push(P(g));for(r=i=x.length,i&&x.push(A);r<m;){for(l=w,u=0;u<m;++u)g=e[u],g>=t&&g<l&&(l=g);for(v=r+1,l-t>F((w-n)/v)&&o("overflow"),n+=(l-t)*v,t=l,u=0;u<m;++u)if(g=e[u],g<t&&++n>w&&o("overflow"),g==t){for(p=n,h=C;d=h<=a?T:h>=a+k?k:h-a,!(p<d);h+=C)b=p-d,y=C-d,x.push(P(c(d+b%y,0))),p=F(b/y);x.push(P(c(p,0))),a=f(n,v,r==i),n=0,++r}++n,++t}return x.join("")}function d(e){return a(e,function(e){return q.test(e)?p(e.slice(4).toLowerCase()):e})}function g(e){return a(e,function(e){return D.test(e)?"xn--"+h(e):e})}var m="object"==typeof n&&n&&!n.nodeType&&n,v="object"==typeof t&&t&&!t.nodeType&&t,y="object"==typeof e&&e;y.global!==y&&y.window!==y&&y.self!==y||(r=y);var b,x,w=2147483647,C=36,T=1,k=26,j=38,E=700,N=72,S=128,A="-",q=/^xn--/,D=/[^\x20-\x7E]/,O=/[\x2E\u3002\uFF0E\uFF61]/g,L={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},H=C-T,F=Math.floor,P=String.fromCharCode;if(b={version:"1.4.1",ucs2:{decode:s,encode:u},decode:p,encode:h,toASCII:g,toUnicode:d},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define("punycode",function(){return b});else if(m&&v)if(t.exports==m)v.exports=b;else for(x in b)b.hasOwnProperty(x)&&(m[x]=b[x]);else r.punycode=b}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],4:[function(e,t,n){"use strict";function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.exports=function(e,t,n,i){t=t||"&",n=n||"=";var a={};if("string"!=typeof e||0===e.length)return a;var s=/\+/g;e=e.split(t);var u=1e3;i&&"number"==typeof i.maxKeys&&(u=i.maxKeys);var l=e.length;u>0&&l>u&&(l=u);for(var c=0;c<l;++c){var f,p,h,d,g=e[c].replace(s,"%20"),m=g.indexOf(n);m>=0?(f=g.substr(0,m),p=g.substr(m+1)):(f=g,p=""),h=decodeURIComponent(f),d=decodeURIComponent(p),
-r(a,h)?o(a[h])?a[h].push(d):a[h]=[a[h],d]:a[h]=d}return a};var o=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}},{}],5:[function(e,t,n){"use strict";function r(e,t){if(e.map)return e.map(t);for(var n=[],r=0;r<e.length;r++)n.push(t(e[r],r));return n}var o=function(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}};t.exports=function(e,t,n,s){return t=t||"&",n=n||"=",null===e&&(e=void 0),"object"==typeof e?r(a(e),function(a){var s=encodeURIComponent(o(a))+n;return i(e[a])?r(e[a],function(e){return s+encodeURIComponent(o(e))}).join(t):s+encodeURIComponent(o(e[a]))}).join(t):s?encodeURIComponent(o(s))+n+encodeURIComponent(o(e)):""};var i=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},a=Object.keys||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return t}},{}],6:[function(e,t,n){"use strict";n.decode=n.parse=e("./decode"),n.encode=n.stringify=e("./encode")},{"./decode":4,"./encode":5}],7:[function(e,t,n){"use strict";function r(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function o(e,t,n){if(e&&l.isObject(e)&&e instanceof r)return e;var o=new r;return o.parse(e,t,n),o}function i(e){return l.isString(e)&&(e=o(e)),e instanceof r?e.format():r.prototype.format.call(e)}function a(e,t){return o(e,!1,!0).resolve(t)}function s(e,t){return e?o(e,!1,!0).resolveObject(t):t}var u=e("punycode"),l=e("./util");n.parse=o,n.resolve=a,n.resolveObject=s,n.format=i,n.Url=r;var c=/^([a-z0-9.+-]+:)/i,f=/:[0-9]*$/,p=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,h=["<",">",'"',"`"," ","\r","\n","\t"],d=["{","}","|","\\","^","`"].concat(h),g=["'"].concat(d),m=["%","/","?",";","#"].concat(g),v=["/","?","#"],y=255,b=/^[+a-z0-9A-Z_-]{0,63}$/,x=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,w={javascript:!0,"javascript:":!0},C={javascript:!0,"javascript:":!0},T={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},k=e("querystring");r.prototype.parse=function(e,t,n){if(!l.isString(e))throw new TypeError("Parameter 'url' must be a string, not "+typeof e);var r=e.indexOf("?"),o=r!==-1&&r<e.indexOf("#")?"?":"#",i=e.split(o),a=/\\/g;i[0]=i[0].replace(a,"/"),e=i.join(o);var s=e;if(s=s.trim(),!n&&1===e.split("#").length){var f=p.exec(s);if(f)return this.path=s,this.href=s,this.pathname=f[1],f[2]?(this.search=f[2],t?this.query=k.parse(this.search.substr(1)):this.query=this.search.substr(1)):t&&(this.search="",this.query={}),this}var h=c.exec(s);if(h){h=h[0];var d=h.toLowerCase();this.protocol=d,s=s.substr(h.length)}if(n||h||s.match(/^\/\/[^@\/]+@[^@\/]+/)){var j="//"===s.substr(0,2);!j||h&&C[h]||(s=s.substr(2),this.slashes=!0)}if(!C[h]&&(j||h&&!T[h])){for(var E=-1,N=0;N<v.length;N++){var S=s.indexOf(v[N]);S!==-1&&(E===-1||S<E)&&(E=S)}var A,q;q=E===-1?s.lastIndexOf("@"):s.lastIndexOf("@",E),q!==-1&&(A=s.slice(0,q),s=s.slice(q+1),this.auth=decodeURIComponent(A)),E=-1;for(var N=0;N<m.length;N++){var S=s.indexOf(m[N]);S!==-1&&(E===-1||S<E)&&(E=S)}E===-1&&(E=s.length),this.host=s.slice(0,E),s=s.slice(E),this.parseHost(),this.hostname=this.hostname||"";var D="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!D)for(var O=this.hostname.split(/\./),N=0,L=O.length;N<L;N++){var H=O[N];if(H&&!H.match(b)){for(var F="",P=0,I=H.length;P<I;P++)F+=H.charCodeAt(P)>127?"x":H[P];if(!F.match(b)){var R=O.slice(0,N),M=O.slice(N+1),$=H.match(x);$&&(R.push($[1]),M.unshift($[2])),M.length&&(s="/"+M.join(".")+s),this.hostname=R.join(".");break}}}this.hostname.length>y?this.hostname="":this.hostname=this.hostname.toLowerCase(),D||(this.hostname=u.toASCII(this.hostname));var _=this.port?":"+this.port:"",W=this.hostname||"";this.host=W+_,this.href+=this.host,D&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==s[0]&&(s="/"+s))}if(!w[d])for(var N=0,L=g.length;N<L;N++){var B=g[N];if(s.indexOf(B)!==-1){var U=encodeURIComponent(B);U===B&&(U=escape(B)),s=s.split(B).join(U)}}var z=s.indexOf("#");z!==-1&&(this.hash=s.substr(z),s=s.slice(0,z));var X=s.indexOf("?");if(X!==-1?(this.search=s.substr(X),this.query=s.substr(X+1),t&&(this.query=k.parse(this.query)),s=s.slice(0,X)):t&&(this.search="",this.query={}),s&&(this.pathname=s),T[d]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var _=this.pathname||"",K=this.search||"";this.path=_+K}return this.href=this.format(),this},r.prototype.format=function(){var e=this.auth||"";e&&(e=encodeURIComponent(e),e=e.replace(/%3A/i,":"),e+="@");var t=this.protocol||"",n=this.pathname||"",r=this.hash||"",o=!1,i="";this.host?o=e+this.host:this.hostname&&(o=e+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(o+=":"+this.port)),this.query&&l.isObject(this.query)&&Object.keys(this.query).length&&(i=k.stringify(this.query));var a=this.search||i&&"?"+i||"";return t&&":"!==t.substr(-1)&&(t+=":"),this.slashes||(!t||T[t])&&o!==!1?(o="//"+(o||""),n&&"/"!==n.charAt(0)&&(n="/"+n)):o||(o=""),r&&"#"!==r.charAt(0)&&(r="#"+r),a&&"?"!==a.charAt(0)&&(a="?"+a),n=n.replace(/[?#]/g,function(e){return encodeURIComponent(e)}),a=a.replace("#","%23"),t+o+n+a+r},r.prototype.resolve=function(e){return this.resolveObject(o(e,!1,!0)).format()},r.prototype.resolveObject=function(e){if(l.isString(e)){var t=new r;t.parse(e,!1,!0),e=t}for(var n=new r,o=Object.keys(this),i=0;i<o.length;i++){var a=o[i];n[a]=this[a]}if(n.hash=e.hash,""===e.href)return n.href=n.format(),n;if(e.slashes&&!e.protocol){for(var s=Object.keys(e),u=0;u<s.length;u++){var c=s[u];"protocol"!==c&&(n[c]=e[c])}return T[n.protocol]&&n.hostname&&!n.pathname&&(n.path=n.pathname="/"),n.href=n.format(),n}if(e.protocol&&e.protocol!==n.protocol){if(!T[e.protocol]){for(var f=Object.keys(e),p=0;p<f.length;p++){var h=f[p];n[h]=e[h]}return n.href=n.format(),n}if(n.protocol=e.protocol,e.host||C[e.protocol])n.pathname=e.pathname;else{for(var d=(e.pathname||"").split("/");d.length&&!(e.host=d.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),""!==d[0]&&d.unshift(""),d.length<2&&d.unshift(""),n.pathname=d.join("/")}if(n.search=e.search,n.query=e.query,n.host=e.host||"",n.auth=e.auth,n.hostname=e.hostname||e.host,n.port=e.port,n.pathname||n.search){var g=n.pathname||"",m=n.search||"";n.path=g+m}return n.slashes=n.slashes||e.slashes,n.href=n.format(),n}var v=n.pathname&&"/"===n.pathname.charAt(0),y=e.host||e.pathname&&"/"===e.pathname.charAt(0),b=y||v||n.host&&e.pathname,x=b,w=n.pathname&&n.pathname.split("/")||[],d=e.pathname&&e.pathname.split("/")||[],k=n.protocol&&!T[n.protocol];if(k&&(n.hostname="",n.port=null,n.host&&(""===w[0]?w[0]=n.host:w.unshift(n.host)),n.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(""===d[0]?d[0]=e.host:d.unshift(e.host)),e.host=null),b=b&&(""===d[0]||""===w[0])),y)n.host=e.host||""===e.host?e.host:n.host,n.hostname=e.hostname||""===e.hostname?e.hostname:n.hostname,n.search=e.search,n.query=e.query,w=d;else if(d.length)w||(w=[]),w.pop(),w=w.concat(d),n.search=e.search,n.query=e.query;else if(!l.isNullOrUndefined(e.search)){if(k){n.hostname=n.host=w.shift();var j=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");j&&(n.auth=j.shift(),n.host=n.hostname=j.shift())}return n.search=e.search,n.query=e.query,l.isNull(n.pathname)&&l.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.href=n.format(),n}if(!w.length)return n.pathname=null,n.search?n.path="/"+n.search:n.path=null,n.href=n.format(),n;for(var E=w.slice(-1)[0],N=(n.host||e.host||w.length>1)&&("."===E||".."===E)||""===E,S=0,A=w.length;A>=0;A--)E=w[A],"."===E?w.splice(A,1):".."===E?(w.splice(A,1),S++):S&&(w.splice(A,1),S--);if(!b&&!x)for(;S--;S)w.unshift("..");!b||""===w[0]||w[0]&&"/"===w[0].charAt(0)||w.unshift(""),N&&"/"!==w.join("/").substr(-1)&&w.push("");var q=""===w[0]||w[0]&&"/"===w[0].charAt(0);if(k){n.hostname=n.host=q?"":w.length?w.shift():"";var j=!!(n.host&&n.host.indexOf("@")>0)&&n.host.split("@");j&&(n.auth=j.shift(),n.host=n.hostname=j.shift())}return b=b||n.host&&w.length,b&&!q&&w.unshift(""),w.length?n.pathname=w.join("/"):(n.pathname=null,n.path=null),l.isNull(n.pathname)&&l.isNull(n.search)||(n.path=(n.pathname?n.pathname:"")+(n.search?n.search:"")),n.auth=e.auth||n.auth,n.slashes=n.slashes||e.slashes,n.href=n.format(),n},r.prototype.parseHost=function(){var e=this.host,t=f.exec(e);t&&(t=t[0],":"!==t&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)}},{"./util":8,punycode:3,querystring:6}],8:[function(e,t,n){"use strict";t.exports={isString:function(e){return"string"==typeof e},isObject:function(e){return"object"==typeof e&&null!==e},isNull:function(e){return null===e},isNullOrUndefined:function(e){return null==e}}},{}],9:[function(e,t,n){function r(e){var t=a(e.currentTarget).parent().find(".dropdown-menu");t.toggleClass("open"),e.stopPropagation(),e.preventDefault()}function o(e){a(".dropdown-menu").removeClass("open")}function i(){a(document).on("click",".toggle-dropdown",r),a(document).on("click",".dropdown-menu",function(e){e.stopPropagation()}),a(document).on("click",o)}var a=e("jquery");t.exports={init:i}},{jquery:1}],10:[function(e,t,n){function r(){s.init(),i.init(),o.init(),a.init(),u.createButton({index:0,icon:"fa fa-align-justify",onClick:function(e){e.preventDefault(),s.toggle()}})}var o=e("./dropdown"),i=e("./keyboard"),a=e("./navigation"),s=e("./sidebar"),u=e("./toolbar"),l=window.gitbook;l.events.on("start",r),l.keyboard=i,l.navigation=a,l.sidebar=s,l.toolbar=u},{"./dropdown":9,"./keyboard":11,"./navigation":13,"./sidebar":15,"./toolbar":16}],11:[function(e,t,n){function r(e,t){i.bind(e,function(e){return t(),!1})}function o(){r(["right"],function(e){a.goNext()}),r(["left"],function(e){a.goPrev()}),r(["s"],function(e){s.toggle()})}var i=e("mousetrap"),a=e("./navigation"),s=e("./sidebar");t.exports={init:o,bind:r}},{"./navigation":13,"./sidebar":15,mousetrap:2}],12:[function(e,t,n){function r(e){return o.state.$book.addClass("is-loading"),e.always(function(){o.state.$book.removeClass("is-loading")}),e}var o=window.gitbook;t.exports={show:r}},{}],13:[function(e,t,n){function r(){return w(k.isSmallScreen()?".book-body":".body-inner")}function o(e){var t=r(),n=0;i(e)&&(e&&(n=a(e)),t.unbind("scroll"),t.animate({scrollTop:n},800,"swing",function(){t.scroll(l)}),s(null,e))}function i(e){var t=r(),n=t.find(e);return!!n.length}function a(e){var t=r(),n=t.find(".page-inner"),o=t.find(e),i=o.offsetParent(),a=0;for(a=o.position().top;!i.is(n);)o=i,a+=o.position().top,i=o.offsetParent();return Math.floor(a)}function s(e,t){if(e||t||(e=b.first()),t&&(e=b.length>1?b.filter(function(){var e=u(w(this));return e==t}).first():b.first()),!e.is(x)){x=e,b.removeClass("active"),e.addClass("active"),t=u(e);var n=window.location.pathname+window.location.hash,r=window.location.pathname+t;r!=n&&history.replaceState({path:r},null,r)}}function u(e){var t=e.children("a"),n=t.attr("href").split("#")[1];return n&&(n="#"+n),n?n:""}function l(){var e=r(),t=e.scrollTop(),n=e.prop("scrollHeight"),o=e.prop("clientHeight"),i=b.length,l=null;w(b.get().reverse()).each(function(e){var n,r=u(w(this));r&&!l&&(n=a(r),t>=n&&(l=w(this))),e!=i-1||l||(l=w(this))}),l||t||(l=b.first()),t&&n-t==o&&(l=b.last()),s(l)}function c(e,t){var n=C.parse(N),r=C.resolve(window.location.pathname,e),i=C.parse(r),a=i.hash,s=i.pathname!==n.pathname,u=Boolean(i.hostname);if(!E||u)return void(location.href=e);if(!s)return t&&history.pushState({path:r},null,r),o(a);N=r;var l=w.Deferred(function(e){w.ajax({type:"GET",url:r,cache:!0,headers:{"Access-Control-Expose-Headers":"X-Current-Location"},success:function(n,i,s){var u=s.getResponseHeader("X-Current-Location")||r;n=n.replace(/<(\/?)(html|head|body)([^>]*)>/gi,function(e,t,n,r){return"<"+t+"div"+(t?"":' data-element="'+n+'"')+r+">"});var l,c=w(n),f=c.find(".book");if(0===f.length){var h=new Error("Invalid gitbook page, redirecting...");return e.reject(h)}t&&history.pushState({path:u},null,u),c=w(n),l=c.find("[data-element=head]"),f=c.find(".book"),document.title=l.find("title").text();var d=w("head");d.find("link[rel=prev]").remove(),d.find("link[rel=next]").remove(),d.append(l.find("link[rel=prev]")),d.append(l.find("link[rel=next]"));var g=w(".book").attr("class"),m=w(".book-summary").scrollTop();f.toggleClass("with-summary",w(".book").hasClass("with-summary")),w(".book").replaceWith(f),w(".book").attr("class",g),w(".book-summary").scrollTop(m),j.state.$book=w(".book"),p(!a),a&&o(a),e.resolve()}})}).promise();return T.show(l.fail(function(e){console.log(e)}))}function f(){var e,t;e=parseInt(w(".body-inner").css("width"),10),t=parseInt(w(".page-wrapper").css("width"),10),w(".navigation-next").css("margin-right",e-t+"px");var n=r();n.unbind("scroll"),n.scroll(l)}function p(e){var t=w(".book-body"),n=t.find(".body-inner"),o=n.find(".page-wrapper");f(),o.focus();var i=r();e!==!1&&i.scrollTop(0),b=w(".book-summary .summary .chapter").filter(function(){var e=w(this).children("a"),t=null;if(!e.length)return!1;t=e.attr("href").split("#")[0];var n=C.resolve(window.location.pathname,t);return window.location.pathname==n}),b.length>1?i.scroll(l):x=b.first()}function h(e){return 0===e.button}function d(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function g(e){var t=w(this),n=t.attr("target");if(!d(e)&&h(e)&&!n){e.stopPropagation(),e.preventDefault();var r=t.attr("href");r&&c(r,!0)}}function m(){var e=w(".navigation-next").attr("href");e&&c(e,!0)}function v(){var e=w(".navigation-prev").attr("href");e&&c(e,!0)}function y(){w.ajaxSetup({cache:!1}),history.replaceState({path:window.location.href},""),window.onpopstate=function(e){if(null!==e.state)return c(e.state.path,!1)},w(document).on("click",".navigation-prev",g),w(document).on("click",".navigation-next",g),w(document).on("click",".summary [data-path] a",g),w(document).on("click",".page-inner a",g),w(window).resize(f),p(!1)}var b,x,w=e("jquery"),C=e("url"),T=e("./loading"),k=e("./platform"),j=window.gitbook,E="undefined"!=typeof history.pushState,N=location.href;t.exports={init:y,goNext:m,goPrev:v}},{"./loading":12,"./platform":14,jquery:1,url:7}],14:[function(e,t,n){var r=e("jquery");t.exports={isMobile:function(){return r(document).width()<=600},isSmallScreen:function(){return r(document).width()<=1240}}},{jquery:1}],15:[function(e,t,n){function r(e,t){null!=l.state&&o()==e||(null==t&&(t=!0),l.state.$book.toggleClass("without-animation",!t),l.state.$book.toggleClass("with-summary",e),l.storage.set("sidebar",o()))}function o(){return l.state.$book.hasClass("with-summary")}function i(){u.isMobile()||r(l.storage.get("sidebar",!0),!1),s(document).on("click",".book-summary li.chapter a",function(e){u.isMobile()&&r(!1,!1)})}function a(e){var t=s(".book-summary");t.find("li").each(function(){var t=s(this).data("path"),n=null==e||e.indexOf(t)!==-1;s(this).toggle(n),n&&s(this).parents("li").show()})}var s=e("jquery"),u=e("./platform"),l=window.gitbook;t.exports={init:i,isOpen:o,toggle:r,filter:a}},{"./platform":14,jquery:1}],16:[function(e,t,n){function r(){return"btn-"+g++}function o(e,t,n,r){var o=e.children(t).length;n<0&&(n=Math.max(0,o+1+n)),e.append(r),n<o&&e.children(t).eq(n).before(e.children(t).last())}function i(e){e.preventDefault()}function a(e){var t=p("<div>",{class:"dropdown-menu",html:'<div class="dropdown-caret"><span class="caret-outer"></span><span class="caret-inner"></span></div>'});if("string"==typeof e)t.append(e);else{var n=e.map(function(e){return p.isArray(e)?e:[e]});n.forEach(function(e){var n=p("<div>",{class:"buttons"}),r="size-"+e.length;e.forEach(function(e){e=p.extend({text:"",className:"",onClick:i},e||{});var t=p("<button>",{class:"button "+r+" "+e.className,text:e.text});t.click(e.onClick),n.append(t)}),t.append(n)})}return t}function s(e){return e=p.extend({label:"",icon:"",text:"",position:"left",className:"",onClick:i,dropdown:null,index:null,id:r()},e||{}),d.push(e),u(e),e.id}function u(e){var t,n=p(".book-header"),r=n.find("h1"),i="pull-"+e.position,s=p("<a>",{class:"btn",text:e.text?" "+e.text:"","aria-label":e.label,href:"#"});if(s.click(e.onClick),e.icon&&p("<i>",{class:e.icon}).prependTo(s),e.dropdown){var u=p("<div>",{class:"dropdown "+i+" "+e.className});s.addClass("toggle-dropdown"),u.append(s);var l=a(e.dropdown);l.addClass("dropdown-"+("right"==e.position?"left":"right")),u.append(l),t=u}else s.addClass(i),s.addClass(e.className),t=s;t.addClass("js-toolbar-action"),p.isNumeric(e.index)&&e.index>=0?o(n,".btn, .dropdown, h1",e.index,t):t.insertBefore(r)}function l(){p(".js-toolbar-action").remove(),d.forEach(u)}function c(e){d=p.grep(d,function(t){return t.id!=e}),l()}function f(e){d=p.grep(d,function(t){return e.indexOf(t.id)==-1}),l()}var p=e("jquery"),h=window.gitbook,d=[],g=0;h.events.on("page.change",function(){l()}),t.exports={createButton:s,removeButton:c,removeButtons:f}},{jquery:1}]},{},[10]);
diff --git a/user-guide/index.html b/user-guide/index.html
deleted file mode 100644
index de75da7..0000000
--- a/user-guide/index.html
+++ /dev/null
@@ -1,1457 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>Introduction · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter active" data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="preface/background.html">
-            
-                <a href="preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="preface/requirements.html">
-            
-                <a href="preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="preface/architacture.html">
-            
-                <a href="preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="preface/usage.html">
-            
-                <a href="preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="dependencies/dependencies.html">
-            
-                <a href="dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="maturity/maturity.html">
-            
-                <a href="maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="configuration/xml.html">
-            
-                <a href="configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="configuration/properties.html">
-            
-                <a href="configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="configuration/api.html">
-            
-                <a href="configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="configuration/annotation.html">
-            
-                <a href="configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="demos/启动时检查.html">
-            
-                <a href="demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="demos/集群容错.html">
-            
-                <a href="demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="demos/负载均衡.html">
-            
-                <a href="demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="demos/线程模型.html">
-            
-                <a href="demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="demos/直连提供者.html">
-            
-                <a href="demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="demos/只订阅.html">
-            
-                <a href="demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="demos/只注册.html">
-            
-                <a href="demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="demos/静态服务.html">
-            
-                <a href="demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="demos/多协议.html">
-            
-                <a href="demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="demos/多注册中心.html">
-            
-                <a href="demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="demos/服务分组.html">
-            
-                <a href="demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="demos/多版本.html">
-            
-                <a href="demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="demos/分组聚合.html">
-            
-                <a href="demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="demos/参数验证.html">
-            
-                <a href="demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="demos/结果缓存.html">
-            
-                <a href="demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="demos/泛化引用.html">
-            
-                <a href="demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="demos/泛化实现.html">
-            
-                <a href="demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="demos/回声测试.html">
-            
-                <a href="demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="demos/上下文信息.html">
-            
-                <a href="demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="demos/隐式传参.html">
-            
-                <a href="demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="demos/异步调用.html">
-            
-                <a href="demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="demos/本地调用.html">
-            
-                <a href="demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="demos/参数回调.html">
-            
-                <a href="demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="demos/事件通知.html">
-            
-                <a href="demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="demos/本地存根.html">
-            
-                <a href="demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="demos/本地伪装.html">
-            
-                <a href="demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="demos/延迟暴露.html">
-            
-                <a href="demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="demos/并发控制.html">
-            
-                <a href="demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="demos/连接控制.html">
-            
-                <a href="demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="demos/延迟连接.html">
-            
-                <a href="demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="demos/粘滞连接.html">
-            
-                <a href="demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="demos/令牌验证.html">
-            
-                <a href="demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="demos/路由规则.html">
-            
-                <a href="demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="demos/配置规则.html">
-            
-                <a href="demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="demos/服务降级.html">
-            
-                <a href="demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="demos/优雅停机.html">
-            
-                <a href="demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="demos/主机绑定.html">
-            
-                <a href="demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="demos/日志适配.html">
-            
-                <a href="demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="demos/访问日志.html">
-            
-                <a href="demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="demos/服务容器.html">
-            
-                <a href="demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="demos/ReferenceConfig缓存.html">
-            
-                <a href="demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="demos/分布式事务.html">
-            
-                <a href="demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="reference-apiconf/api.html">
-            
-                <a href="reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="reference-xmlconf/introduction.html">
-            
-                <a href="reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="reference-xmlconf/dubbo-service.html">
-            
-                <a href="reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="reference-xmlconf/dubbo-reference.html">
-            
-                <a href="reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="reference-xmlconf/dubbo-registry.html">
-            
-                <a href="reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="reference-xmlconf/dubbo-application.html">
-            
-                <a href="reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="reference-xmlconf/dubbo-module.html">
-            
-                <a href="reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="reference-xmlconf/dubbo-provider.html">
-            
-                <a href="reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="reference-xmlconf/dubbo-method.html">
-            
-                <a href="reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="reference-xmlconf/dubbo-argument.html">
-            
-                <a href="reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="reference-protocol/introduction.html">
-            
-                <a href="reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="reference-protocol/dubbo.html">
-            
-                <a href="reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="reference-protocol/rmi.html">
-            
-                <a href="reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="reference-protocol/hessian.html">
-            
-                <a href="reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="reference-protocol/http.html">
-            
-                <a href="reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="reference-protocol/webservice.html">
-            
-                <a href="reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="reference-protocol/thrift.html">
-            
-                <a href="reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="reference-protocol/memcached.html">
-            
-                <a href="reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="reference-protocol/redis.html">
-            
-                <a href="reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="reference-registry/introduction.html">
-            
-                <a href="reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="reference-registry/multicast.html">
-            
-                <a href="reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="reference-registry/zookeeper.html">
-            
-                <a href="reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="reference-registry/redis.html">
-            
-                <a href="reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="reference-registry/simple.html">
-            
-                <a href="reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="reference-telnet/telnet.html">
-            
-                <a href="reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="reference-maven/maven.html">
-            
-                <a href="reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="best-practice.html">
-            
-                <a href="best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="recommend.html">
-            
-                <a href="recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="capacity-plan.html">
-            
-                <a href="capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="benchmark.html">
-            
-                <a href="benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="perf-test.html">
-            
-                <a href="perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="coveragence.html">
-            
-                <a href="coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >Introduction</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x8FD9;&#x7BC7;&#x6587;&#x6863;&#x8BE6;&#x7EC6;&#x8BB2;&#x89E3;&#x4E86;<code>dubbo</code>&#x7684;&#x4F7F;&#x7528;&#xFF0C;&#x57FA;&#x672C;&#x6DB5;&#x76D6;<code>dubbo</code>&#x7684;&#x6240;&#x6709;&#x529F;&#x80FD;&#x7279;&#x6027;&#x3002;</p>
-<p>&#x5982;&#x679C;&#x4F60;&#x6B63;&#x4F9D;&#x8D56;<code>dubbo</code>&#x4F5C;&#x4E3A;&#x4F60;&#x4E1A;&#x52A1;&#x5DE5;&#x7A0B;&#x7684;RPC&#x901A;&#x4FE1;&#x6846;&#x67B6;&#xFF0C;&#x8FD9;&#x91CC;&#x53EF;&#x4EE5;&#x4F5C;&#x4E3A;&#x4F60;&#x7684;&#x53C2;&#x8003;&#x624B;&#x518C;</p>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"Introduction","level":"1.1","depth":1,"next":{"title":"1 入门","level":"1.2","depth":1,"ref":"","articles":[{"title":"1.1 背景","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"preface/background.md","articles":[]},{"title":"1.2 需求","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"preface/requirements.md","articles":[]},{"title":"1.3 架构","level":"1.2.3","depth":2,"path":"preface/architacture.md","ref":"preface/architacture.md","articles":[]},{"title":"1.4 用法","level":"1.2.4","depth":2,"path":"preface/usage.md","ref":"preface/usage.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"README.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/maturity/maturity.html b/user-guide/maturity/maturity.html
deleted file mode 100644
index 0946c3f..0000000
--- a/user-guide/maturity/maturity.html
+++ /dev/null
@@ -1,2010 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>2.2 成熟度 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    
-    <link rel="prev" href="../dependencies/dependencies.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.3.2" data-path="maturity.html">
-            
-                <a href="maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >2.2 成熟度</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h4 id="&#x529F;&#x80FD;&#x6210;&#x719F;&#x5EA6;">&#x529F;&#x80FD;&#x6210;&#x719F;&#x5EA6;</h4>
-<table>
-<thead>
-<tr>
-<th>Feature</th>
-<th>Maturity</th>
-<th>Strength</th>
-<th>Problem</th>
-<th>Advise</th>
-<th>User</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>&#x5E76;&#x53D1;&#x63A7;&#x5236;</td>
-<td>Tested</td>
-<td>&#x5E76;&#x53D1;&#x63A7;&#x5236;</td>
-<td></td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>&#x8FDE;&#x63A5;&#x63A7;&#x5236;</td>
-<td>Tested</td>
-<td>&#x8FDE;&#x63A5;&#x6570;&#x63A7;&#x5236;</td>
-<td></td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>&#x76F4;&#x8FDE;&#x63D0;&#x4F9B;&#x8005;</td>
-<td>Tested</td>
-<td>&#x70B9;&#x5BF9;&#x70B9;&#x76F4;&#x8FDE;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#xFF0C;&#x7528;&#x4E8E;&#x6D4B;&#x8BD5;</td>
-<td></td>
-<td>&#x6D4B;&#x8BD5;&#x73AF;&#x5883;&#x4F7F;&#x7528;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>&#x5206;&#x7EC4;&#x805A;&#x5408;</td>
-<td>Tested</td>
-<td>&#x5206;&#x7EC4;&#x805A;&#x5408;&#x8FD4;&#x56DE;&#x503C;&#xFF0C;&#x7528;&#x4E8E;&#x83DC;&#x5355;&#x805A;&#x5408;&#x7B49;&#x670D;&#x52A1;</td>
-<td>&#x7279;&#x6B8A;&#x573A;&#x666F;&#x4F7F;&#x7528;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td></td>
-</tr>
-<tr>
-<td>&#x53C2;&#x6570;&#x9A8C;&#x8BC1;</td>
-<td>Tested</td>
-<td>&#x53C2;&#x6570;&#x9A8C;&#x8BC1;&#xFF0C;JSR303&#x9A8C;&#x8BC1;&#x6846;&#x67B6;&#x96C6;&#x6210;</td>
-<td>&#x5BF9;&#x6027;&#x80FD;&#x6709;&#x5F71;&#x54CD;</td>
-<td>&#x8BD5;&#x7528;</td>
-<td>LaiWang</td>
-</tr>
-<tr>
-<td>&#x7ED3;&#x679C;&#x7F13;&#x5B58;</td>
-<td>Tested</td>
-<td>&#x7ED3;&#x679C;&#x7F13;&#x5B58;&#xFF0C;&#x7528;&#x4E8E;&#x52A0;&#x901F;&#x8BF7;&#x6C42;</td>
-<td></td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>&#x6CDB;&#x5316;&#x5F15;&#x7528;</td>
-<td>Stable</td>
-<td>&#x6CDB;&#x5316;&#x8C03;&#x7528;&#xFF0C;&#x65E0;&#x9700;&#x4E1A;&#x52A1;&#x63A5;&#x53E3;&#x7C7B;&#x8FDB;&#x884C;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#xFF0C;&#x7528;&#x4E8E;&#x6D4B;&#x8BD5;&#x5E73;&#x53F0;&#xFF0C;&#x5F00;&#x653E;&#x7F51;&#x5173;&#x6865;&#x63A5;&#x7B49;</td>
-<td></td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>&#x6CDB;&#x5316;&#x5B9E;&#x73B0;</td>
-<td>Stable</td>
-<td>&#x6CDB;&#x5316;&#x5B9E;&#x73B0;&#xFF0C;&#x65E0;&#x9700;&#x4E1A;&#x52A1;&#x63A5;&#x53E3;&#x7C7B;&#x5B9E;&#x73B0;&#x4EFB;&#x610F;&#x63A5;&#x53E3;&#xFF0C;&#x7528;&#x4E8E;Mock&#x5E73;&#x53F0;</td>
-<td></td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>&#x56DE;&#x58F0;&#x6D4B;&#x8BD5;</td>
-<td>Tested</td>
-<td>&#x56DE;&#x58F0;&#x6D4B;&#x8BD5;</td>
-<td></td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>&#x9690;&#x5F0F;&#x4F20;&#x53C2;</td>
-<td>Stable</td>
-<td>&#x9644;&#x52A0;&#x53C2;&#x6570;</td>
-<td></td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td></td>
-</tr>
-<tr>
-<td>&#x5F02;&#x6B65;&#x8C03;&#x7528;</td>
-<td>Tested</td>
-<td>&#x4E0D;&#x53EF;&#x9760;&#x5F02;&#x6B65;&#x8C03;&#x7528;</td>
-<td></td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>&#x672C;&#x5730;&#x8C03;&#x7528;</td>
-<td>Tested</td>
-<td>&#x672C;&#x5730;&#x8C03;&#x7528;</td>
-<td></td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>&#x53C2;&#x6570;&#x56DE;&#x8C03;</td>
-<td>Tested</td>
-<td>&#x53C2;&#x6570;&#x56DE;&#x8C03;</td>
-<td>&#x7279;&#x6B8A;&#x573A;&#x666F;&#x4F7F;&#x7528;</td>
-<td>&#x8BD5;&#x7528;</td>
-<td>Registry</td>
-</tr>
-<tr>
-<td>&#x4E8B;&#x4EF6;&#x901A;&#x77E5;</td>
-<td>Tested</td>
-<td>&#x4E8B;&#x4EF6;&#x901A;&#x77E5;&#xFF0C;&#x5728;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x6267;&#x884C;&#x524D;&#x540E;&#x89E6;&#x53D1;</td>
-<td></td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>&#x672C;&#x5730;&#x5B58;&#x6839;</td>
-<td>Stable</td>
-<td>&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x6267;&#x884C;&#x90E8;&#x5206;&#x903B;&#x8F91;</td>
-<td></td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>&#x672C;&#x5730;&#x4F2A;&#x88C5;</td>
-<td>Stable</td>
-<td>&#x4F2A;&#x9020;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#xFF0C;&#x53EF;&#x5728;&#x5931;&#x8D25;&#x65F6;&#x6267;&#x884C;&#xFF0C;&#x6216;&#x76F4;&#x63A5;&#x6267;&#x884C;&#xFF0C;&#x7528;&#x4E8E;&#x670D;&#x52A1;&#x964D;&#x7EA7;</td>
-<td>&#x9700;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x652F;&#x6301;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>&#x5EF6;&#x8FDF;&#x66B4;&#x9732;</td>
-<td>Stable</td>
-<td>&#x5EF6;&#x8FDF;&#x66B4;&#x9732;&#x670D;&#x52A1;&#xFF0C;&#x7528;&#x4E8E;&#x7B49;&#x5F85;&#x5E94;&#x7528;&#x52A0;&#x8F7D;warmup&#x6570;&#x636E;&#xFF0C;&#x6216;&#x7B49;&#x5F85;spring&#x52A0;&#x8F7D;&#x5B8C;&#x6210;</td>
-<td></td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>&#x5EF6;&#x8FDF;&#x8FDE;&#x63A5;</td>
-<td>Tested</td>
-<td>&#x5EF6;&#x8FDF;&#x5EFA;&#x7ACB;&#x8FDE;&#x63A5;&#xFF0C;&#x8C03;&#x7528;&#x65F6;&#x5EFA;&#x7ACB;</td>
-<td></td>
-<td>&#x8BD5;&#x7528;</td>
-<td>Registry</td>
-</tr>
-<tr>
-<td>&#x7C98;&#x6EDE;&#x8FDE;&#x63A5;</td>
-<td>Tested</td>
-<td>&#x7C98;&#x6EDE;&#x8FDE;&#x63A5;&#xFF0C;&#x603B;&#x662F;&#x5411;&#x540C;&#x4E00;&#x4E2A;&#x63D0;&#x4F9B;&#x65B9;&#x53D1;&#x8D77;&#x8BF7;&#x6C42;&#xFF0C;&#x9664;&#x975E;&#x6B64;&#x63D0;&#x4F9B;&#x65B9;&#x6302;&#x6389;&#xFF0C;&#x518D;&#x5207;&#x6362;&#x5230;&#x53E6;&#x4E00;&#x53F0;</td>
-<td></td>
-<td>&#x8BD5;&#x7528;</td>
-<td>Registry</td>
-</tr>
-<tr>
-<td>&#x4EE4;&#x724C;&#x9A8C;&#x8BC1;</td>
-<td>Tested</td>
-<td>&#x4EE4;&#x724C;&#x9A8C;&#x8BC1;&#xFF0C;&#x7528;&#x4E8E;&#x670D;&#x52A1;&#x6388;&#x6743;</td>
-<td>&#x9700;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x652F;&#x6301;</td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>&#x8DEF;&#x7531;&#x89C4;&#x5219;</td>
-<td>Tested</td>
-<td>&#x52A8;&#x6001;&#x51B3;&#x5B9A;&#x8C03;&#x7528;&#x5173;&#x7CFB;</td>
-<td>&#x9700;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x652F;&#x6301;</td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>&#x914D;&#x7F6E;&#x89C4;&#x5219;</td>
-<td>Tested</td>
-<td>&#x52A8;&#x6001;&#x4E0B;&#x53D1;&#x914D;&#x7F6E;&#xFF0C;&#x5B9E;&#x73B0;&#x529F;&#x80FD;&#x7684;&#x5F00;&#x5173;</td>
-<td>&#x9700;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x652F;&#x6301;</td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>&#x8BBF;&#x95EE;&#x65E5;&#x5FD7;</td>
-<td>Tested</td>
-<td>&#x8BBF;&#x95EE;&#x65E5;&#x5FD7;&#xFF0C;&#x7528;&#x4E8E;&#x8BB0;&#x5F55;&#x8C03;&#x7528;&#x4FE1;&#x606F;</td>
-<td>&#x672C;&#x5730;&#x5B58;&#x50A8;&#xFF0C;&#x5F71;&#x54CD;&#x6027;&#x80FD;&#xFF0C;&#x53D7;&#x78C1;&#x76D8;&#x5927;&#x5C0F;&#x9650;&#x5236;</td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>&#x5206;&#x5E03;&#x5F0F;&#x4E8B;&#x52A1;</td>
-<td>Research</td>
-<td>JTA/XA&#x4E09;&#x9636;&#x6BB5;&#x63D0;&#x4EA4;&#x4E8B;&#x52A1;</td>
-<td>&#x4E0D;&#x7A33;&#x5B9A;</td>
-<td>&#x4E0D;&#x53EF;&#x7528;</td>
-</tr>
-</tbody>
-</table>
-<h4 id="&#x7B56;&#x7565;&#x6210;&#x719F;&#x5EA6;">&#x7B56;&#x7565;&#x6210;&#x719F;&#x5EA6;</h4>
-<table>
-<thead>
-<tr>
-<th>Feature</th>
-<th>Maturity</th>
-<th>Strength</th>
-<th>Problem</th>
-<th>Advise</th>
-<th>User</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>Zookeeper&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;</td>
-<td>Stable</td>
-<td>&#x652F;&#x6301;&#x57FA;&#x4E8E;&#x7F51;&#x7EDC;&#x7684;&#x96C6;&#x7FA4;&#x65B9;&#x5F0F;&#xFF0C;&#x6709;&#x5E7F;&#x6CDB;&#x5468;&#x8FB9;&#x5F00;&#x6E90;&#x4EA7;&#x54C1;&#xFF0C;&#x5EFA;&#x8BAE;&#x4F7F;&#x7528;dubbo-2.3.3&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#xFF08;&#x63A8;&#x8350;&#x4F7F;&#x7528;&#xFF09;</td>
-<td>&#x4F9D;&#x8D56;&#x4E8E;Zookeeper&#x7684;&#x7A33;&#x5B9A;&#x6027;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td></td>
-</tr>
-<tr>
-<td>Redis&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;</td>
-<td>Stable</td>
-<td>&#x652F;&#x6301;&#x57FA;&#x4E8E;&#x5BA2;&#x6237;&#x7AEF;&#x53CC;&#x5199;&#x7684;&#x96C6;&#x7FA4;&#x65B9;&#x5F0F;&#xFF0C;&#x6027;&#x80FD;&#x9AD8;</td>
-<td>&#x8981;&#x6C42;&#x670D;&#x52A1;&#x5668;&#x65F6;&#x95F4;&#x540C;&#x6B65;&#xFF0C;&#x7528;&#x4E8E;&#x68C0;&#x67E5;&#x5FC3;&#x8DF3;&#x8FC7;&#x671F;&#x810F;&#x6570;&#x636E;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td></td>
-</tr>
-<tr>
-<td>Multicast&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;</td>
-<td>Tested</td>
-<td>&#x53BB;&#x4E2D;&#x5FC3;&#x5316;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x5B89;&#x88C5;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;</td>
-<td>&#x4F9D;&#x8D56;&#x4E8E;&#x7F51;&#x7EDC;&#x62D3;&#x666E;&#x548C;&#x8DEF;&#x7531;&#xFF0C;&#x8DE8;&#x673A;&#x623F;&#x6709;&#x98CE;&#x9669;</td>
-<td>&#x5C0F;&#x89C4;&#x6A21;&#x5E94;&#x7528;&#x6216;&#x5F00;&#x53D1;&#x6D4B;&#x8BD5;&#x73AF;&#x5883;</td>
-<td></td>
-</tr>
-<tr>
-<td>Simple&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;</td>
-<td>Tested</td>
-<td>Dogfooding&#xFF0C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x672C;&#x8EAB;&#x4E5F;&#x662F;&#x4E00;&#x4E2A;&#x6807;&#x51C6;&#x7684;RPC&#x670D;&#x52A1;</td>
-<td>&#x6CA1;&#x6709;&#x96C6;&#x7FA4;&#x652F;&#x6301;&#xFF0C;&#x53EF;&#x80FD;&#x5355;&#x70B9;&#x6545;&#x969C;</td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>Feature</td>
-<td>Maturity</td>
-<td>Strength</td>
-<td>Problem</td>
-<td>Advise</td>
-<td>User</td>
-</tr>
-<tr>
-<td>Simple&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;</td>
-<td>Stable</td>
-<td>&#x652F;&#x6301;JFreeChart&#x7EDF;&#x8BA1;&#x62A5;&#x8868;</td>
-<td>&#x6CA1;&#x6709;&#x96C6;&#x7FA4;&#x652F;&#x6301;&#xFF0C;&#x53EF;&#x80FD;&#x5355;&#x70B9;&#x6545;&#x969C;&#xFF0C;&#x4F46;&#x6545;&#x969C;&#x540E;&#x4E0D;&#x5F71;&#x54CD;RPC&#x8FD0;&#x884C;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td></td>
-</tr>
-<tr>
-<td>Feature</td>
-<td>Maturity</td>
-<td>Strength</td>
-<td>Problem</td>
-<td>Advise</td>
-<td>User</td>
-</tr>
-<tr>
-<td>Dubbo&#x534F;&#x8BAE;</td>
-<td>Stable</td>
-<td>&#x91C7;&#x7528;NIO&#x590D;&#x7528;&#x5355;&#x4E00;&#x957F;&#x8FDE;&#x63A5;&#xFF0C;&#x5E76;&#x4F7F;&#x7528;&#x7EBF;&#x7A0B;&#x6C60;&#x5E76;&#x53D1;&#x5904;&#x7406;&#x8BF7;&#x6C42;&#xFF0C;&#x51CF;&#x5C11;&#x63E1;&#x624B;&#x548C;&#x52A0;&#x5927;&#x5E76;&#x53D1;&#x6548;&#x7387;&#xFF0C;&#x6027;&#x80FD;&#x8F83;&#x597D;&#xFF08;&#x63A8;&#x8350;&#x4F7F;&#x7528;&#xFF09;</td>
-<td>&#x5728;&#x5927;&#x6587;&#x4EF6;&#x4F20;&#x8F93;&#x65F6;&#xFF0C;&#x5355;&#x4E00;&#x8FDE;&#x63A5;&#x4F1A;&#x6210;&#x4E3A;&#x74F6;&#x9888;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>Rmi&#x534F;&#x8BAE;</td>
-<td>Stable</td>
-<td>&#x53EF;&#x4E0E;&#x539F;&#x751F;RMI&#x4E92;&#x64CD;&#x4F5C;&#xFF0C;&#x57FA;&#x4E8E;TCP&#x534F;&#x8BAE;</td>
-<td>&#x5076;&#x5C14;&#x4F1A;&#x8FDE;&#x63A5;&#x5931;&#x8D25;&#xFF0C;&#x9700;&#x91CD;&#x5EFA;Stub</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>Hessian&#x534F;&#x8BAE;</td>
-<td>Stable</td>
-<td>&#x53EF;&#x4E0E;&#x539F;&#x751F;Hessian&#x4E92;&#x64CD;&#x4F5C;&#xFF0C;&#x57FA;&#x4E8E;HTTP&#x534F;&#x8BAE;</td>
-<td>&#x9700;hessian.jar&#x652F;&#x6301;&#xFF0C;http&#x77ED;&#x8FDE;&#x63A5;&#x7684;&#x5F00;&#x9500;&#x5927;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td></td>
-</tr>
-<tr>
-<td>Feature</td>
-<td>Maturity</td>
-<td>Strength</td>
-<td>Problem</td>
-<td>Advise</td>
-<td>User</td>
-</tr>
-<tr>
-<td>Netty Transporter</td>
-<td>Stable</td>
-<td>JBoss&#x7684;NIO&#x6846;&#x67B6;&#xFF0C;&#x6027;&#x80FD;&#x8F83;&#x597D;&#xFF08;&#x63A8;&#x8350;&#x4F7F;&#x7528;&#xFF09;</td>
-<td>&#x4E00;&#x6B21;&#x8BF7;&#x6C42;&#x6D3E;&#x53D1;&#x4E24;&#x79CD;&#x4E8B;&#x4EF6;&#xFF0C;&#x9700;&#x5C4F;&#x853D;&#x65E0;&#x7528;&#x4E8B;&#x4EF6;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>Mina Transporter</td>
-<td>Stable</td>
-<td>&#x8001;&#x724C;NIO&#x6846;&#x67B6;&#xFF0C;&#x7A33;&#x5B9A;</td>
-<td>&#x5F85;&#x53D1;&#x9001;&#x6D88;&#x606F;&#x961F;&#x5217;&#x6D3E;&#x53D1;&#x4E0D;&#x53CA;&#x65F6;&#xFF0C;&#x5927;&#x538B;&#x529B;&#x4E0B;&#xFF0C;&#x4F1A;&#x51FA;&#x73B0;FullGC</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>Grizzly Transporter</td>
-<td>Tested</td>
-<td>Sun&#x7684;NIO&#x6846;&#x67B6;&#xFF0C;&#x5E94;&#x7528;&#x4E8E;GlassFish&#x670D;&#x52A1;&#x5668;&#x4E2D;</td>
-<td>&#x7EBF;&#x7A0B;&#x6C60;&#x4E0D;&#x53EF;&#x6269;&#x5C55;&#xFF0C;Filter&#x4E0D;&#x80FD;&#x62E6;&#x622A;&#x4E0B;&#x4E00;Filter</td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>Feature</td>
-<td>Maturity</td>
-<td>Strength</td>
-<td>Problem</td>
-<td>Advise</td>
-<td>User</td>
-</tr>
-<tr>
-<td>Hessian Serialization</td>
-<td>Stable</td>
-<td>&#x6027;&#x80FD;&#x8F83;&#x597D;&#xFF0C;&#x591A;&#x8BED;&#x8A00;&#x652F;&#x6301;&#xFF08;&#x63A8;&#x8350;&#x4F7F;&#x7528;&#xFF09;</td>
-<td>Hessian&#x7684;&#x5404;&#x7248;&#x672C;&#x517C;&#x5BB9;&#x6027;&#x4E0D;&#x597D;&#xFF0C;&#x53EF;&#x80FD;&#x548C;&#x5E94;&#x7528;&#x4F7F;&#x7528;&#x7684;Hessian&#x51B2;&#x7A81;&#xFF0C;Dubbo&#x5185;&#x5D4C;&#x4E86;hessian3.2.1&#x7684;&#x6E90;&#x7801;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>Dubbo Serialization</td>
-<td>Tested</td>
-<td>&#x901A;&#x8FC7;&#x4E0D;&#x4F20;&#x9001;POJO&#x7684;&#x7C7B;&#x5143;&#x4FE1;&#x606F;&#xFF0C;&#x5728;&#x5927;&#x91CF;POJO&#x4F20;&#x8F93;&#x65F6;&#xFF0C;&#x6027;&#x80FD;&#x8F83;&#x597D;</td>
-<td>&#x5F53;&#x53C2;&#x6570;&#x5BF9;&#x8C61;&#x589E;&#x52A0;&#x5B57;&#x6BB5;&#x65F6;&#xFF0C;&#x9700;&#x5916;&#x90E8;&#x6587;&#x4EF6;&#x58F0;&#x660E;</td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>Json Serialization</td>
-<td>Tested</td>
-<td>&#x7EAF;&#x6587;&#x672C;&#xFF0C;&#x53EF;&#x8DE8;&#x8BED;&#x8A00;&#x89E3;&#x6790;&#xFF0C;&#x7F3A;&#x7701;&#x91C7;&#x7528;FastJson&#x89E3;&#x6790;</td>
-<td>&#x6027;&#x80FD;&#x8F83;&#x5DEE;</td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>Java Serialization</td>
-<td>Stable</td>
-<td>Java&#x539F;&#x751F;&#x652F;&#x6301;</td>
-<td>&#x6027;&#x80FD;&#x8F83;&#x5DEE;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td></td>
-</tr>
-<tr>
-<td>Feature</td>
-<td>Maturity</td>
-<td>Strength</td>
-<td>Problem</td>
-<td>Advise</td>
-<td>User</td>
-</tr>
-<tr>
-<td>Javassist ProxyFactory</td>
-<td>Stable</td>
-<td>&#x901A;&#x8FC7;&#x5B57;&#x8282;&#x7801;&#x751F;&#x6210;&#x4EE3;&#x66FF;&#x53CD;&#x5C04;&#xFF0C;&#x6027;&#x80FD;&#x6BD4;&#x8F83;&#x597D;&#xFF08;&#x63A8;&#x8350;&#x4F7F;&#x7528;&#xFF09;</td>
-<td>&#x4F9D;&#x8D56;&#x4E8E;javassist.jar&#x5305;&#xFF0C;&#x5360;&#x7528;JVM&#x7684;Perm&#x5185;&#x5B58;&#xFF0C;Perm&#x53EF;&#x80FD;&#x8981;&#x8BBE;&#x5927;&#x4E00;&#x4E9B;&#xFF1A;java -XX:PermSize=128m</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>Jdk ProxyFactory</td>
-<td>Stable</td>
-<td>JDK&#x539F;&#x751F;&#x652F;&#x6301;</td>
-<td>&#x6027;&#x80FD;&#x8F83;&#x5DEE;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td></td>
-</tr>
-<tr>
-<td>Feature</td>
-<td>Maturity</td>
-<td>Strength</td>
-<td>Problem</td>
-<td>Advise</td>
-<td>User</td>
-</tr>
-<tr>
-<td>Failover Cluster</td>
-<td>Stable</td>
-<td>&#x5931;&#x8D25;&#x81EA;&#x52A8;&#x5207;&#x6362;&#xFF0C;&#x5F53;&#x51FA;&#x73B0;&#x5931;&#x8D25;&#xFF0C;&#x91CD;&#x8BD5;&#x5176;&#x5B83;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x8BFB;&#x64CD;&#x4F5C;&#xFF08;&#x63A8;&#x8350;&#x4F7F;&#x7528;&#xFF09;</td>
-<td>&#x91CD;&#x8BD5;&#x4F1A;&#x5E26;&#x6765;&#x66F4;&#x957F;&#x5EF6;&#x8FDF;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>Failfast Cluster</td>
-<td>Stable</td>
-<td>&#x5FEB;&#x901F;&#x5931;&#x8D25;&#xFF0C;&#x53EA;&#x53D1;&#x8D77;&#x4E00;&#x6B21;&#x8C03;&#x7528;&#xFF0C;&#x5931;&#x8D25;&#x7ACB;&#x5373;&#x62A5;&#x9519;,&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x975E;&#x5E42;&#x7B49;&#x6027;&#x7684;&#x5199;&#x64CD;&#x4F5C;</td>
-<td>&#x5982;&#x679C;&#x6709;&#x673A;&#x5668;&#x6B63;&#x5728;&#x91CD;&#x542F;&#xFF0C;&#x53EF;&#x80FD;&#x4F1A;&#x51FA;&#x73B0;&#x8C03;&#x7528;&#x5931;&#x8D25;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>Failsafe Cluster</td>
-<td>Stable</td>
-<td>&#x5931;&#x8D25;&#x5B89;&#x5168;&#xFF0C;&#x51FA;&#x73B0;&#x5F02;&#x5E38;&#x65F6;&#xFF0C;&#x76F4;&#x63A5;&#x5FFD;&#x7565;&#xFF0C;&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x5199;&#x5165;&#x5BA1;&#x8BA1;&#x65E5;&#x5FD7;&#x7B49;&#x64CD;&#x4F5C;</td>
-<td>&#x8C03;&#x7528;&#x4FE1;&#x606F;&#x4E22;&#x5931;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Monitor</td>
-</tr>
-<tr>
-<td>Failback Cluster</td>
-<td>Tested</td>
-<td>&#x5931;&#x8D25;&#x81EA;&#x52A8;&#x6062;&#x590D;&#xFF0C;&#x540E;&#x53F0;&#x8BB0;&#x5F55;&#x5931;&#x8D25;&#x8BF7;&#x6C42;&#xFF0C;&#x5B9A;&#x65F6;&#x91CD;&#x53D1;&#xFF0C;&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x6D88;&#x606F;&#x901A;&#x77E5;&#x64CD;&#x4F5C;</td>
-<td>&#x4E0D;&#x53EF;&#x9760;&#xFF0C;&#x91CD;&#x542F;&#x4E22;&#x5931;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Registry</td>
-</tr>
-<tr>
-<td>Forking Cluster</td>
-<td>Tested</td>
-<td>&#x5E76;&#x884C;&#x8C03;&#x7528;&#x591A;&#x4E2A;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x53EA;&#x8981;&#x4E00;&#x4E2A;&#x6210;&#x529F;&#x5373;&#x8FD4;&#x56DE;&#xFF0C;&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x5B9E;&#x65F6;&#x6027;&#x8981;&#x6C42;&#x8F83;&#x9AD8;&#x7684;&#x8BFB;&#x64CD;&#x4F5C;</td>
-<td>&#x9700;&#x8981;&#x6D6A;&#x8D39;&#x66F4;&#x591A;&#x670D;&#x52A1;&#x8D44;&#x6E90;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td></td>
-</tr>
-<tr>
-<td>Broadcast Cluster</td>
-<td>Tested</td>
-<td>&#x5E7F;&#x64AD;&#x8C03;&#x7528;&#x6240;&#x6709;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x9010;&#x4E2A;&#x8C03;&#x7528;&#xFF0C;&#x4EFB;&#x610F;&#x4E00;&#x53F0;&#x62A5;&#x9519;&#x5219;&#x62A5;&#x9519;&#xFF0C;&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x66F4;&#x65B0;&#x63D0;&#x4F9B;&#x65B9;&#x672C;&#x5730;&#x72B6;&#x6001;</td>
-<td>&#x901F;&#x5EA6;&#x6162;&#xFF0C;&#x4EFB;&#x610F;&#x4E00;&#x53F0;&#x62A5;&#x9519;&#x5219;&#x62A5;&#x9519;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td></td>
-</tr>
-<tr>
-<td>Feature</td>
-<td>Maturity</td>
-<td>Strength</td>
-<td>Problem</td>
-<td>Advise</td>
-<td>User</td>
-</tr>
-<tr>
-<td>Random LoadBalance</td>
-<td>Stable</td>
-<td>&#x968F;&#x673A;&#xFF0C;&#x6309;&#x6743;&#x91CD;&#x8BBE;&#x7F6E;&#x968F;&#x673A;&#x6982;&#x7387;&#xFF08;&#x63A8;&#x8350;&#x4F7F;&#x7528;&#xFF09;</td>
-<td>&#x5728;&#x4E00;&#x4E2A;&#x622A;&#x9762;&#x4E0A;&#x78B0;&#x649E;&#x7684;&#x6982;&#x7387;&#x9AD8;&#xFF0C;&#x91CD;&#x8BD5;&#x65F6;&#xFF0C;&#x53EF;&#x80FD;&#x51FA;&#x73B0;&#x77AC;&#x95F4;&#x538B;&#x529B;&#x4E0D;&#x5747;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>RoundRobin LoadBalance</td>
-<td>Stable</td>
-<td>&#x8F6E;&#x5FAA;&#xFF0C;&#x6309;&#x516C;&#x7EA6;&#x540E;&#x7684;&#x6743;&#x91CD;&#x8BBE;&#x7F6E;&#x8F6E;&#x5FAA;&#x6BD4;&#x7387;</td>
-<td>&#x5B58;&#x5728;&#x6162;&#x7684;&#x673A;&#x5668;&#x7D2F;&#x79EF;&#x8BF7;&#x6C42;&#x95EE;&#x9898;&#xFF0C;&#x6781;&#x7AEF;&#x60C5;&#x51B5;&#x53EF;&#x80FD;&#x4EA7;&#x751F;&#x96EA;&#x5D29;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td></td>
-</tr>
-<tr>
-<td>LeastActive LoadBalance</td>
-<td>Stable</td>
-<td>&#x6700;&#x5C11;&#x6D3B;&#x8DC3;&#x8C03;&#x7528;&#x6570;&#xFF0C;&#x76F8;&#x540C;&#x6D3B;&#x8DC3;&#x6570;&#x7684;&#x968F;&#x673A;&#xFF0C;&#x6D3B;&#x8DC3;&#x6570;&#x6307;&#x8C03;&#x7528;&#x524D;&#x540E;&#x8BA1;&#x6570;&#x5DEE;&#xFF0C;&#x4F7F;&#x6162;&#x7684;&#x673A;&#x5668;&#x6536;&#x5230;&#x66F4;&#x5C11;&#x8BF7;&#x6C42;</td>
-<td>&#x4E0D;&#x652F;&#x6301;&#x6743;&#x91CD;&#xFF0C;&#x5728;&#x5BB9;&#x91CF;&#x89C4;&#x5212;&#x65F6;&#xFF0C;&#x4E0D;&#x80FD;&#x901A;&#x8FC7;&#x6743;&#x91CD;&#x628A;&#x538B;&#x529B;&#x5BFC;&#x5411;&#x4E00;&#x53F0;&#x673A;&#x5668;&#x538B;&#x6D4B;&#x5BB9;&#x91CF;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td></td>
-</tr>
-<tr>
-<td>ConsistentHash LoadBalance</td>
-<td>Stable</td>
-<td>&#x4E00;&#x81F4;&#x6027;Hash&#xFF0C;&#x76F8;&#x540C;&#x53C2;&#x6570;&#x7684;&#x8BF7;&#x6C42;&#x603B;&#x662F;&#x53D1;&#x5230;&#x540C;&#x4E00;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x5F53;&#x67D0;&#x4E00;&#x53F0;&#x63D0;&#x4F9B;&#x8005;&#x6302;&#x65F6;&#xFF0C;&#x539F;&#x672C;&#x53D1;&#x5F80;&#x8BE5;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x8BF7;&#x6C42;&#xFF0C;&#x57FA;&#x4E8E;&#x865A;&#x62DF;&#x8282;&#x70B9;&#xFF0C;&#x5E73;&#x644A;&#x5230;&#x5176;&#x5B83;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x4E0D;&#x4F1A;&#x5F15;&#x8D77;&#x5267;&#x70C8;&#x53D8;&#x52A8;</td>
-<td>&#x538B;&#x529B;&#x5206;&#x644A;&#x4E0D;&#x5747;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td></td>
-</tr>
-<tr>
-<td>Feature</td>
-<td>Maturity</td>
-<td>Strength</td>
-<td>Problem</td>
-<td>Advise</td>
-<td>User</td>
-</tr>
-<tr>
-<td>&#x6761;&#x4EF6;&#x8DEF;&#x7531;&#x89C4;&#x5219;</td>
-<td>Stable</td>
-<td>&#x57FA;&#x4E8E;&#x6761;&#x4EF6;&#x8868;&#x8FBE;&#x5F0F;&#x7684;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#xFF0C;&#x529F;&#x80FD;&#x7B80;&#x5355;&#x6613;&#x7528;</td>
-<td>&#x6709;&#x4E9B;&#x590D;&#x6742;&#x591A;&#x5206;&#x652F;&#x6761;&#x4EF6;&#x60C5;&#x51B5;&#xFF0C;&#x89C4;&#x5219;&#x5F88;&#x96BE;&#x63CF;&#x8FF0;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>&#x811A;&#x672C;&#x8DEF;&#x7531;&#x89C4;&#x5219;</td>
-<td>Tested</td>
-<td>&#x57FA;&#x4E8E;&#x811A;&#x672C;&#x5F15;&#x64CE;&#x7684;&#x8DEF;&#x7531;&#x89C4;&#x5219;&#xFF0C;&#x529F;&#x80FD;&#x5F3A;&#x5927;</td>
-<td>&#x6CA1;&#x6709;&#x8FD0;&#x884C;&#x6C99;&#x7BB1;&#xFF0C;&#x811A;&#x672C;&#x80FD;&#x529B;&#x8FC7;&#x4E8E;&#x5F3A;&#x5927;&#xFF0C;&#x53EF;&#x80FD;&#x6210;&#x4E3A;&#x540E;&#x95E8;</td>
-<td>&#x8BD5;&#x7528;</td>
-<td></td>
-</tr>
-<tr>
-<td>Feature</td>
-<td>Maturity</td>
-<td>Strength</td>
-<td>Problem</td>
-<td>Advise</td>
-<td>User</td>
-</tr>
-<tr>
-<td>Spring Container</td>
-<td>Stable</td>
-<td>&#x81EA;&#x52A8;&#x52A0;&#x8F7D;META-INF/spring&#x76EE;&#x5F55;&#x4E0B;&#x7684;&#x6240;&#x6709;Spring&#x914D;&#x7F6E;</td>
-<td></td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>Jetty Container</td>
-<td>Stable</td>
-<td>&#x542F;&#x52A8;&#x4E00;&#x4E2A;&#x5185;&#x5D4C;Jetty&#xFF0C;&#x7528;&#x4E8E;&#x6C47;&#x62A5;&#x72B6;&#x6001;</td>
-<td>&#x5927;&#x91CF;&#x8BBF;&#x95EE;&#x9875;&#x9762;&#x65F6;&#xFF0C;&#x4F1A;&#x5F71;&#x54CD;&#x670D;&#x52A1;&#x5668;&#x7684;&#x7EBF;&#x7A0B;&#x548C;&#x5185;&#x5B58;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-<tr>
-<td>Log4j Container</td>
-<td>Stable</td>
-<td>&#x81EA;&#x52A8;&#x914D;&#x7F6E;log4j&#x7684;&#x914D;&#x7F6E;&#xFF0C;&#x5728;&#x591A;&#x8FDB;&#x7A0B;&#x542F;&#x52A8;&#x65F6;&#xFF0C;&#x81EA;&#x52A8;&#x7ED9;&#x65E5;&#x5FD7;&#x6587;&#x4EF6;&#x6309;&#x8FDB;&#x7A0B;&#x5206;&#x76EE;&#x5F55;</td>
-<td>&#x7528;&#x6237;&#x4E0D;&#x80FD;&#x63A7;&#x5236;log4j&#x7684;&#x914D;&#x7F6E;&#xFF0C;&#x4E0D;&#x7075;&#x6D3B;</td>
-<td>&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;</td>
-<td>Alibaba</td>
-</tr>
-</tbody>
-</table>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="../dependencies/dependencies.html" class="navigation navigation-prev navigation-unique" aria-label="Previous page: 2.1 依赖">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"2.2 成熟度","level":"1.3.2","depth":2,"next":{"title":"3 配置","level":"1.4","depth":1,"ref":"","articles":[{"title":"3.1 XML配置","level":"1.4.1","depth":2,"path":"configuration/xml.md","ref":"configuration/xml.md","articles":[]},{"title":"3.2 属性配置","level":"1.4.2","depth":2,"path":"configuration/properties.md","ref":"configuration/properties.md","articles":[]},{"title":"3.3 API配置","level":"1.4.3","depth":2,"path":"configuration/api.md","ref":"configuration/api.md","articles":[]},{"title":"3.4 注解配置","level":"1.4.4","depth":2,"path":"configuration/annotation.md","ref":"configuration/annotation.md","articles":[]}]},"previous":{"title":"2.1 依赖","level":"1.3.1","depth":2,"path":"dependencies/dependencies.md","ref":"dependencies/dependencies.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"maturity/maturity.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/perf-test.html b/user-guide/perf-test.html
deleted file mode 100644
index f690d98..0000000
--- a/user-guide/perf-test.html
+++ /dev/null
@@ -1,1813 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>15 性能测试报告 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="coveragence.html" />
-    
-    
-    <link rel="prev" href="benchmark.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="preface/background.html">
-            
-                <a href="preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="preface/requirements.html">
-            
-                <a href="preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="preface/architacture.html">
-            
-                <a href="preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="preface/usage.html">
-            
-                <a href="preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="dependencies/dependencies.html">
-            
-                <a href="dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="maturity/maturity.html">
-            
-                <a href="maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="configuration/xml.html">
-            
-                <a href="configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="configuration/properties.html">
-            
-                <a href="configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="configuration/api.html">
-            
-                <a href="configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="configuration/annotation.html">
-            
-                <a href="configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="demos/启动时检查.html">
-            
-                <a href="demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="demos/集群容错.html">
-            
-                <a href="demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="demos/负载均衡.html">
-            
-                <a href="demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="demos/线程模型.html">
-            
-                <a href="demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="demos/直连提供者.html">
-            
-                <a href="demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="demos/只订阅.html">
-            
-                <a href="demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="demos/只注册.html">
-            
-                <a href="demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="demos/静态服务.html">
-            
-                <a href="demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="demos/多协议.html">
-            
-                <a href="demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="demos/多注册中心.html">
-            
-                <a href="demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="demos/服务分组.html">
-            
-                <a href="demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="demos/多版本.html">
-            
-                <a href="demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="demos/分组聚合.html">
-            
-                <a href="demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="demos/参数验证.html">
-            
-                <a href="demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="demos/结果缓存.html">
-            
-                <a href="demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="demos/泛化引用.html">
-            
-                <a href="demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="demos/泛化实现.html">
-            
-                <a href="demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="demos/回声测试.html">
-            
-                <a href="demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="demos/上下文信息.html">
-            
-                <a href="demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="demos/隐式传参.html">
-            
-                <a href="demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="demos/异步调用.html">
-            
-                <a href="demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="demos/本地调用.html">
-            
-                <a href="demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="demos/参数回调.html">
-            
-                <a href="demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="demos/事件通知.html">
-            
-                <a href="demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="demos/本地存根.html">
-            
-                <a href="demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="demos/本地伪装.html">
-            
-                <a href="demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="demos/延迟暴露.html">
-            
-                <a href="demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="demos/并发控制.html">
-            
-                <a href="demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="demos/连接控制.html">
-            
-                <a href="demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="demos/延迟连接.html">
-            
-                <a href="demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="demos/粘滞连接.html">
-            
-                <a href="demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="demos/令牌验证.html">
-            
-                <a href="demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="demos/路由规则.html">
-            
-                <a href="demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="demos/配置规则.html">
-            
-                <a href="demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="demos/服务降级.html">
-            
-                <a href="demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="demos/优雅停机.html">
-            
-                <a href="demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="demos/主机绑定.html">
-            
-                <a href="demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="demos/日志适配.html">
-            
-                <a href="demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="demos/访问日志.html">
-            
-                <a href="demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="demos/服务容器.html">
-            
-                <a href="demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="demos/ReferenceConfig缓存.html">
-            
-                <a href="demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="demos/分布式事务.html">
-            
-                <a href="demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="reference-apiconf/api.html">
-            
-                <a href="reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="reference-xmlconf/introduction.html">
-            
-                <a href="reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="reference-xmlconf/dubbo-service.html">
-            
-                <a href="reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="reference-xmlconf/dubbo-reference.html">
-            
-                <a href="reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="reference-xmlconf/dubbo-registry.html">
-            
-                <a href="reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="reference-xmlconf/dubbo-application.html">
-            
-                <a href="reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="reference-xmlconf/dubbo-module.html">
-            
-                <a href="reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="reference-xmlconf/dubbo-provider.html">
-            
-                <a href="reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="reference-xmlconf/dubbo-method.html">
-            
-                <a href="reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="reference-xmlconf/dubbo-argument.html">
-            
-                <a href="reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="reference-protocol/introduction.html">
-            
-                <a href="reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="reference-protocol/dubbo.html">
-            
-                <a href="reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="reference-protocol/rmi.html">
-            
-                <a href="reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="reference-protocol/hessian.html">
-            
-                <a href="reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="reference-protocol/http.html">
-            
-                <a href="reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="reference-protocol/webservice.html">
-            
-                <a href="reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="reference-protocol/thrift.html">
-            
-                <a href="reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="reference-protocol/memcached.html">
-            
-                <a href="reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="reference-protocol/redis.html">
-            
-                <a href="reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="reference-registry/introduction.html">
-            
-                <a href="reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="reference-registry/multicast.html">
-            
-                <a href="reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="reference-registry/zookeeper.html">
-            
-                <a href="reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="reference-registry/redis.html">
-            
-                <a href="reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="reference-registry/simple.html">
-            
-                <a href="reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="reference-telnet/telnet.html">
-            
-                <a href="reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="reference-maven/maven.html">
-            
-                <a href="reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="best-practice.html">
-            
-                <a href="best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="recommend.html">
-            
-                <a href="recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="capacity-plan.html">
-            
-                <a href="capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="benchmark.html">
-            
-                <a href="benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.16" data-path="perf-test.html">
-            
-                <a href="perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="coveragence.html">
-            
-                <a href="coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >15 性能测试报告</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h4 id="&#x6D4B;&#x8BD5;&#x8BF4;&#x660E;">&#x6D4B;&#x8BD5;&#x8BF4;&#x660E;</h4>
-<ol>
-<li>&#x672C;&#x6B21;&#x6027;&#x80FD;&#x6D4B;&#x8BD5;&#xFF0C;&#x6D4B;&#x8BD5;&#x4E86;dubbo2.0&#x6240;&#x6709;&#x652F;&#x6301;&#x7684;&#x534F;&#x8BAE;&#x5728;&#x4E0D;&#x540C;&#x5927;&#x5C0F;&#x548C;&#x6570;&#x636E;&#x7C7B;&#x578B;&#x4E0B;&#x7684;&#x8868;&#x73B0;&#xFF0C;&#x5E76;&#x4E0E;dubbo1.0&#x8FDB;&#x884C;&#x4E86;&#x5BF9;&#x6BD4;&#x3002;</li>
-<li>&#x6574;&#x4F53;&#x6027;&#x80FD;&#x76F8;&#x6BD4;1.0&#x6709;&#x4E86;&#x63D0;&#x5347;&#xFF0C;&#x5E73;&#x5747;&#x63D0;&#x5347;10%&#xFF0C;&#x4F7F;&#x7528;dubbo2.0&#x65B0;&#x589E;&#x7684;dubbo&#x5E8F;&#x5217;&#x5316;&#x8FD8;&#x80FD;&#x83B7;&#x5F97;10%~50%&#x7684;&#x6027;&#x80FD;&#x63D0;&#x5347;&#xFF0C;&#x8BE6;&#x89C1;&#x4E0B;&#x9762;&#x7684;&#x6027;&#x80FD;&#x6570;&#x636E;&#x3002;</li>
-<li>&#x7A33;&#x5B9A;&#x6027;&#x6D4B;&#x8BD5;&#x4E2D;&#x7531;&#x4E8E;&#x5C06;&#x5E95;&#x5C42;&#x901A;&#x4FE1;&#x6846;&#x67B6;&#x4ECE;mina&#x6362;&#x6210;netty&#xFF0C;old&#x533A;&#x5BF9;&#x8C61;&#x7684;&#x589E;&#x957F;&#x5927;&#x5927;&#x51CF;&#x5C11;&#xFF0C;50&#x5C0F;&#x65F6;&#x8FD0;&#x884C;&#xFF0C;&#x589E;&#x957F;&#x4E0D;&#x5230;200m&#xFF0C;&#x65E0;fullgc&#x3002;&#xFF08;&#x53EF;&#x4EE5;&#x786E;&#x8BA4;&#x4E3A;mina&#x5728;&#x9AD8;&#x5E76;&#x53D1;&#x4E0B;&#x7684;&#x8BBE;&#x8BA1;&#x7F3A;&#x9677;&#xFF09;</li>
-<li>&#x5B58;&#x5728;&#x7684;&#x95EE;&#x9898;&#xFF1A;&#x5728;50k&#x6570;&#x636E;&#x7684;&#x65F6;&#x5019;2.0&#x6027;&#x80FD;&#x4E0D;&#x5982;1.0&#xFF0C;&#x6000;&#x7591;&#x53EF;&#x80FD;&#x662F;&#x7F13;&#x51B2;&#x533A;&#x8BBE;&#x7F6E;&#x7684;&#x95EE;&#x9898;&#xFF0C;&#x4E0B;&#x7248;&#x672C;&#x4F1A;&#x8FDB;&#x4E00;&#x6B65;&#x786E;&#x8BA4;&#x3002; </li>
-</ol>
-<h4 id="&#x6D4B;&#x8BD5;&#x73AF;&#x5883;">&#x6D4B;&#x8BD5;&#x73AF;&#x5883;</h4>
-<h5 id="&#x786C;&#x4EF6;&#x90E8;&#x7F72;&#x4E0E;&#x53C2;&#x6570;&#x8C03;&#x6574;">&#x786C;&#x4EF6;&#x90E8;&#x7F72;&#x4E0E;&#x53C2;&#x6570;&#x8C03;&#x6574;</h5>
-<table>
-<thead>
-<tr>
-<th>&#x673A;&#x578B;</th>
-<th>CPU</th>
-<th>&#x5185;&#x5B58;</th>
-<th>&#x7F51;&#x7EDC;</th>
-<th>&#x78C1;&#x76D8;</th>
-<th>&#x5185;&#x6838;</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>Tecal BH620</td>
-<td>model name : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz cache size : 8192 KB processor_count : 16</td>
-<td>Total System Memory: 6G Hardware Memory Info:  Size: 4096MB</td>
-<td>eth0: Link is up at 1000 Mbps, full duplex. peth0: Link is up at 1000 Mbps, full duplex.</td>
-<td>/dev/sda: 597.9 GB</td>
-<td>2.6.18-128.el5xen x86_64</td>
-</tr>
-</tbody>
-</table>
-<h5 id="&#x8F6F;&#x4EF6;&#x67B6;&#x6784;">&#x8F6F;&#x4EF6;&#x67B6;&#x6784;</h5>
-<table>
-<thead>
-<tr>
-<th>&#x8F6F;&#x4EF6;&#x540D;&#x79F0;&#x53CA;&#x7248;&#x672C;</th>
-<th>&#x5173;&#x952E;&#x53C2;&#x6570;</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>java version &quot;1.6.0_18&quot; Java(TM) SE Runtime Environment (build 1.6.0_18-b07) Java HotSpot(TM) 64-Bit Server VM (build 16.0-b13, mixed mode)</td>
-<td>-server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70</td>
-</tr>
-<tr>
-<td>jboss-4.0.5.GA</td>
-<td></td>
-</tr>
-<tr>
-<td>httpd-2.0.61</td>
-<td>KeepAlive On MaxKeepAliveRequests 100000 KeepAliveTimeout 180 MaxRequestsPerChild 1000000 <ifmodule worker.c="">         StartServers 5         MaxClients 1024         MinSpareThreads 25         MaxSpareThreads 75         ThreadsPerChild 64         ThreadLimit 128         ServerLimit 16 </ifmodule></td>
-</tr>
-</tbody>
-</table>
-<h4 id="&#x6D4B;&#x8BD5;&#x76EE;&#x7684;">&#x6D4B;&#x8BD5;&#x76EE;&#x7684;</h4>
-<h5 id="&#x671F;&#x671B;&#x6027;&#x80FD;&#x6307;&#x6807;&#x91CF;&#x5316;">&#x671F;&#x671B;&#x6027;&#x80FD;&#x6307;&#x6807;(&#x91CF;&#x5316;)</h5>
-<table>
-<thead>
-<tr>
-<th>&#x573A;&#x666F;&#x540D;&#x79F0;</th>
-<th>&#x5BF9;&#x5E94;&#x6307;&#x6807;&#x540D;&#x79F0;</th>
-<th>&#x671F;&#x671B;&#x503C;&#x8303;&#x56F4;</th>
-<th>&#x5B9E;&#x9645;&#x503C;</th>
-<th>&#x662F;&#x5426;&#x6EE1;&#x8DB3;&#x671F;&#x671B;(&#x662F;/&#x5426;)</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>1k&#x6570;&#x636E;</td>
-<td>&#x54CD;&#x5E94;&#x65F6;&#x95F4;</td>
-<td>0.9ms</td>
-<td>0.79ms</td>
-<td>&#x662F; </td>
-</tr>
-<tr>
-<td>1k&#x6570;&#x636E;</td>
-<td>TPS</td>
-<td>10000</td>
-<td>11994</td>
-<td>&#x662F;</td>
-</tr>
-</tbody>
-</table>
-<h5 id="&#x671F;&#x671B;&#x8FD0;&#x884C;&#x72B6;&#x51B5;&#x975E;&#x91CF;&#x5316;&#xFF0C;&#x53EF;&#x9009;">&#x671F;&#x671B;&#x8FD0;&#x884C;&#x72B6;&#x51B5;(&#x975E;&#x91CF;&#x5316;&#xFF0C;&#x53EF;&#x9009;)</h5>
-<ul>
-<li>2.0&#x6027;&#x80FD;&#x4E0D;&#x4F4E;&#x4E8E;1.0,2.0&#x548C;1.0&#x4E92;&#x8C03;&#x7528;&#x7684;&#x6027;&#x80FD;&#x65E0;&#x660E;&#x663E;&#x4E0B;&#x964D;&#x3002; &#x9664;&#x4E86;50k string&#x5176;&#x4F59;&#x7686;&#x901A;&#x8FC7;</li>
-<li>JVM&#x5185;&#x5B58;&#x8FD0;&#x884C;&#x7A33;&#x5B9A;&#xFF0C;&#x65E0;OOM&#xFF0C;&#x5806;&#x5185;&#x5B58;&#x4E2D;&#x65E0;&#x4E0D;&#x5408;&#x7406;&#x7684;&#x5927;&#x5BF9;&#x8C61;&#x7684;&#x5360;&#x7528;&#x3002;&#x901A;&#x8FC7;</li>
-<li>CPU&#x3001;&#x5185;&#x5B58;&#x3001;&#x7F51;&#x7EDC;&#x3001;&#x78C1;&#x76D8;&#x3001;&#x6587;&#x4EF6;&#x53E5;&#x67C4;&#x5360;&#x7528;&#x5E73;&#x7A33;&#x3002;&#x901A;&#x8FC7;</li>
-<li>&#x65E0;&#x9891;&#x7E41;&#x7EBF;&#x7A0B;&#x9501;&#xFF0C;&#x7EBF;&#x7A0B;&#x6570;&#x5E73;&#x7A33;&#x3002;&#x901A;&#x8FC7;</li>
-<li>&#x4E1A;&#x52A1;&#x7EBF;&#x7A0B;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x3002;&#x901A;&#x8FC7;</li>
-</ul>
-<h4 id="&#x6D4B;&#x8BD5;&#x811A;&#x672C;">&#x6D4B;&#x8BD5;&#x811A;&#x672C;</h4>
-<ol>
-<li><p>&#x6027;&#x80FD;&#x6D4B;&#x8BD5;&#x573A;&#x666F;&#xFF08;10&#x5E76;&#x53D1;&#xFF09;</p>
-<ul>
-<li>&#x4F20;&#x5165;1kString&#xFF0C;&#x4E0D;&#x505A;&#x4EFB;&#x4F55;&#x5904;&#x7406;&#xFF0C;&#x539F;&#x6837;&#x8FD4;&#x56DE;</li>
-<li>&#x4F20;&#x5165;50kString&#xFF0C;&#x4E0D;&#x505A;&#x4EFB;&#x4F55;&#x5904;&#x7406;&#xFF0C;&#x539F;&#x6837;&#x8FD4;&#x56DE;</li>
-<li>&#x4F20;&#x5165;200kString&#xFF0C;&#x4E0D;&#x505A;&#x4EFB;&#x4F55;&#x5904;&#x7406;&#xFF0C;&#x539F;&#x6837;&#x8FD4;&#x56DE;</li>
-<li><p>&#x4F20;&#x5165;1k pojo&#xFF08;&#x5D4C;&#x5957;&#x7684;&#x590D;&#x6742;person&#x5BF9;&#x8C61;&#xFF09;&#xFF0C;&#x4E0D;&#x505A;&#x4EFB;&#x4F55;&#x5904;&#x7406;&#xFF0C;&#x539F;&#x6837;&#x8FD4;&#x56DE;</p>
-<p>&#x4E0A;&#x8FF0;&#x573A;&#x666F;&#x5728;dubbo1.0\dubbo2.0(hessian2&#x5E8F;&#x5217;&#x5316;)\dubbo2.0(dubbo&#x5E8F;&#x5217;&#x5316;)\rmi\hessian3.2.0\http(json&#x5E8F;&#x5217;&#x5316;)&#x8FDB;&#x884C;10&#x5206;&#x949F;&#x7684;&#x6027;&#x80FD;&#x6D4B;&#x8BD5;&#x3002; &#x4E3B;&#x8981;&#x8003;&#x5BDF;&#x5E8F;&#x5217;&#x5316;&#x548C;&#x7F51;&#x7EDC;IO&#x7684;&#x6027;&#x80FD;&#xFF0C;&#x56E0;&#x6B64;&#x670D;&#x52A1;&#x7AEF;&#x65E0;&#x4EFB;&#x4F55;&#x4E1A;&#x52A1;&#x903B;&#x8F91;&#x3002;&#x53D6;10&#x5E76;&#x53D1;&#x662F;&#x8003;&#x8651;&#x5230;http&#x534F;&#x8BAE;&#x5728;&#x9AD8;&#x5E76;&#x53D1;&#x4E0B;&#x5BF9;CPU&#x7684;&#x4F7F;&#x7528;&#x7387;&#x8F83;&#x9AD8;&#x53EF;&#x80FD;&#x4F1A;&#x5148;&#x6253;&#x5230;&#x74F6;&#x9888;&#x3002; </p>
-</li>
-</ul>
-</li>
-<li>&#x5E76;&#x53D1;&#x573A;&#x666F;&#xFF08;20&#x5E76;&#x53D1;&#xFF09;
- &#x4F20;&#x5165;1kString&#xFF0C;&#x5728;&#x670D;&#x52A1;&#x5668;&#x6BB5;&#x5FAA;&#x73AF;1w&#x6B21;&#xFF0C;&#x6BCF;&#x6B21;&#x91CD;&#x65B0;&#x751F;&#x6210;&#x4E00;&#x4E2A;&#x968F;&#x673A;&#x6570;&#x7136;&#x540E;&#x8FDB;&#x884C;&#x62FC;&#x88C5;&#x3002;&#x8003;&#x5BDF;&#x4E1A;&#x52A1;&#x7EBF;&#x7A0B;&#x662F;&#x5426;&#x80FD;&#x591F;&#x5206;&#x914D;&#x5230;&#x6BCF;&#x4E2A;CPU&#x4E0A;&#x3002; </li>
-<li>&#x7A33;&#x5B9A;&#x6027;&#x573A;&#x666F;&#xFF08;20&#x5E76;&#x53D1;&#xFF09;
- &#x540C;&#x65F6;&#x8C03;&#x7528;1&#x4E2A;&#x53C2;&#x6570;&#x4E3A;String&#xFF08;5k&#xFF09;&#x65B9;&#x6CD5;&#xFF0C;1&#x4E2A;&#x53C2;&#x6570;&#x4E3A;person&#x5BF9;&#x8C61;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;1&#x4E2A;&#x53C2;&#x6570;&#x4E3A;map&#xFF08;&#x503C;&#x4E3A;3&#x4E2A;person&#xFF09;&#x7684;&#x65B9;&#x6CD5;&#xFF0C;&#x6301;&#x7EED;&#x8FD0;&#x884C;50&#x5C0F;&#x65F6;&#x3002; </li>
-<li>&#x9AD8;&#x538B;&#x529B;&#x573A;&#x666F;&#xFF08;20&#x5E76;&#x53D1;&#xFF09;
- &#x5728;&#x7A33;&#x5B9A;&#x6027;&#x573A;&#x666F;&#x7684;&#x57FA;&#x7840;&#x4E0A;&#xFF0C;&#x5C06;&#x63D0;&#x4F9B;&#x8005;&#x548C;&#x6D88;&#x8D39;&#x8005;&#x5E03;&#x7F6E;&#x6210;&#x5747;&#x4E3A;2&#x53F0;&#xFF08;&#x4E00;&#x53F0;&#x673A;&#x5668;2&#x4E2A;&#x5B9E;&#x4F8B;&#xFF09;&#xFF0C;&#x4E14;String&#x7684;&#x53C2;&#x6570;&#x4ECE;20byte&#x5230;200k&#xFF0C;&#x6BCF;&#x9694;10&#x5206;&#x949F;&#x968F;&#x673A;&#x53D8;&#x6362;&#x3002; </li>
-</ol>
-<h4 id="&#x6D4B;&#x8BD5;&#x7ED3;&#x679C;">&#x6D4B;&#x8BD5;&#x7ED3;&#x679C;</h4>
-<h5 id="&#x573A;&#x666F;&#x540D;&#x79F0;&#xFF1A;pojo-&#x573A;&#x666F;">&#x573A;&#x666F;&#x540D;&#x79F0;&#xFF1A;POJO &#x573A;&#x666F;</h5>
-<table>
-<thead>
-<tr>
-<th></th>
-<th>TPS&#x6210;&#x529F;&#x5E73;&#x5747;&#x503C;</th>
-<th>&#x54CD;&#x5E94;&#x65F6;&#x95F4;&#x6210;&#x529F;&#x5E73;&#x5747;&#x503C;(ms) </th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td> dubbo1 (hessian2&#x5E8F;&#x5217;&#x5316;+mina)</td>
-<td>10813.5</td>
-<td>0.9 </td>
-</tr>
-<tr>
-<td> dubbo2 (hessian2&#x5E8F;&#x5217;&#x5316;+netty)</td>
-<td>11994</td>
-<td>0.79 </td>
-</tr>
-<tr>
-<td> dubbo2 (dubbo&#x5E8F;&#x5217;&#x5316;+netty)</td>
-<td>13620</td>
-<td>0.67 </td>
-</tr>
-<tr>
-<td> rmi</td>
-<td>2461.79</td>
-<td>4 </td>
-</tr>
-<tr>
-<td> hessian</td>
-<td>2417.7</td>
-<td>4.1 </td>
-</tr>
-<tr>
-<td> http&#xFF08;json&#x5E8F;&#x5217;&#x5316;&#xFF09;</td>
-<td>8179.08</td>
-<td>1.15 </td>
-</tr>
-<tr>
-<td> 2.0&#x548C;1.0&#x9ED8;&#x8BA4;&#x5BF9;&#x6BD4;&#x767E;&#x5206;&#x6BD4;</td>
-<td>10.92</td>
-<td>-12.22 </td>
-</tr>
-<tr>
-<td> dubbo&#x5E8F;&#x5217;&#x5316;&#x76F8;&#x6BD4;hessian2&#x5E8F;&#x5217;&#x5316;&#x767E;&#x5206;&#x6BD4;</td>
-<td>13.56</td>
-<td>-15.19 </td>
-</tr>
-</tbody>
-</table>
-<p><strong>POJO TPS</strong></p>
-<p><img src="sources/images/pojotps.png" alt="/user-guide/images/pojotps.png"></p>
-<p><strong>POJO Response</strong></p>
-<p><img src="sources/images/pojores.png" alt="/user-guide/images/pojores.png"></p>
-<h5 id="&#x573A;&#x666F;&#x540D;&#x79F0;&#xFF1A;1k-string-&#x573A;&#x666F;">&#x573A;&#x666F;&#x540D;&#x79F0;&#xFF1A;1k string &#x573A;&#x666F;</h5>
-<table>
-<thead>
-<tr>
-<th></th>
-<th>TPS&#x6210;&#x529F;&#x5E73;&#x5747;&#x503C;</th>
-<th>&#x54CD;&#x5E94;&#x65F6;&#x95F4;&#x6210;&#x529F;&#x5E73;&#x5747;&#x503C;(ms) </th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>dubbo1&#xFF08;hessian2&#x5E8F;&#x5217;&#x5316;+mina&#xFF09;</td>
-<td>11940</td>
-<td>0.8 </td>
-</tr>
-<tr>
-<td>dubbo2 (hessian2&#x5E8F;&#x5217;&#x5316;+netty)</td>
-<td>14402</td>
-<td>0.64 </td>
-</tr>
-<tr>
-<td>dubbo2 (dubbo&#x5E8F;&#x5217;&#x5316;+netty)</td>
-<td>15096</td>
-<td>0.6 </td>
-</tr>
-<tr>
-<td>rmi</td>
-<td>11136.02</td>
-<td>0.81 </td>
-</tr>
-<tr>
-<td>hessian</td>
-<td>11426.83</td>
-<td>0.79 </td>
-</tr>
-<tr>
-<td>http&#xFF08;json&#x5E8F;&#x5217;&#x5316;&#xFF09;</td>
-<td>8919.27</td>
-<td>1.04 </td>
-</tr>
-<tr>
-<td>2.0&#x548C;1.0&#x9ED8;&#x8BA4;&#x5BF9;&#x6BD4;&#x767E;&#x5206;&#x6BD4;</td>
-<td>20.62</td>
-<td>-20.00 </td>
-</tr>
-<tr>
-<td>dubbo&#x5E8F;&#x5217;&#x5316;&#x76F8;&#x6BD4;hessian2&#x5E8F;&#x5217;&#x5316;&#x767E;&#x5206;&#x6BD4;</td>
-<td>4.82</td>
-<td>-6.25 </td>
-</tr>
-</tbody>
-</table>
-<p><strong>1k TPS</strong></p>
-<p><img src="sources/images/1ktps.png" alt="/user-guide/images/1ktps.png"></p>
-<p><strong>1k Response</strong></p>
-<p><img src="sources/images/1kres.png" alt="/user-guide/images/1kres.png"></p>
-<h5 id="&#x573A;&#x666F;&#x540D;&#x79F0;&#xFF1A;50k-string&#x573A;&#x666F;">&#x573A;&#x666F;&#x540D;&#x79F0;&#xFF1A;50k string&#x573A;&#x666F;</h5>
-<table>
-<thead>
-<tr>
-<th></th>
-<th>TPS&#x6210;&#x529F;&#x5E73;&#x5747;&#x503C;</th>
-<th>&#x54CD;&#x5E94;&#x65F6;&#x95F4;&#x6210;&#x529F;&#x5E73;&#x5747;&#x503C;(ms) </th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td> dubbo1&#xFF08;hessian2&#x5E8F;&#x5217;&#x5316;+mina</td>
-<td>1962.7</td>
-<td>5.1 </td>
-</tr>
-<tr>
-<td> dubbo2 (hessian2&#x5E8F;&#x5217;&#x5316;+netty)</td>
-<td>1293</td>
-<td>5.03 </td>
-</tr>
-<tr>
-<td> dubbo2 (dubbo&#x5E8F;&#x5217;&#x5316;+netty)</td>
-<td>1966</td>
-<td>7.68 </td>
-</tr>
-<tr>
-<td> rmi</td>
-<td>3349.88</td>
-<td>2.9 </td>
-</tr>
-<tr>
-<td> hessian</td>
-<td>1925.33</td>
-<td>5.13 </td>
-</tr>
-<tr>
-<td> http&#xFF08;json&#x5E8F;&#x5217;&#x5316;&#xFF09;</td>
-<td>3247.1</td>
-<td>3 </td>
-</tr>
-<tr>
-<td> 2.0&#x548C;1.0&#x9ED8;&#x8BA4;&#x5BF9;&#x6BD4;&#x767E;&#x5206;&#x6BD4;</td>
-<td>-34.12</td>
-<td>-1.37 </td>
-</tr>
-<tr>
-<td> dubbo&#x5E8F;&#x5217;&#x5316;&#x76F8;&#x6BD4;hessian2&#x5E8F;&#x5217;&#x5316;&#x767E;&#x5206;&#x6BD4;</td>
-<td>52.05</td>
-<td>52.68 </td>
-</tr>
-</tbody>
-</table>
-<p><strong>50K TPS</strong></p>
-<p><img src="sources/images/50ktps.png" alt="/user-guide/images/50ktps.png"></p>
-<p><strong>50K Response</strong></p>
-<p><a href="sources/images/50kres.png">/user-guide/images/50kres.png</a></p>
-<h5 id="&#x573A;&#x666F;&#x540D;&#x79F0;&#xFF1A;200k-string-&#x573A;&#x666F;">&#x573A;&#x666F;&#x540D;&#x79F0;&#xFF1A;200k string &#x573A;&#x666F;</h5>
-<table>
-<thead>
-<tr>
-<th></th>
-<th>TPS&#x6210;&#x529F;&#x5E73;&#x5747;&#x503C;</th>
-<th>&#x54CD;&#x5E94;&#x65F6;&#x95F4;&#x6210;&#x529F;&#x5E73;&#x5747;&#x503C;(ms) </th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td> dubbo1&#xFF08;hessian2&#x5E8F;&#x5217;&#x5316;+mina&#xFF09;</td>
-<td>324.2</td>
-<td>30.8 </td>
-</tr>
-<tr>
-<td> dubbo2 (hessian2&#x5E8F;&#x5217;&#x5316;+netty)</td>
-<td>362.92</td>
-<td>27.49 </td>
-</tr>
-<tr>
-<td> dubbo2 (dubbo&#x5E8F;&#x5217;&#x5316;+netty)</td>
-<td>569.5</td>
-<td>17.51 </td>
-</tr>
-<tr>
-<td> rmi</td>
-<td>1031.28</td>
-<td>9.61</td>
-</tr>
-<tr>
-<td> hessian</td>
-<td>628.06</td>
-<td>15.83 </td>
-</tr>
-<tr>
-<td> http&#xFF08;json&#x5E8F;&#x5217;&#x5316;&#xFF09;</td>
-<td>1011.97</td>
-<td>9.79 </td>
-</tr>
-<tr>
-<td> 2.0&#x548C;1.0&#x9ED8;&#x8BA4;&#x5BF9;&#x6BD4;&#x767E;&#x5206;&#x6BD4;</td>
-<td>11.94</td>
-<td>-10.75 </td>
-</tr>
-<tr>
-<td> dubbo&#x5E8F;&#x5217;&#x5316;&#x76F8;&#x6BD4;hessian2&#x5E8F;&#x5217;&#x5316;&#x767E;&#x5206;&#x6BD4;</td>
-<td>56.92</td>
-<td>-36.30 </td>
-</tr>
-</tbody>
-</table>
-<p><strong>200K TPS</strong></p>
-<p><img src="sources/images/200ktps.png" alt="/user-guide/images/200ktps.png"></p>
-<p><strong>200K Response</strong></p>
-<p><img src="sources/images/200kres.png" alt="/user-guide/images/200kres.png"></p>
-<h4 id="&#x6D4B;&#x8BD5;&#x5206;&#x6790;">&#x6D4B;&#x8BD5;&#x5206;&#x6790;</h4>
-<h5 id="&#x6027;&#x80FD;&#x5206;&#x6790;&#x8BC4;&#x4F30;">&#x6027;&#x80FD;&#x5206;&#x6790;&#x8BC4;&#x4F30;</h5>
-<p>Dubbo2.0&#x7684;&#x6027;&#x80FD;&#x6D4B;&#x8BD5;&#x7ED3;&#x8BBA;&#x4E3A;&#x901A;&#x8FC7;&#xFF0C;&#x4ECE;&#x6027;&#x80FD;&#x3001;&#x5185;&#x5B58;&#x5360;&#x7528;&#x548C;&#x7A33;&#x5B9A;&#x6027;&#x4E0A;&#x90FD;&#x6709;&#x4E86;&#x63D0;&#x9AD8;&#x548C;&#x6539;&#x8FDB;&#x3002;&#x7531;&#x5176;&#x662F;&#x5185;&#x5B58;&#x7BA1;&#x7406;&#x7531;&#x4E8E;&#x5C06;mina&#x6362;&#x6210;netty&#xFF0C;&#x5927;&#x5927;&#x51CF;&#x5C11;&#x4E86;1.0&#x7248;&#x672C;&#x5728;&#x9AD8;&#x5E76;&#x53D1;&#x5927;&#x6570;&#x636E;&#x4E0B;&#x7684;&#x5185;&#x5B58;&#x5927;&#x952F;&#x9F7F;&#x3002;&#x5982;&#x4E0B;&#x56FE;&#xFF1A;</p>
-<h5 id="&#x6027;&#x80FD;&#x5BF9;&#x6BD4;&#x5206;&#x6790;&#x65B0;&#x65E7;&#x73AF;&#x5883;&#x3001;&#x4E0D;&#x540C;&#x6570;&#x636E;&#x91CF;&#x7EA7;&#x7B49;">&#x6027;&#x80FD;&#x5BF9;&#x6BD4;&#x5206;&#x6790;(&#x65B0;&#x65E7;&#x73AF;&#x5883;&#x3001;&#x4E0D;&#x540C;&#x6570;&#x636E;&#x91CF;&#x7EA7;&#x7B49;)</h5>
-<p>Dubbo2.0&#x76F8;&#x6BD4;&#x8F83;Dubbo1.0&#xFF08;&#x9ED8;&#x8BA4;&#x4F7F;&#x7528;&#x7684;&#x90FD;&#x662F;hessian2&#x5E8F;&#x5217;&#x5316;&#xFF09;&#x6027;&#x80FD;&#x5747;&#x6709;&#x63D0;&#x5347;&#xFF08;&#x9664;&#x4E86;50k String&#xFF09;&#xFF0C;&#x8BE6;&#x89C1;&#x7B2C;&#x4E94;&#x7AE0;&#x7684;&#x6027;&#x80FD;&#x6570;&#x636E;&#x3002;</p>
-<p>&#x51FA;&#x4E8E;&#x517C;&#x5BB9;&#x6027;&#x8003;&#x8651;&#x9ED8;&#x8BA4;&#x7684;&#x5E8F;&#x5217;&#x5316;&#x65B9;&#x5F0F;&#x548C;1.0&#x4FDD;&#x6301;&#x4E00;&#x81F4;&#x4F7F;&#x7528;hessian2&#xFF0C;&#x5982;&#x5BF9;&#x6027;&#x80FD;&#x6709;&#x66F4;&#x9AD8;&#x8981;&#x6C42;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;dubbo&#x5E8F;&#x5217;&#x5316;&#xFF0C;&#x7531;&#x5176;&#x662F;&#x5728;&#x5904;&#x7406;&#x590D;&#x6742;&#x5BF9;&#x8C61;&#x65F6;&#xFF0C;&#x5728;&#x5927;&#x6570;&#x636E;&#x91CF;&#x4E0B;&#x80FD;&#x83B7;&#x5F97;50%&#x7684;&#x63D0;&#x5347;&#xFF08;&#x4F46;&#x6B64;&#x65F6;&#x5DF2;&#x4E0D;&#x5EFA;&#x8BAE;&#x4F7F;&#x7528;Dubbo&#x534F;&#x8BAE;&#xFF09;&#x3002;</p>
-<p>Dubbo&#x7684;&#x8BBE;&#x8BA1;&#x76EE;&#x7684;&#x662F;&#x4E3A;&#x4E86;&#x6EE1;&#x8DB3;&#x9AD8;&#x5E76;&#x53D1;&#x5C0F;&#x6570;&#x636E;&#x91CF;&#x7684;rpc&#x8C03;&#x7528;&#xFF0C;&#x5728;&#x5927;&#x6570;&#x636E;&#x91CF;&#x4E0B;&#x7684;&#x6027;&#x80FD;&#x8868;&#x73B0;&#x5E76;&#x4E0D;&#x597D;&#xFF0C;&#x5EFA;&#x8BAE;&#x4F7F;&#x7528;rmi&#x6216;http&#x534F;&#x8BAE;&#x3002;</p>
-<h5 id="&#x6D4B;&#x8BD5;&#x5C40;&#x9650;&#x6027;&#x5206;&#x6790;&#xFF08;&#x53EF;&#x9009;&#xFF09;">&#x6D4B;&#x8BD5;&#x5C40;&#x9650;&#x6027;&#x5206;&#x6790;&#xFF08;&#x53EF;&#x9009;&#xFF09;</h5>
-<p>&#x672C;&#x6B21;&#x6027;&#x80FD;&#x6D4B;&#x8BD5;&#x8003;&#x5BDF;&#x7684;&#x662F;dubbo&#x672C;&#x8EAB;&#x7684;&#x6027;&#x80FD;&#xFF0C;&#x5B9E;&#x9645;&#x4F7F;&#x7528;&#x8FC7;&#x7A0B;&#x4E2D;&#x7684;&#x6027;&#x80FD;&#x6709;&#x5F85;&#x5E94;&#x7528;&#x6765;&#x9A8C;&#x8BC1;&#x3002;</p>
-<p>&#x7531;&#x4E8E;dubbo&#x672C;&#x8EAB;&#x7684;&#x6027;&#x80FD;&#x5360;&#x7528;&#x90FD;&#x5728;&#x6BEB;&#x79D2;&#x7EA7;&#xFF0C;&#x5360;&#x7684;&#x57FA;&#x6570;&#x5F88;&#x5C0F;&#xFF0C;&#x6027;&#x80FD;&#x63D0;&#x5347;&#x53EF;&#x80FD;&#x5BF9;&#x5E94;&#x7528;&#x6574;&#x4F53;&#x7684;&#x6027;&#x80FD;&#x53D8;&#x5316;&#x4E0D;&#x5927;&#x3002;</p>
-<p>&#x7531;&#x4E8E;&#x90AE;&#x4EF6;&#x7BC7;&#x5E45;&#x6240;&#x9650;&#x6CA1;&#x6709;&#x5217;&#x51FA;&#x6240;&#x6709;&#x7684;&#x76D1;&#x63A7;&#x56FE;&#xFF0C;&#x5982;&#x9700;&#x83B7;&#x5F97;&#x53EF;&#x5728;&#x5927;&#x529B;&#x795E;&#x5E73;&#x53F0;&#x4E0A;&#x67E5;&#x8BE2;&#x3002;</p>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="benchmark.html" class="navigation navigation-prev " aria-label="Previous page: 14 基准测试工具包">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="coveragence.html" class="navigation navigation-next " aria-label="Next page: 16 测试覆盖率报告">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"15 性能测试报告","level":"1.16","depth":1,"next":{"title":"16 测试覆盖率报告","level":"1.17","depth":1,"path":"coveragence.md","ref":"coveragence.md","articles":[]},"previous":{"title":"14 基准测试工具包","level":"1.15","depth":1,"path":"benchmark.md","ref":"benchmark.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"perf-test.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/preface/architacture.html b/user-guide/preface/architacture.html
deleted file mode 100644
index 3d5160c..0000000
--- a/user-guide/preface/architacture.html
+++ /dev/null
@@ -1,1513 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>1.3 架构 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="usage.html" />
-    
-    
-    <link rel="prev" href="requirements.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="background.html">
-            
-                <a href="background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="requirements.html">
-            
-                <a href="requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.2.3" data-path="architacture.html">
-            
-                <a href="architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="usage.html">
-            
-                <a href="usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >1.3 架构</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <ul>
-<li><strong>&#x8282;&#x70B9;&#x89D2;&#x8272;&#x8BF4;&#x660E;&#xFF1A;</strong></li>
-<li>Provider: &#x66B4;&#x9732;&#x670D;&#x52A1;&#x7684;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;</li>
-<li>Consumer: &#x8C03;&#x7528;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x7684;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#x3002;</li>
-<li>Registry: &#x670D;&#x52A1;&#x6CE8;&#x518C;&#x4E0E;&#x53D1;&#x73B0;&#x7684;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x3002;</li>
-<li>Monitor: &#x7EDF;&#x8BA1;&#x670D;&#x52A1;&#x7684;&#x8C03;&#x7528;&#x6B21;&#x8C03;&#x548C;&#x8C03;&#x7528;&#x65F6;&#x95F4;&#x7684;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x3002;</li>
-<li>Container: &#x670D;&#x52A1;&#x8FD0;&#x884C;&#x5BB9;&#x5668;&#x3002;</li>
-</ul>
-<p><img src="../sources/images/dubbo-architecture.jpg" alt="dubbo-architucture"></p>
-<ul>
-<li><strong>&#x8C03;&#x7528;&#x5173;&#x7CFB;&#x8BF4;&#x660E;&#xFF1A;</strong></li>
-<li>&#x670D;&#x52A1;&#x5BB9;&#x5668;&#x8D1F;&#x8D23;&#x542F;&#x52A8;&#xFF0C;&#x52A0;&#x8F7D;&#xFF0C;&#x8FD0;&#x884C;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x3002;</li>
-<li>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5728;&#x542F;&#x52A8;&#x65F6;&#xFF0C;&#x5411;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6CE8;&#x518C;&#x81EA;&#x5DF1;&#x63D0;&#x4F9B;&#x7684;&#x670D;&#x52A1;&#x3002;</li>
-<li>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x5728;&#x542F;&#x52A8;&#x65F6;&#xFF0C;&#x5411;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x8BA2;&#x9605;&#x81EA;&#x5DF1;&#x6240;&#x9700;&#x7684;&#x670D;&#x52A1;&#x3002;</li>
-<li>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x8FD4;&#x56DE;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5730;&#x5740;&#x5217;&#x8868;&#x7ED9;&#x6D88;&#x8D39;&#x8005;&#xFF0C;&#x5982;&#x679C;&#x6709;&#x53D8;&#x66F4;&#xFF0C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5C06;&#x57FA;&#x4E8E;&#x957F;&#x8FDE;&#x63A5;&#x63A8;&#x9001;&#x53D8;&#x66F4;&#x6570;&#x636E;&#x7ED9;&#x6D88;&#x8D39;&#x8005;&#x3002;</li>
-<li>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#xFF0C;&#x4ECE;&#x63D0;&#x4F9B;&#x8005;&#x5730;&#x5740;&#x5217;&#x8868;&#x4E2D;&#xFF0C;&#x57FA;&#x4E8E;&#x8F6F;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x7B97;&#x6CD5;&#xFF0C;&#x9009;&#x4E00;&#x53F0;&#x63D0;&#x4F9B;&#x8005;&#x8FDB;&#x884C;&#x8C03;&#x7528;&#xFF0C;&#x5982;&#x679C;&#x8C03;&#x7528;&#x5931;&#x8D25;&#xFF0C;&#x518D;&#x9009;&#x53E6;&#x4E00;&#x53F0;&#x8C03;&#x7528;&#x3002;</li>
-<li>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x548C;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x5728;&#x5185;&#x5B58;&#x4E2D;&#x7D2F;&#x8BA1;&#x8C03;&#x7528;&#x6B21;&#x6570;&#x548C;&#x8C03;&#x7528;&#x65F6;&#x95F4;&#xFF0C;&#x5B9A;&#x65F6;&#x6BCF;&#x5206;&#x949F;&#x53D1;&#x9001;&#x4E00;&#x6B21;&#x7EDF;&#x8BA1;&#x6570;&#x636E;&#x5230;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x3002;</li>
-</ul>
-<p>(1) &#x8FDE;&#x901A;&#x6027;&#xFF1A;
-&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x8D1F;&#x8D23;&#x670D;&#x52A1;&#x5730;&#x5740;&#x7684;&#x6CE8;&#x518C;&#x4E0E;&#x67E5;&#x627E;&#xFF0C;&#x76F8;&#x5F53;&#x4E8E;&#x76EE;&#x5F55;&#x670D;&#x52A1;&#xFF0C;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x548C;&#x6D88;&#x8D39;&#x8005;&#x53EA;&#x5728;&#x542F;&#x52A8;&#x65F6;&#x4E0E;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4EA4;&#x4E92;&#xFF0C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4E0D;&#x8F6C;&#x53D1;&#x8BF7;&#x6C42;&#xFF0C;&#x538B;&#x529B;&#x8F83;&#x5C0F;
-&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x8D1F;&#x8D23;&#x7EDF;&#x8BA1;&#x5404;&#x670D;&#x52A1;&#x8C03;&#x7528;&#x6B21;&#x6570;&#xFF0C;&#x8C03;&#x7528;&#x65F6;&#x95F4;&#x7B49;&#xFF0C;&#x7EDF;&#x8BA1;&#x5148;&#x5728;&#x5185;&#x5B58;&#x6C47;&#x603B;&#x540E;&#x6BCF;&#x5206;&#x949F;&#x4E00;&#x6B21;&#x53D1;&#x9001;&#x5230;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x5E76;&#x4EE5;&#x62A5;&#x8868;&#x5C55;&#x793A;
-&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5411;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6CE8;&#x518C;&#x5176;&#x63D0;&#x4F9B;&#x7684;&#x670D;&#x52A1;&#xFF0C;&#x5E76;&#x6C47;&#x62A5;&#x8C03;&#x7528;&#x65F6;&#x95F4;&#x5230;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#xFF0C;&#x6B64;&#x65F6;&#x95F4;&#x4E0D;&#x5305;&#x542B;&#x7F51;&#x7EDC;&#x5F00;&#x9500;
-&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x5411;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x83B7;&#x53D6;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5730;&#x5740;&#x5217;&#x8868;&#xFF0C;&#x5E76;&#x6839;&#x636E;&#x8D1F;&#x8F7D;&#x7B97;&#x6CD5;&#x76F4;&#x63A5;&#x8C03;&#x7528;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x540C;&#x65F6;&#x6C47;&#x62A5;&#x8C03;&#x7528;&#x65F6;&#x95F4;&#x5230;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#xFF0C;&#x6B64;&#x65F6;&#x95F4;&#x5305;&#x542B;&#x7F51;&#x7EDC;&#x5F00;&#x9500;
-&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x4E09;&#x8005;&#x4E4B;&#x95F4;&#x5747;&#x4E3A;&#x957F;&#x8FDE;&#x63A5;&#xFF0C;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x9664;&#x5916;
-&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x901A;&#x8FC7;&#x957F;&#x8FDE;&#x63A5;&#x611F;&#x77E5;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x5B58;&#x5728;&#xFF0C;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5B95;&#x673A;&#xFF0C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5C06;&#x7ACB;&#x5373;&#x63A8;&#x9001;&#x4E8B;&#x4EF6;&#x901A;&#x77E5;&#x6D88;&#x8D39;&#x8005;
-&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x548C;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x5168;&#x90E8;&#x5B95;&#x673A;&#xFF0C;&#x4E0D;&#x5F71;&#x54CD;&#x5DF2;&#x8FD0;&#x884C;&#x7684;&#x63D0;&#x4F9B;&#x8005;&#x548C;&#x6D88;&#x8D39;&#x8005;&#xFF0C;&#x6D88;&#x8D39;&#x8005;&#x5728;&#x672C;&#x5730;&#x7F13;&#x5B58;&#x4E86;&#x63D0;&#x4F9B;&#x8005;&#x5217;&#x8868;
-&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x548C;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x90FD;&#x662F;&#x53EF;&#x9009;&#x7684;&#xFF0C;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x53EF;&#x4EE5;&#x76F4;&#x8FDE;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;</p>
-<p>(2) &#x5065;&#x72B6;&#x6027;&#xFF1A;
-&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x5B95;&#x6389;&#x4E0D;&#x5F71;&#x54CD;&#x4F7F;&#x7528;&#xFF0C;&#x53EA;&#x662F;&#x4E22;&#x5931;&#x90E8;&#x5206;&#x91C7;&#x6837;&#x6570;&#x636E;
-&#x6570;&#x636E;&#x5E93;&#x5B95;&#x6389;&#x540E;&#xFF0C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4ECD;&#x80FD;&#x901A;&#x8FC7;&#x7F13;&#x5B58;&#x63D0;&#x4F9B;&#x670D;&#x52A1;&#x5217;&#x8868;&#x67E5;&#x8BE2;&#xFF0C;&#x4F46;&#x4E0D;&#x80FD;&#x6CE8;&#x518C;&#x65B0;&#x670D;&#x52A1;
-&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5BF9;&#x7B49;&#x96C6;&#x7FA4;&#xFF0C;&#x4EFB;&#x610F;&#x4E00;&#x53F0;&#x5B95;&#x6389;&#x540E;&#xFF0C;&#x5C06;&#x81EA;&#x52A8;&#x5207;&#x6362;&#x5230;&#x53E6;&#x4E00;&#x53F0;
-&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5168;&#x90E8;&#x5B95;&#x6389;&#x540E;&#xFF0C;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x548C;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x4ECD;&#x80FD;&#x901A;&#x8FC7;&#x672C;&#x5730;&#x7F13;&#x5B58;&#x901A;&#x8BAF;
-&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x65E0;&#x72B6;&#x6001;&#xFF0C;&#x4EFB;&#x610F;&#x4E00;&#x53F0;&#x5B95;&#x6389;&#x540E;&#xFF0C;&#x4E0D;&#x5F71;&#x54CD;&#x4F7F;&#x7528;
-&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5168;&#x90E8;&#x5B95;&#x6389;&#x540E;&#xFF0C;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x5E94;&#x7528;&#x5C06;&#x65E0;&#x6CD5;&#x4F7F;&#x7528;&#xFF0C;&#x5E76;&#x65E0;&#x9650;&#x6B21;&#x91CD;&#x8FDE;&#x7B49;&#x5F85;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x6062;&#x590D;</p>
-<p>(3) &#x4F38;&#x7F29;&#x6027;&#xFF1A;
-&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4E3A;&#x5BF9;&#x7B49;&#x96C6;&#x7FA4;&#xFF0C;&#x53EF;&#x52A8;&#x6001;&#x589E;&#x52A0;&#x673A;&#x5668;&#x90E8;&#x7F72;&#x5B9E;&#x4F8B;&#xFF0C;&#x6240;&#x6709;&#x5BA2;&#x6237;&#x7AEF;&#x5C06;&#x81EA;&#x52A8;&#x53D1;&#x73B0;&#x65B0;&#x7684;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;
-&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x65E0;&#x72B6;&#x6001;&#xFF0C;&#x53EF;&#x52A8;&#x6001;&#x589E;&#x52A0;&#x673A;&#x5668;&#x90E8;&#x7F72;&#x5B9E;&#x4F8B;&#xFF0C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5C06;&#x63A8;&#x9001;&#x65B0;&#x7684;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x4FE1;&#x606F;&#x7ED9;&#x6D88;&#x8D39;&#x8005;</p>
-<p>(4) &#x5347;&#x7EA7;&#x6027;&#xFF1A;
-&#x5F53;&#x670D;&#x52A1;&#x96C6;&#x7FA4;&#x89C4;&#x6A21;&#x8FDB;&#x4E00;&#x6B65;&#x6269;&#x5927;&#xFF0C;&#x5E26;&#x52A8;IT&#x6CBB;&#x7406;&#x7ED3;&#x6784;&#x8FDB;&#x4E00;&#x6B65;&#x5347;&#x7EA7;&#xFF0C;&#x9700;&#x8981;&#x5B9E;&#x73B0;&#x52A8;&#x6001;&#x90E8;&#x7F72;&#xFF0C;&#x8FDB;&#x884C;&#x6D41;&#x52A8;&#x8BA1;&#x7B97;&#xFF0C;&#x73B0;&#x6709;&#x5206;&#x5E03;&#x5F0F;&#x670D;&#x52A1;&#x67B6;&#x6784;&#x4E0D;&#x4F1A;&#x5E26;&#x6765;&#x963B;&#x529B;&#xFF1A;</p>
-<p><img src="../sources/images/dubbo-architecture-future.jpg" alt="dubbo-architucture"></p>
-<ul>
-<li>Deployer: &#x81EA;&#x52A8;&#x90E8;&#x7F72;&#x670D;&#x52A1;&#x7684;&#x672C;&#x5730;&#x4EE3;&#x7406;&#x3002;</li>
-<li>Repository: &#x4ED3;&#x5E93;&#x7528;&#x4E8E;&#x5B58;&#x50A8;&#x670D;&#x52A1;&#x5E94;&#x7528;&#x53D1;&#x5E03;&#x5305;&#x3002;</li>
-<li>Scheduler: &#x8C03;&#x5EA6;&#x4E2D;&#x5FC3;&#x57FA;&#x4E8E;&#x8BBF;&#x95EE;&#x538B;&#x529B;&#x81EA;&#x52A8;&#x589E;&#x51CF;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x3002;</li>
-<li>Admin: &#x7EDF;&#x4E00;&#x7BA1;&#x7406;&#x63A7;&#x5236;&#x53F0;&#x3002;</li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="requirements.html" class="navigation navigation-prev " aria-label="Previous page: 1.2 需求">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="usage.html" class="navigation navigation-next " aria-label="Next page: 1.4 用法">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.3 架构","level":"1.2.3","depth":2,"next":{"title":"1.4 用法","level":"1.2.4","depth":2,"path":"preface/usage.md","ref":"preface/usage.md","articles":[]},"previous":{"title":"1.2 需求","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"preface/requirements.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"preface/architacture.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/preface/background.html b/user-guide/preface/background.html
deleted file mode 100644
index a51bc15..0000000
--- a/user-guide/preface/background.html
+++ /dev/null
@@ -1,1485 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>1.1 背景 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="requirements.html" />
-    
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter active" data-level="1.2.1" data-path="background.html">
-            
-                <a href="background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="requirements.html">
-            
-                <a href="requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="architacture.html">
-            
-                <a href="architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="usage.html">
-            
-                <a href="usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >1.1 背景</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x968F;&#x7740;&#x4E92;&#x8054;&#x7F51;&#x7684;&#x53D1;&#x5C55;&#xFF0C;&#x7F51;&#x7AD9;&#x5E94;&#x7528;&#x7684;&#x89C4;&#x6A21;&#x4E0D;&#x65AD;&#x6269;&#x5927;&#xFF0C;&#x5E38;&#x89C4;&#x7684;&#x5782;&#x76F4;&#x5E94;&#x7528;&#x67B6;&#x6784;&#x5DF2;&#x65E0;&#x6CD5;&#x5E94;&#x5BF9;&#xFF0C;&#x5206;&#x5E03;&#x5F0F;&#x670D;&#x52A1;&#x67B6;&#x6784;&#x4EE5;&#x53CA;&#x6D41;&#x52A8;&#x8BA1;&#x7B97;&#x67B6;&#x6784;&#x52BF;&#x5728;&#x5FC5;&#x884C;&#xFF0C;&#x4E9F;&#x9700;&#x4E00;&#x4E2A;&#x6CBB;&#x7406;&#x7CFB;&#x7EDF;&#x786E;&#x4FDD;&#x67B6;&#x6784;&#x6709;&#x6761;&#x4E0D;&#x7D0A;&#x7684;&#x6F14;&#x8FDB;&#x3002;
-<img src="../sources/images/dubbo-architecture-roadmap.jpg" alt="image">  </p>
-<ul>
-<li><strong>&#x5355;&#x4E00;&#x5E94;&#x7528;&#x67B6;&#x6784;</strong><ul>
-<li>&#x5F53;&#x7F51;&#x7AD9;&#x6D41;&#x91CF;&#x5F88;&#x5C0F;&#x65F6;&#xFF0C;&#x53EA;&#x9700;&#x4E00;&#x4E2A;&#x5E94;&#x7528;&#xFF0C;&#x5C06;&#x6240;&#x6709;&#x529F;&#x80FD;&#x90FD;&#x90E8;&#x7F72;&#x5728;&#x4E00;&#x8D77;&#xFF0C;&#x4EE5;&#x51CF;&#x5C11;&#x90E8;&#x7F72;&#x8282;&#x70B9;&#x548C;&#x6210;&#x672C;&#x3002;
-&#x6B64;&#x65F6;&#xFF0C;&#x7528;&#x4E8E;&#x7B80;&#x5316;&#x589E;&#x5220;&#x6539;&#x67E5;&#x5DE5;&#x4F5C;&#x91CF;&#x7684;&#x6570;&#x636E;&#x8BBF;&#x95EE;&#x6846;&#x67B6;(ORM)&#x662F;&#x5173;&#x952E;&#x3002;</li>
-</ul>
-</li>
-<li><strong>&#x5782;&#x76F4;&#x5E94;&#x7528;&#x67B6;&#x6784;</strong>``<ul>
-<li>&#x5F53;&#x8BBF;&#x95EE;&#x91CF;&#x9010;&#x6E10;&#x589E;&#x5927;&#xFF0C;&#x5355;&#x4E00;&#x5E94;&#x7528;&#x589E;&#x52A0;&#x673A;&#x5668;&#x5E26;&#x6765;&#x7684;&#x52A0;&#x901F;&#x5EA6;&#x8D8A;&#x6765;&#x8D8A;&#x5C0F;&#xFF0C;&#x5C06;&#x5E94;&#x7528;&#x62C6;&#x6210;&#x4E92;&#x4E0D;&#x76F8;&#x5E72;&#x7684;&#x51E0;&#x4E2A;&#x5E94;&#x7528;&#xFF0C;&#x4EE5;&#x63D0;&#x5347;&#x6548;&#x7387;&#x3002;
-&#x6B64;&#x65F6;&#xFF0C;&#x7528;&#x4E8E;&#x52A0;&#x901F;&#x524D;&#x7AEF;&#x9875;&#x9762;&#x5F00;&#x53D1;&#x7684;Web&#x6846;&#x67B6;(MVC)&#x662F;&#x5173;&#x952E;&#x3002;</li>
-</ul>
-</li>
-<li><strong>&#x5206;&#x5E03;&#x5F0F;&#x670D;&#x52A1;&#x67B6;&#x6784;</strong><ul>
-<li>&#x5F53;&#x5782;&#x76F4;&#x5E94;&#x7528;&#x8D8A;&#x6765;&#x8D8A;&#x591A;&#xFF0C;&#x5E94;&#x7528;&#x4E4B;&#x95F4;&#x4EA4;&#x4E92;&#x4E0D;&#x53EF;&#x907F;&#x514D;&#xFF0C;&#x5C06;&#x6838;&#x5FC3;&#x4E1A;&#x52A1;&#x62BD;&#x53D6;&#x51FA;&#x6765;&#xFF0C;&#x4F5C;&#x4E3A;&#x72EC;&#x7ACB;&#x7684;&#x670D;&#x52A1;&#xFF0C;&#x9010;&#x6E10;&#x5F62;&#x6210;&#x7A33;&#x5B9A;&#x7684;&#x670D;&#x52A1;&#x4E2D;&#x5FC3;&#xFF0C;&#x4F7F;&#x524D;&#x7AEF;&#x5E94;&#x7528;&#x80FD;&#x66F4;&#x5FEB;&#x901F;&#x7684;&#x54CD;&#x5E94;&#x591A;&#x53D8;&#x7684;&#x5E02;&#x573A;&#x9700;&#x6C42;&#x3002;
-&#x6B64;&#x65F6;&#xFF0C;&#x7528;&#x4E8E;&#x63D0;&#x9AD8;&#x4E1A;&#x52A1;&#x590D;&#x7528;&#x53CA;&#x6574;&#x5408;&#x7684;&#x5206;&#x5E03;&#x5F0F;&#x670D;&#x52A1;&#x6846;&#x67B6;(RPC)&#x662F;&#x5173;&#x952E;&#x3002;</li>
-</ul>
-</li>
-<li><strong>&#x6D41;&#x52A8;&#x8BA1;&#x7B97;&#x67B6;&#x6784;</strong><ul>
-<li>&#x5F53;&#x670D;&#x52A1;&#x8D8A;&#x6765;&#x8D8A;&#x591A;&#xFF0C;&#x5BB9;&#x91CF;&#x7684;&#x8BC4;&#x4F30;&#xFF0C;&#x5C0F;&#x670D;&#x52A1;&#x8D44;&#x6E90;&#x7684;&#x6D6A;&#x8D39;&#x7B49;&#x95EE;&#x9898;&#x9010;&#x6E10;&#x663E;&#x73B0;&#xFF0C;&#x6B64;&#x65F6;&#x9700;&#x589E;&#x52A0;&#x4E00;&#x4E2A;&#x8C03;&#x5EA6;&#x4E2D;&#x5FC3;&#x57FA;&#x4E8E;&#x8BBF;&#x95EE;&#x538B;&#x529B;&#x5B9E;&#x65F6;&#x7BA1;&#x7406;&#x96C6;&#x7FA4;&#x5BB9;&#x91CF;&#xFF0C;&#x63D0;&#x9AD8;&#x96C6;&#x7FA4;&#x5229;&#x7528;&#x7387;&#x3002;
-&#x6B64;&#x65F6;&#xFF0C;&#x7528;&#x4E8E;&#x63D0;&#x9AD8;&#x673A;&#x5668;&#x5229;&#x7528;&#x7387;&#x7684;&#x8D44;&#x6E90;&#x8C03;&#x5EA6;&#x548C;&#x6CBB;&#x7406;&#x4E2D;&#x5FC3;(SOA)&#x662F;&#x5173;&#x952E;&#x3002;</li>
-</ul>
-</li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                
-                <a href="requirements.html" class="navigation navigation-next navigation-unique" aria-label="Next page: 1.2 需求">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.1 背景","level":"1.2.1","depth":2,"next":{"title":"1.2 需求","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"preface/requirements.md","articles":[]},"previous":{"title":"1 入门","level":"1.2","depth":1,"ref":"","articles":[{"title":"1.1 背景","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"preface/background.md","articles":[]},{"title":"1.2 需求","level":"1.2.2","depth":2,"path":"preface/requirements.md","ref":"preface/requirements.md","articles":[]},{"title":"1.3 架构","level":"1.2.3","depth":2,"path":"preface/architacture.md","ref":"preface/architacture.md","articles":[]},{"title":"1.4 用法","level":"1.2.4","depth":2,"path":"preface/usage.md","ref":"preface/usage.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"preface/background.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/preface/requirements.html b/user-guide/preface/requirements.html
deleted file mode 100644
index 60d6bf3..0000000
--- a/user-guide/preface/requirements.html
+++ /dev/null
@@ -1,1473 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>1.2 需求 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="architacture.html" />
-    
-    
-    <link rel="prev" href="background.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="background.html">
-            
-                <a href="background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.2.2" data-path="requirements.html">
-            
-                <a href="requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="architacture.html">
-            
-                <a href="architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="usage.html">
-            
-                <a href="usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >1.2 需求</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x5728;&#x5927;&#x89C4;&#x6A21;&#x670D;&#x52A1;&#x5316;&#x4E4B;&#x524D;&#xFF0C;&#x5E94;&#x7528;&#x53EF;&#x80FD;&#x53EA;&#x662F;&#x901A;&#x8FC7;RMI&#x6216;Hessian&#x7B49;&#x5DE5;&#x5177;&#xFF0C;&#x7B80;&#x5355;&#x7684;&#x66B4;&#x9732;&#x548C;&#x5F15;&#x7528;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#xFF0C;&#x901A;&#x8FC7;&#x914D;&#x7F6E;&#x670D;&#x52A1;&#x7684;URL&#x5730;&#x5740;&#x8FDB;&#x884C;&#x8C03;&#x7528;&#xFF0C;&#x901A;&#x8FC7;F5&#x7B49;&#x786C;&#x4EF6;&#x8FDB;&#x884C;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x3002;</p>
-<p><strong>(1) &#x5F53;&#x670D;&#x52A1;&#x8D8A;&#x6765;&#x8D8A;&#x591A;&#x65F6;&#xFF0C;&#x670D;&#x52A1;URL&#x914D;&#x7F6E;&#x7BA1;&#x7406;&#x53D8;&#x5F97;&#x975E;&#x5E38;&#x56F0;&#x96BE;&#xFF0C;F5&#x786C;&#x4EF6;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x5668;&#x7684;&#x5355;&#x70B9;&#x538B;&#x529B;&#x4E5F;&#x8D8A;&#x6765;&#x8D8A;&#x5927;&#x3002;</strong><br>&#x6B64;&#x65F6;&#x9700;&#x8981;&#x4E00;&#x4E2A;&#x670D;&#x52A1;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x52A8;&#x6001;&#x7684;&#x6CE8;&#x518C;&#x548C;&#x53D1;&#x73B0;&#x670D;&#x52A1;&#xFF0C;&#x4F7F;&#x670D;&#x52A1;&#x7684;&#x4F4D;&#x7F6E;&#x900F;&#x660E;&#x3002;
-&#x5E76;&#x901A;&#x8FC7;&#x5728;&#x6D88;&#x8D39;&#x65B9;&#x83B7;&#x53D6;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x5730;&#x5740;&#x5217;&#x8868;&#xFF0C;&#x5B9E;&#x73B0;&#x8F6F;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x548C;Failover&#xFF0C;&#x964D;&#x4F4E;&#x5BF9;F5&#x786C;&#x4EF6;&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x5668;&#x7684;&#x4F9D;&#x8D56;&#xFF0C;&#x4E5F;&#x80FD;&#x51CF;&#x5C11;&#x90E8;&#x5206;&#x6210;&#x672C;&#x3002;<br><strong>(2) &#x5F53;&#x8FDB;&#x4E00;&#x6B65;&#x53D1;&#x5C55;&#xFF0C;&#x670D;&#x52A1;&#x95F4;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#x53D8;&#x5F97;&#x9519;&#x8E2A;&#x590D;&#x6742;&#xFF0C;&#x751A;&#x81F3;&#x5206;&#x4E0D;&#x6E05;&#x54EA;&#x4E2A;&#x5E94;&#x7528;&#x8981;&#x5728;&#x54EA;&#x4E2A;&#x5E94;&#x7528;&#x4E4B;&#x524D;&#x542F;&#x52A8;&#xFF0C;&#x67B6;&#x6784;&#x5E08;&#x90FD;&#x4E0D;&#x80FD;&#x5B8C;&#x6574;&#x7684;&#x63CF;&#x8FF0;&#x5E94;&#x7528;&#x7684;&#x67B6;&#x6784;&#x5173;&#x7CFB;&#x3002;</strong><br>&#x8FD9;&#x65F6;&#xFF0C;&#x9700;&#x8981;&#x81EA;&#x52A8;&#x753B;&#x51FA;&#x5E94;&#x7528;&#x95F4;&#x7684;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#x56FE;&#xFF0C;&#x4EE5;&#x5E2E;&#x52A9;&#x67B6;&#x6784;&#x5E08;&#x7406;&#x6E05;&#x7406;&#x5173;&#x7CFB;&#x3002;<br><strong>(3) &#x63A5;&#x7740;&#xFF0C;&#x670D;&#x52A1;&#x7684;&#x8C03;&#x7528;&#x91CF;&#x8D8A;&#x6765;&#x8D8A;&#x5927;&#xFF0C;&#x670D;&#x52A1;&#x7684;&#x5BB9;&#x91CF;&#x95EE;&#x9898;&#x5C31;&#x66B4;&#x9732;&#x51FA;&#x6765;&#xFF0C;&#x8FD9;&#x4E2A;&#x670D;&#x52A1;&#x9700;&#x8981;&#x591A;&#x5C11;&#x673A;&#x5668;&#x652F;&#x6491;&#xFF1F;&#x4EC0;&#x4E48;&#x65F6;&#x5019;&#x8BE5;&#x52A0;&#x673A;&#x5668;&#xFF1F;</strong><br>&#x4E3A;&#x4E86;&#x89E3;&#x51B3;&#x8FD9;&#x4E9B;&#x95EE;&#x9898;&#xFF0C;&#x7B2C;&#x4E00;&#x6B65;&#xFF0C;&#x8981;&#x5C06;&#x670D;&#x52A1;&#x73B0;&#x5728;&#x6BCF;&#x5929;&#x7684;&#x8C03;&#x7528;&#x91CF;&#xFF0C;&#x54CD;&#x5E94;&#x65F6;&#x95F4;&#xFF0C;&#x90FD;&#x7EDF;&#x8BA1;&#x51FA;&#x6765;&#xFF0C;&#x4F5C;&#x4E3A;&#x5BB9;&#x91CF;&#x89C4;&#x5212;&#x7684;&#x53C2;&#x8003;&#x6307;&#x6807;&#x3002;
-&#x5176;&#x6B21;&#xFF0C;&#x8981;&#x53EF;&#x4EE5;&#x52A8;&#x6001;&#x8C03;&#x6574;&#x6743;&#x91CD;&#xFF0C;&#x5728;&#x7EBF;&#x4E0A;&#xFF0C;&#x5C06;&#x67D0;&#x53F0;&#x673A;&#x5668;&#x7684;&#x6743;&#x91CD;&#x4E00;&#x76F4;&#x52A0;&#x5927;&#xFF0C;&#x5E76;&#x5728;&#x52A0;&#x5927;&#x7684;&#x8FC7;&#x7A0B;&#x4E2D;&#x8BB0;&#x5F55;&#x54CD;&#x5E94;&#x65F6;&#x95F4;&#x7684;&#x53D8;&#x5316;&#xFF0C;&#x76F4;&#x5230;&#x54CD;&#x5E94;&#x65F6;&#x95F4;&#x5230;&#x8FBE;&#x9600;&#x503C;&#xFF0C;&#x8BB0;&#x5F55;&#x6B64;&#x65F6;&#x7684;&#x8BBF;&#x95EE;&#x91CF;&#xFF0C;&#x518D;&#x4EE5;&#x6B64;&#x8BBF;&#x95EE;&#x91CF;&#x4E58;&#x4EE5;&#x673A;&#x5668;&#x6570;&#x53CD;&#x63A8;&#x603B;&#x5BB9;&#x91CF;&#x3002;</p>
-<p>&#x4EE5;&#x4E0A;&#x662F;Dubbo&#x6700;&#x57FA;&#x672C;&#x7684;&#x51E0;&#x4E2A;&#x9700;&#x6C42;&#xFF0C;&#x66F4;&#x591A;&#x670D;&#x52A1;&#x6CBB;&#x7406;&#x95EE;&#x9898;&#x53C2;&#x89C1;&#xFF1A;
-<a href="http://code.alibabatech.com/blog/experience_1402/service-governance-process.html" target="_blank">http://code.alibabatech.com/blog/experience_1402/service-governance-process.html</a></p>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="background.html" class="navigation navigation-prev " aria-label="Previous page: 1.1 背景">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="architacture.html" class="navigation navigation-next " aria-label="Next page: 1.3 架构">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.2 需求","level":"1.2.2","depth":2,"next":{"title":"1.3 架构","level":"1.2.3","depth":2,"path":"preface/architacture.md","ref":"preface/architacture.md","articles":[]},"previous":{"title":"1.1 背景","level":"1.2.1","depth":2,"path":"preface/background.md","ref":"preface/background.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"preface/requirements.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/preface/usage.html b/user-guide/preface/usage.html
deleted file mode 100644
index 509c4a8..0000000
--- a/user-guide/preface/usage.html
+++ /dev/null
@@ -1,1580 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>1.4 用法 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    
-    <link rel="prev" href="architacture.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="background.html">
-            
-                <a href="background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="requirements.html">
-            
-                <a href="requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="architacture.html">
-            
-                <a href="architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.2.4" data-path="usage.html">
-            
-                <a href="usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >1.4 用法</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>Dubbo&#x91C7;&#x7528;&#x5168;Spring&#x914D;&#x7F6E;&#x65B9;&#x5F0F;&#xFF0C;&#x900F;&#x660E;&#x5316;&#x63A5;&#x5165;&#x5E94;&#x7528;&#xFF0C;&#x5BF9;&#x5E94;&#x7528;&#x6CA1;&#x6709;&#x4EFB;&#x4F55;API&#x4FB5;&#x5165;&#xFF0C;&#x53EA;&#x9700;&#x7528;Spring&#x52A0;&#x8F7D;Dubbo&#x7684;&#x914D;&#x7F6E;&#x5373;&#x53EF;&#xFF0C;Dubbo&#x57FA;&#x4E8E;Spring&#x7684;Schema&#x6269;&#x5C55;&#x8FDB;&#x884C;&#x52A0;&#x8F7D;&#x3002;</p>
-<p>&#x5982;&#x679C;&#x4E0D;&#x60F3;&#x4F7F;&#x7528;Spring&#x914D;&#x7F6E;&#xFF0C;&#x800C;&#x5E0C;&#x671B;&#x901A;&#x8FC7;API&#x7684;&#x65B9;&#x5F0F;&#x8FDB;&#x884C;&#x8C03;&#x7528;&#xFF08;&#x4E0D;&#x63A8;&#x8350;&#xFF09;&#xFF0C;&#x8BF7;&#x53C2;&#x89C1;&#xFF1A;<a href="user-guide-configuration#api&#x914D;&#x7F6E;">API&#x914D;&#x7F6E;</a></p>
-<h4 id="&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;">&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;</h4>
-<blockquote>
-<p>&#x5B8C;&#x6574;&#x5B89;&#x88C5;&#x6B65;&#x9AA4;&#xFF0C;&#x8BF7;&#x53C2;&#x89C1;&#xFF1A;<a href="admin-guide-install-manual#&#x793A;&#x4F8B;&#x63D0;&#x4F9B;&#x8005;&#x5B89;&#x88C5;">&#x793A;&#x4F8B;&#x63D0;&#x4F9B;&#x8005;&#x5B89;&#x88C5;</a></p>
-</blockquote>
-<h5 id="&#x5B9A;&#x4E49;&#x670D;&#x52A1;&#x63A5;&#x53E3;">&#x5B9A;&#x4E49;&#x670D;&#x52A1;&#x63A5;&#x53E3;</h5>
-<p><strong>DemoService.java</strong></p>
-<pre><code class="lang-java"><span class="hljs-keyword">package</span> com.alibaba.dubbo.demo;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">DemoService</span> </span>{
-
-    <span class="hljs-function">String <span class="hljs-title">sayHello</span><span class="hljs-params">(String name)</span></span>;
-
-}
-</code></pre>
-<blockquote>
-<p>&#x8BE5;&#x63A5;&#x53E3;&#x9700;&#x5355;&#x72EC;&#x6253;&#x5305;&#xFF0C;&#x5728;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x548C;&#x6D88;&#x8D39;&#x65B9;&#x5171;&#x4EAB;</p>
-</blockquote>
-<h5 id="&#x5728;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x5B9E;&#x73B0;&#x63A5;&#x53E3;">&#x5728;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x5B9E;&#x73B0;&#x63A5;&#x53E3;</h5>
-<p><strong>DemoServiceImpl.java</strong></p>
-<pre><code class="lang-java">
-<span class="hljs-keyword">package</span> com.alibaba.dubbo.demo.provider;
-
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.demo.DemoService;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">DemoServiceImpl</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">DemoService</span> </span>{
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> String <span class="hljs-title">sayHello</span><span class="hljs-params">(String name)</span> </span>{
-        <span class="hljs-keyword">return</span> <span class="hljs-string">&quot;Hello &quot;</span> + name;
-    }
-
-}
-</code></pre>
-<blockquote>
-<p>&#x5BF9;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#x9690;&#x85CF;&#x5B9E;&#x73B0;</p>
-</blockquote>
-<h5 id="&#x7528;-spring-&#x914D;&#x7F6E;&#x58F0;&#x660E;&#x66B4;&#x9732;&#x670D;&#x52A1;">&#x7528; Spring &#x914D;&#x7F6E;&#x58F0;&#x660E;&#x66B4;&#x9732;&#x670D;&#x52A1;</h5>
-<p><strong>provider.xml</strong></p>
-<pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
-<span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
-    <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd        http://code.alibabatech.com/schema/dubbo        http://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x63D0;&#x4F9B;&#x65B9;&#x5E94;&#x7528;&#x4FE1;&#x606F;&#xFF0C;&#x7528;&#x4E8E;&#x8BA1;&#x7B97;&#x4F9D;&#x8D56;&#x5173;&#x7CFB; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;hello-world-app&quot;</span>  /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x4F7F;&#x7528;multicast&#x5E7F;&#x64AD;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x66B4;&#x9732;&#x670D;&#x52A1;&#x5730;&#x5740; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;multicast://224.5.6.7:1234&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x7528;dubbo&#x534F;&#x8BAE;&#x5728;20880&#x7AEF;&#x53E3;&#x66B4;&#x9732;&#x670D;&#x52A1; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;20880&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x58F0;&#x660E;&#x9700;&#x8981;&#x66B4;&#x9732;&#x7684;&#x670D;&#x52A1;&#x63A5;&#x53E3; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.dubbo.demo.DemoService&quot;</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">&quot;demoService&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x548C;&#x672C;&#x5730;bean&#x4E00;&#x6837;&#x5B9E;&#x73B0;&#x670D;&#x52A1; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">bean</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;demoService&quot;</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;com.alibaba.dubbo.demo.provider.DemoServiceImpl&quot;</span> /&gt;</span>
-
-<span class="hljs-tag">&lt;/<span class="hljs-name">beans</span>&gt;</span>
-</code></pre>
-<h5 id="&#x52A0;&#x8F7D;spring&#x914D;&#x7F6E;">&#x52A0;&#x8F7D;Spring&#x914D;&#x7F6E;</h5>
-<p><strong>Provider.java</strong></p>
-<pre><code class="lang-java"><span class="hljs-keyword">import</span> org.springframework.context.support.ClassPathXmlApplicationContext;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Provider</span> </span>{
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span><span class="hljs-params">(String[] args)</span> <span class="hljs-keyword">throws</span> Exception </span>{
-        ClassPathXmlApplicationContext context = <span class="hljs-keyword">new</span> ClassPathXmlApplicationContext(<span class="hljs-keyword">new</span> String[] {<span class="hljs-string">&quot;http://10.20.160.198/wiki/display/dubbo/provider.xml&quot;</span>});
-        context.start();
-
-        System.in.read(); <span class="hljs-comment">// &#x6309;&#x4EFB;&#x610F;&#x952E;&#x9000;&#x51FA;</span>
-    }
-}
-</code></pre>
-<h4 id="&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;">&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;</h4>
-<blockquote>
-<p>&#x5B8C;&#x6574;&#x5B89;&#x88C5;&#x6B65;&#x9AA4;&#xFF0C;&#x8BF7;&#x53C2;&#x89C1;&#xFF1A;<a href="admin-guide-install-manual#&#x793A;&#x4F8B;&#x6D88;&#x8D39;&#x8005;&#x5B89;&#x88C5;">&#x793A;&#x4F8B;&#x6D88;&#x8D39;&#x8005;&#x5B89;&#x88C5;</a></p>
-</blockquote>
-<h5 id="&#x901A;&#x8FC7;spring&#x914D;&#x7F6E;&#x5F15;&#x7528;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;">&#x901A;&#x8FC7;Spring&#x914D;&#x7F6E;&#x5F15;&#x7528;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;</h5>
-<p><strong>consumer.xml</strong></p>
-<pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
-<span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
-    <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd        http://code.alibabatech.com/schema/dubbo        http://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x6D88;&#x8D39;&#x65B9;&#x5E94;&#x7528;&#x540D;&#xFF0C;&#x7528;&#x4E8E;&#x8BA1;&#x7B97;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#xFF0C;&#x4E0D;&#x662F;&#x5339;&#x914D;&#x6761;&#x4EF6;&#xFF0C;&#x4E0D;&#x8981;&#x4E0E;&#x63D0;&#x4F9B;&#x65B9;&#x4E00;&#x6837; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;consumer-of-helloworld-app&quot;</span>  /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x4F7F;&#x7528;multicast&#x5E7F;&#x64AD;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x66B4;&#x9732;&#x53D1;&#x73B0;&#x670D;&#x52A1;&#x5730;&#x5740; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;multicast://224.5.6.7:1234&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x751F;&#x6210;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x4EE3;&#x7406;&#xFF0C;&#x53EF;&#x4EE5;&#x548C;&#x672C;&#x5730;bean&#x4E00;&#x6837;&#x4F7F;&#x7528;demoService --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;demoService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.dubbo.demo.DemoService&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">beans</span>&gt;</span>
-</code></pre>
-<h5 id="&#x52A0;&#x8F7D;spring&#x914D;&#x7F6E;&#xFF0C;&#x5E76;&#x8C03;&#x7528;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;">&#x52A0;&#x8F7D;Spring&#x914D;&#x7F6E;&#xFF0C;&#x5E76;&#x8C03;&#x7528;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;</h5>
-<p><strong>Consumer.java</strong></p>
-<pre><code class="lang-java"><span class="hljs-keyword">import</span> org.springframework.context.support.ClassPathXmlApplicationContext;
-<span class="hljs-keyword">import</span> com.alibaba.dubbo.demo.DemoService;
-
-<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Consumer</span> </span>{
-
-    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span><span class="hljs-params">(String[] args)</span> <span class="hljs-keyword">throws</span> Exception </span>{
-        ClassPathXmlApplicationContext context = <span class="hljs-keyword">new</span> ClassPathXmlApplicationContext(<span class="hljs-keyword">new</span> String[] {<span class="hljs-string">&quot;http://10.20.160.198/wiki/display/dubbo/consumer.xml&quot;</span>});
-        context.start();
-
-        DemoService demoService = (DemoService)context.getBean(<span class="hljs-string">&quot;demoService&quot;</span>); <span class="hljs-comment">// &#x83B7;&#x53D6;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x4EE3;&#x7406;</span>
-        String hello = demoService.sayHello(<span class="hljs-string">&quot;world&quot;</span>); <span class="hljs-comment">// &#x6267;&#x884C;&#x8FDC;&#x7A0B;&#x65B9;&#x6CD5;</span>
-
-        System.out.println( hello ); <span class="hljs-comment">// &#x663E;&#x793A;&#x8C03;&#x7528;&#x7ED3;&#x679C;</span>
-    }
-
-}
-</code></pre>
-<blockquote>
-<p>&#x4E5F;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;IoC&#x6CE8;&#x5165;</p>
-</blockquote>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="architacture.html" class="navigation navigation-prev navigation-unique" aria-label="Previous page: 1.3 架构">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"1.4 用法","level":"1.2.4","depth":2,"next":{"title":"2 快速启动","level":"1.3","depth":1,"ref":"","articles":[{"title":"2.1 依赖","level":"1.3.1","depth":2,"path":"dependencies/dependencies.md","ref":"dependencies/dependencies.md","articles":[]},{"title":"2.2 成熟度","level":"1.3.2","depth":2,"path":"maturity/maturity.md","ref":"maturity/maturity.md","articles":[]}]},"previous":{"title":"1.3 架构","level":"1.2.3","depth":2,"path":"preface/architacture.md","ref":"preface/architacture.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"preface/usage.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/preface/usage.md b/user-guide/preface/usage.md
index 5a2de18..e118ba2 100644
--- a/user-guide/preface/usage.md
+++ b/user-guide/preface/usage.md
@@ -1,11 +1,11 @@
 
 Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。
 
-如果不想使用Spring配置,而希望通过API的方式进行调用(不推荐),请参见:[API配置](user-guide-configuration#api配置)
+如果不想使用Spring配置,而希望通过API的方式进行调用(不推荐),请参见:[API配置](../configuration/api.md)
 
 #### 服务提供者
 
-> 完整安装步骤,请参见:[示例提供者安装](admin-guide-install-manual#示例提供者安装)
+> 完整安装步骤,请参见:[示例提供者安装](../../admin-guide/install-mannual/示例提供者安装.md)
 
 ##### 定义服务接口
 
@@ -90,7 +90,7 @@
 
 #### 服务消费者
 
-> 完整安装步骤,请参见:[示例消费者安装](admin-guide-install-manual#示例消费者安装)
+> 完整安装步骤,请参见:[示例消费者安装](../../admin-guide/install-mannual/示例消费者安装.md)
 
 ##### 通过Spring配置引用远程服务
 
diff --git a/user-guide/recommend.html b/user-guide/recommend.html
deleted file mode 100644
index 97bce76..0000000
--- a/user-guide/recommend.html
+++ /dev/null
@@ -1,1596 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>12 推荐用法 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="capacity-plan.html" />
-    
-    
-    <link rel="prev" href="best-practice.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="./">
-            
-                <a href="./">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="preface/background.html">
-            
-                <a href="preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="preface/requirements.html">
-            
-                <a href="preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="preface/architacture.html">
-            
-                <a href="preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="preface/usage.html">
-            
-                <a href="preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="dependencies/dependencies.html">
-            
-                <a href="dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="maturity/maturity.html">
-            
-                <a href="maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="configuration/xml.html">
-            
-                <a href="configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="configuration/properties.html">
-            
-                <a href="configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="configuration/api.html">
-            
-                <a href="configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="configuration/annotation.html">
-            
-                <a href="configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="demos/启动时检查.html">
-            
-                <a href="demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="demos/集群容错.html">
-            
-                <a href="demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="demos/负载均衡.html">
-            
-                <a href="demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="demos/线程模型.html">
-            
-                <a href="demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="demos/直连提供者.html">
-            
-                <a href="demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="demos/只订阅.html">
-            
-                <a href="demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="demos/只注册.html">
-            
-                <a href="demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="demos/静态服务.html">
-            
-                <a href="demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="demos/多协议.html">
-            
-                <a href="demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="demos/多注册中心.html">
-            
-                <a href="demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="demos/服务分组.html">
-            
-                <a href="demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="demos/多版本.html">
-            
-                <a href="demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="demos/分组聚合.html">
-            
-                <a href="demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="demos/参数验证.html">
-            
-                <a href="demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="demos/结果缓存.html">
-            
-                <a href="demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="demos/泛化引用.html">
-            
-                <a href="demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="demos/泛化实现.html">
-            
-                <a href="demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="demos/回声测试.html">
-            
-                <a href="demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="demos/上下文信息.html">
-            
-                <a href="demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="demos/隐式传参.html">
-            
-                <a href="demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="demos/异步调用.html">
-            
-                <a href="demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="demos/本地调用.html">
-            
-                <a href="demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="demos/参数回调.html">
-            
-                <a href="demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="demos/事件通知.html">
-            
-                <a href="demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="demos/本地存根.html">
-            
-                <a href="demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="demos/本地伪装.html">
-            
-                <a href="demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="demos/延迟暴露.html">
-            
-                <a href="demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="demos/并发控制.html">
-            
-                <a href="demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="demos/连接控制.html">
-            
-                <a href="demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="demos/延迟连接.html">
-            
-                <a href="demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="demos/粘滞连接.html">
-            
-                <a href="demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="demos/令牌验证.html">
-            
-                <a href="demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="demos/路由规则.html">
-            
-                <a href="demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="demos/配置规则.html">
-            
-                <a href="demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="demos/服务降级.html">
-            
-                <a href="demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="demos/优雅停机.html">
-            
-                <a href="demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="demos/主机绑定.html">
-            
-                <a href="demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="demos/日志适配.html">
-            
-                <a href="demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="demos/访问日志.html">
-            
-                <a href="demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="demos/服务容器.html">
-            
-                <a href="demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="demos/ReferenceConfig缓存.html">
-            
-                <a href="demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="demos/分布式事务.html">
-            
-                <a href="demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="reference-apiconf/api.html">
-            
-                <a href="reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="reference-xmlconf/introduction.html">
-            
-                <a href="reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="reference-xmlconf/dubbo-service.html">
-            
-                <a href="reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="reference-xmlconf/dubbo-reference.html">
-            
-                <a href="reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="reference-xmlconf/dubbo-registry.html">
-            
-                <a href="reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="reference-xmlconf/dubbo-application.html">
-            
-                <a href="reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="reference-xmlconf/dubbo-module.html">
-            
-                <a href="reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="reference-xmlconf/dubbo-provider.html">
-            
-                <a href="reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="reference-xmlconf/dubbo-method.html">
-            
-                <a href="reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="reference-xmlconf/dubbo-argument.html">
-            
-                <a href="reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="reference-protocol/introduction.html">
-            
-                <a href="reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="reference-protocol/dubbo.html">
-            
-                <a href="reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="reference-protocol/rmi.html">
-            
-                <a href="reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="reference-protocol/hessian.html">
-            
-                <a href="reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="reference-protocol/http.html">
-            
-                <a href="reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="reference-protocol/webservice.html">
-            
-                <a href="reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="reference-protocol/thrift.html">
-            
-                <a href="reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="reference-protocol/memcached.html">
-            
-                <a href="reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="reference-protocol/redis.html">
-            
-                <a href="reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="reference-registry/introduction.html">
-            
-                <a href="reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="reference-registry/multicast.html">
-            
-                <a href="reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="reference-registry/zookeeper.html">
-            
-                <a href="reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="reference-registry/redis.html">
-            
-                <a href="reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="reference-registry/simple.html">
-            
-                <a href="reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="reference-telnet/telnet.html">
-            
-                <a href="reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="reference-maven/maven.html">
-            
-                <a href="reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="best-practice.html">
-            
-                <a href="best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.13" data-path="recommend.html">
-            
-                <a href="recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="capacity-plan.html">
-            
-                <a href="capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="benchmark.html">
-            
-                <a href="benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="perf-test.html">
-            
-                <a href="perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="coveragence.html">
-            
-                <a href="coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href="." >12 推荐用法</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h4 id="&#x5728;provider&#x4E0A;&#x5C3D;&#x91CF;&#x591A;&#x914D;&#x7F6E;consumer&#x7AEF;&#x5C5E;&#x6027;">&#x5728;Provider&#x4E0A;&#x5C3D;&#x91CF;&#x591A;&#x914D;&#x7F6E;Consumer&#x7AEF;&#x5C5E;&#x6027;</h4>
-<p>&#x539F;&#x56E0;&#x5982;&#x4E0B;&#xFF1A;</p>
-<ul>
-<li>&#x4F5C;&#x670D;&#x52A1;&#x7684;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x6BD4;&#x670D;&#x52A1;&#x4F7F;&#x7528;&#x65B9;&#x66F4;&#x6E05;&#x695A;&#x670D;&#x52A1;&#x6027;&#x80FD;&#x53C2;&#x6570;&#xFF0C;&#x5982;&#x8C03;&#x7528;&#x7684;&#x8D85;&#x65F6;&#x65F6;&#x95F4;&#xFF0C;&#x5408;&#x7406;&#x7684;&#x91CD;&#x8BD5;&#x6B21;&#x6570;&#xFF0C;&#x7B49;&#x7B49;</li>
-<li>&#x5728;Provider&#x914D;&#x7F6E;&#x540E;&#xFF0C;Consumer&#x4E0D;&#x914D;&#x7F6E;&#x5219;&#x4F1A;&#x4F7F;&#x7528;Provider&#x7684;&#x914D;&#x7F6E;&#x503C;&#xFF0C;&#x5373;Provider&#x914D;&#x7F6E;&#x53EF;&#x4EE5;&#x4F5C;&#x4E3A;Consumer&#x7684;&#x7F3A;&#x7701;&#x503C;&#x3002;&#x5426;&#x5219;&#xFF0C;Consumer&#x4F1A;&#x4F7F;&#x7528;Consumer&#x7AEF;&#x7684;&#x5168;&#x5C40;&#x8BBE;&#x7F6E;&#xFF0C;&#x8FD9;&#x5BF9;&#x4E8E;Provider&#x4E0D;&#x53EF;&#x63A7;&#x7684;&#xFF0C;&#x5E76;&#x4E14;&#x5F80;&#x5F80;&#x662F;&#x4E0D;&#x5408;&#x7406;&#x7684;&#x3002;</li>
-</ul>
-<p>PS: &#x914D;&#x7F6E;&#x7684;&#x8986;&#x76D6;&#x89C4;&#x5219;&#xFF1A;1) &#x65B9;&#x6CD5;&#x7EA7;&#x914D;&#x7F6E;&#x522B;&#x4F18;&#x4E8E;&#x63A5;&#x53E3;&#x7EA7;&#x522B;&#xFF0C;&#x5373;&#x5C0F;Scope&#x4F18;&#x5148; 2) Consumer&#x7AEF;&#x914D;&#x7F6E; &#x4F18;&#x4E8E; Provider &#x914D;&#x7F6E; &#x4F18;&#x4E8E;&#x5168;&#x5C40;&#x914D;&#x7F6E;&#xFF0C;&#x6700;&#x540E;&#x662F;Dubbo Hard Code&#x7684;&#x914D;&#x7F6E;&#x503C;&#xFF08;&#x89C1;<a href="user-guide-configuration-ref#&#x914D;&#x7F6E;&#x53C2;&#x8003;&#x624B;&#x518C;">Dubbo&#x914D;&#x7F6E;&#x53C2;&#x8003;&#x624B;&#x518C;</a>&#xFF09;</p>
-<p>Provider&#x4E0A;&#x5C3D;&#x91CF;&#x591A;&#x914D;&#x7F6E;Consumer&#x7AEF;&#x7684;&#x5C5E;&#x6027;&#xFF0C;&#x8BA9;Provider&#x5B9E;&#x73B0;&#x8005;&#x4E00;&#x5F00;&#x59CB;&#x5C31;&#x601D;&#x8003;Provider&#x670D;&#x52A1;&#x7279;&#x70B9;&#x3001;&#x670D;&#x52A1;&#x8D28;&#x91CF;&#x7684;&#x95EE;&#x9898;&#x3002;</p>
-<p>&#x793A;&#x4F8B;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.hello.api.HelloService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">&quot;helloService&quot;</span>
-    <span class="hljs-attr">timeout</span>=<span class="hljs-string">&quot;300&quot;</span> <span class="hljs-attr">retry</span>=<span class="hljs-string">&quot;2&quot;</span> <span class="hljs-attr">loadbalance</span>=<span class="hljs-string">&quot;random&quot;</span> <span class="hljs-attr">actives</span>=<span class="hljs-string">&quot;0&quot;</span>
-/&gt;</span>
-
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.hello.api.WorldService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">&quot;helloService&quot;</span>
-    <span class="hljs-attr">timeout</span>=<span class="hljs-string">&quot;300&quot;</span> <span class="hljs-attr">retry</span>=<span class="hljs-string">&quot;2&quot;</span> <span class="hljs-attr">loadbalance</span>=<span class="hljs-string">&quot;random&quot;</span> <span class="hljs-attr">actives</span>=<span class="hljs-string">&quot;0&quot;</span> &gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;findAllPerson&quot;</span> <span class="hljs-attr">timeout</span>=<span class="hljs-string">&quot;10000&quot;</span> <span class="hljs-attr">retries</span>=<span class="hljs-string">&quot;9&quot;</span> <span class="hljs-attr">loadbalance</span>=<span class="hljs-string">&quot;leastactive&quot;</span> <span class="hljs-attr">actives</span>=<span class="hljs-string">&quot;5&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span>/&gt;</span>
-</code></pre>
-<p>&#x5728;Provider&#x53EF;&#x4EE5;&#x914D;&#x7F6E;&#x7684;Consumer&#x7AEF;&#x5C5E;&#x6027;&#x6709;&#xFF1A;</p>
-<ol>
-<li><code>timeout</code> &#x65B9;&#x6CD5;&#x8C03;&#x7528;&#x8D85;&#x65F6;</li>
-<li><code>retries</code> &#x5931;&#x8D25;&#x91CD;&#x8BD5;&#x6B21;&#x6570;&#xFF0C;&#x7F3A;&#x7701;&#x662F;2&#xFF08;&#x8868;&#x793A;&#x52A0;&#x4E0A;&#x7B2C;&#x4E00;&#x6B21;&#x8C03;&#x7528;&#xFF0C;&#x4F1A;&#x8C03;&#x7528;3&#x6B21;&#xFF09;</li>
-<li><code>loadbalance</code> &#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x7B97;&#x6CD5;&#xFF08;&#x6709;&#x591A;&#x4E2A;Provider&#x65F6;&#xFF0C;&#x5982;&#x4F55;&#x6311;&#x9009;Provider&#x8C03;&#x7528;&#xFF09;&#xFF0C;&#x7F3A;&#x7701;&#x662F;&#x968F;&#x673A;&#xFF08;random&#xFF09;&#x3002;&#x8FD8;&#x53EF;&#x4EE5;&#x6709;&#x8F6E;&#x8BE2;(roundrobin)&#x3001;&#x6700;&#x4E0D;&#x6D3B;&#x8DC3;&#x4F18;&#x5148;&#xFF08;leastactive&#xFF0C;&#x6307;&#x4ECE;Consumer&#x7AEF;&#x5E76;&#x53D1;&#x8C03;&#x7528;&#x6700;&#x597D;&#x7684;Provider&#xFF0C;&#x53EF;&#x4EE5;&#x51CF;&#x5C11;&#x7684;&#x53CD;&#x5E94;&#x6162;&#x7684;Provider&#x7684;&#x8C03;&#x7528;&#xFF0C;&#x56E0;&#x4E3A;&#x53CD;&#x5E94;&#x66F4;&#x5BB9;&#x6613;&#x7D2F;&#x79EF;&#x5E76;&#x53D1;&#x7684;&#x8C03;&#x7528;&#xFF09;</li>
-<li><code>actives</code> &#x6D88;&#x8D39;&#x8005;&#x7AEF;&#xFF0C;&#x6700;&#x5927;&#x5E76;&#x53D1;&#x8C03;&#x7528;&#x9650;&#x5236;&#xFF0C;&#x5373;&#x5F53;Consumer&#x5BF9;&#x4E00;&#x4E2A;&#x670D;&#x52A1;&#x7684;&#x5E76;&#x53D1;&#x8C03;&#x7528;&#x5230;&#x4E0A;&#x9650;&#x540E;&#xFF0C;&#x65B0;&#x8C03;&#x7528;&#x4F1A;Wait&#x76F4;&#x5230;&#x8D85;&#x65F6;&#x3002;
-&#x5728;&#x65B9;&#x6CD5;&#x4E0A;&#x914D;&#x7F6E;&#xFF08;dubbo:method &#xFF09;&#x5219;&#x5E76;&#x53D1;&#x9650;&#x5236;&#x9488;&#x5BF9;&#x65B9;&#x6CD5;&#xFF0C;&#x5728;&#x63A5;&#x53E3;&#x4E0A;&#x914D;&#x7F6E;&#xFF08;dubbo:service&#xFF09;&#xFF0C;&#x5219;&#x5E76;&#x53D1;&#x9650;&#x5236;&#x9488;&#x5BF9;&#x670D;&#x52A1;&#x3002;</li>
-</ol>
-<p>&#x8BE6;&#x7EC6;&#x914D;&#x7F6E;&#x8BF4;&#x660E;&#x53C2;&#x89C1;&#xFF1A;<a href="reference-xmlconf/introduction.html">Dubbo&#x914D;&#x7F6E;&#x53C2;&#x8003;&#x624B;&#x518C;</a></p>
-<h4 id="provider&#x4E0A;&#x914D;&#x7F6E;&#x5408;&#x7406;&#x7684;provider&#x7AEF;&#x5C5E;&#x6027;">Provider&#x4E0A;&#x914D;&#x7F6E;&#x5408;&#x7406;&#x7684;Provider&#x7AEF;&#x5C5E;&#x6027;</h4>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">threads</span>=<span class="hljs-string">&quot;200&quot;</span> /&gt;</span>
-
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.hello.api.HelloService&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">&quot;helloService&quot;</span>
-    <span class="hljs-attr">executes</span>=<span class="hljs-string">&quot;200&quot;</span> &gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;findAllPerson&quot;</span> <span class="hljs-attr">executes</span>=<span class="hljs-string">&quot;50&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:service</span>&gt;</span>
-</code></pre>
-<p>Provider&#x4E0A;&#x53EF;&#x4EE5;&#x914D;&#x7F6E;&#x7684;Provider&#x7AEF;&#x5C5E;&#x6027;&#x6709;&#xFF1A;</p>
-<ol>
-<li><code>threads</code> &#x670D;&#x52A1;&#x7EBF;&#x7A0B;&#x6C60;&#x5927;&#x5C0F;</li>
-<li><code>executes</code> &#x4E00;&#x4E2A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5E76;&#x884C;&#x6267;&#x884C;&#x8BF7;&#x6C42;&#x4E0A;&#x9650;&#xFF0C;&#x5373;&#x5F53;Provider&#x5BF9;&#x4E00;&#x4E2A;&#x670D;&#x52A1;&#x7684;&#x5E76;&#x53D1;&#x8C03;&#x7528;&#x5230;&#x4E0A;&#x9650;&#x540E;&#xFF0C;&#x65B0;&#x8C03;&#x7528;&#x4F1A;Wait&#xFF08;Consumer&#x53EF;&#x80FD;&#x5230;&#x8D85;&#x65F6;&#xFF09;&#x3002;&#x5728;&#x65B9;&#x6CD5;&#x4E0A;&#x914D;&#x7F6E;&#xFF08;dubbo:method &#xFF09;&#x5219;&#x5E76;&#x53D1;&#x9650;&#x5236;&#x9488;&#x5BF9;&#x65B9;&#x6CD5;&#xFF0C;&#x5728;&#x63A5;&#x53E3;&#x4E0A;&#x914D;&#x7F6E;&#xFF08;dubbo:service&#xFF09;&#xFF0C;&#x5219;&#x5E76;&#x53D1;&#x9650;&#x5236;&#x9488;&#x5BF9;&#x670D;&#x52A1;&#x3002;</li>
-</ol>
-<h4 id="&#x914D;&#x7F6E;&#x4E0A;&#x7BA1;&#x7406;&#x4FE1;&#x606F;">&#x914D;&#x7F6E;&#x4E0A;&#x7BA1;&#x7406;&#x4FE1;&#x606F;</h4>
-<p>&#x76EE;&#x524D;&#x6709;&#x8D1F;&#x8D23;&#x4EBA;&#x4FE1;&#x606F;&#x548C;&#x7EC4;&#x7EC7;&#x4FE1;&#x606F;&#xFF08;&#x7528;&#x4E8E;&#x533A;&#x5206;&#x7AD9;&#x70B9;&#xFF09;&#x3002;&#x6709;&#x95EE;&#x9898;&#x65F6;&#x4FBF;&#x4E8E;&#x7684;&#x627E;&#x5230;&#x670D;&#x52A1;&#x7684;&#x8D1F;&#x8D23;&#x4EBA;&#xFF0C;&#x81F3;&#x5C11;&#x5199;&#x4E24;&#x4E2A;&#x4EBA;&#x4EE5;&#x4FBF;&#x5907;&#x4EFD;&#x3002;&#x8D1F;&#x8D23;&#x4EBA;&#x548C;&#x7EC4;&#x7EC7;&#x7684;&#x4FE1;&#x606F;&#x53EF;&#x4EE5;&#x5728;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x4E0A;&#x770B;&#x5230;&#x3002;</p>
-<p>&#x793A;&#x4F8B;&#xFF1A;</p>
-<p><strong>&#x5E94;&#x7528;&#x914D;&#x7F6E;&#x8D1F;&#x8D23;&#x4EBA;&#x3001;&#x7EC4;&#x7EC7;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">owner</span>=<span class="hljs-string">&#x201D;ding.lid,william.liangf&#x201D;</span> <span class="hljs-attr">organization</span>=<span class="hljs-string">&#x201D;intl&#x201D;</span> /&gt;</span>
-</code></pre>
-<p><strong>service&#x914D;&#x7F6E;&#x8D1F;&#x8D23;&#x4EBA;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">owner</span>=<span class="hljs-string">&#x201D;ding.lid,william.liangf&#x201D;</span> /&gt;</span>
-</code></pre>
-<p><strong>reference&#x914D;&#x7F6E;&#x8D1F;&#x8D23;&#x4EBA;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">owner</span>=<span class="hljs-string">&#x201D;ding.lid,william.liangf&#x201D;</span> /&gt;</span>
-</code></pre>
-<p>dubbo:service&#x3001;dubbo:reference&#x6CA1;&#x6709;&#x914D;&#x7F6E;&#x8D1F;&#x8D23;&#x4EBA;&#xFF0C;&#x5219;&#x4F7F;&#x7528;dubbo:application&#x8BBE;&#x7F6E;&#x7684;&#x8D1F;&#x8D23;&#x4EBA;&#x3002;</p>
-<h4 id="&#x914D;&#x7F6E;&#x4E0A;dubbo&#x7F13;&#x5B58;&#x6587;&#x4EF6;">&#x914D;&#x7F6E;&#x4E0A;Dubbo&#x7F13;&#x5B58;&#x6587;&#x4EF6;</h4>
-<p>&#x914D;&#x7F6E;&#x65B9;&#x6CD5;&#x5982;&#x4E0B;&#xFF1A;</p>
-<p><strong>&#x63D0;&#x4F9B;&#x8005;&#x5217;&#x8868;&#x7F13;&#x5B58;&#x6587;&#x4EF6;</strong></p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">file</span>=<span class="hljs-string">&#x201D;${user.home}</span>/<span class="hljs-attr">output</span>/<span class="hljs-attr">dubbo.cache</span>&#x201D; /&gt;</span>
-</code></pre>
-<p>&#x6CE8;&#x610F;&#xFF1A;</p>
-<ol>
-<li>&#x6587;&#x4EF6;&#x7684;&#x8DEF;&#x5F84;&#xFF0C;&#x5E94;&#x7528;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x9700;&#x8981;&#x8C03;&#x6574;&#xFF0C;&#x4FDD;&#x8BC1;&#x8FD9;&#x4E2A;&#x6587;&#x4EF6;&#x4E0D;&#x4F1A;&#x5728;&#x53D1;&#x5E03;&#x8FC7;&#x7A0B;&#x4E2D;&#x88AB;&#x6E05;&#x9664;&#x3002;</li>
-<li>&#x5982;&#x679C;&#x6709;&#x591A;&#x4E2A;&#x5E94;&#x7528;&#x8FDB;&#x7A0B;&#x6CE8;&#x610F;&#x4E0D;&#x8981;&#x4F7F;&#x7528;&#x540C;&#x4E00;&#x4E2A;&#x6587;&#x4EF6;&#xFF0C;&#x907F;&#x514D;&#x5185;&#x5BB9;&#x88AB;&#x8986;&#x76D6;&#x3002;</li>
-</ol>
-<p>&#x8FD9;&#x4E2A;&#x6587;&#x4EF6;&#x4F1A;&#x7F13;&#x5B58;&#xFF1A;</p>
-<ol>
-<li>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x5217;&#x8868;</li>
-<li>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5217;&#x8868;</li>
-</ol>
-<p>&#x6709;&#x4E86;&#x8FD9;&#x9879;&#x914D;&#x7F6E;&#x540E;&#xFF0C;&#x5F53;&#x5E94;&#x7528;&#x91CD;&#x542F;&#x8FC7;&#x7A0B;&#x4E2D;&#xFF0C;Dubbo&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4E0D;&#x53EF;&#x7528;&#x65F6;&#x5219;&#x5E94;&#x7528;&#x4F1A;&#x4ECE;&#x8FD9;&#x4E2A;&#x7F13;&#x5B58;&#x6587;&#x4EF6;&#x8BFB;&#x53D6;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5217;&#x8868;&#x7684;&#x4FE1;&#x606F;&#xFF0C;&#x8FDB;&#x4E00;&#x6B65;&#x4FDD;&#x8BC1;&#x5E94;&#x7528;&#x53EF;&#x9760;&#x6027;&#x3002;</p>
-<h4 id="&#x76D1;&#x63A7;&#x914D;&#x7F6E;">&#x76D1;&#x63A7;&#x914D;&#x7F6E;</h4>
-<ol>
-<li><p>&#x4F7F;&#x7528;&#x56FA;&#x5B9A;&#x7AEF;&#x53E3;&#x66B4;&#x9732;&#x670D;&#x52A1;&#xFF0C;&#x800C;&#x4E0D;&#x8981;&#x4F7F;&#x7528;&#x968F;&#x673A;&#x7AEF;&#x53E3;</p>
-<p> &#x8FD9;&#x6837;&#x5728;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x63A8;&#x9001;&#x6709;&#x5EF6;&#x8FDF;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6D88;&#x8D39;&#x8005;&#x901A;&#x8FC7;&#x7F13;&#x5B58;&#x5217;&#x8868;&#x4E5F;&#x80FD;&#x8C03;&#x7528;&#x5230;&#x539F;&#x5730;&#x5740;&#xFF0C;&#x4FDD;&#x8BC1;&#x8C03;&#x7528;&#x6210;&#x529F;&#x3002;</p>
-</li>
-<li><p>&#x4F7F;&#x7528;Dragoon&#x7684;http&#x76D1;&#x63A7;&#x9879;&#x76D1;&#x63A7;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4E0A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;</p>
-<p> Dragoon&#x76D1;&#x63A7;&#x670D;&#x52A1;&#x5728;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4E0A;&#x7684;&#x72B6;&#x6001;&#xFF1A;<a href="http://dubbo-reg1.hst.xyi.cn.alidc.net:8080/status/com.alibaba.morgan.member.MemberService:1.0.5" target="_blank">http://dubbo-reg1.hst.xyi.cn.alidc.net:8080/status/com.alibaba.morgan.member.MemberService:1.0.5</a> &#x786E;&#x4FDD;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4E0A;&#x6709;&#x8BE5;&#x670D;&#x52A1;&#x7684;&#x5B58;&#x5728;&#x3002;</p>
-</li>
-<li><p>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#xFF0C;&#x4F7F;&#x7528;Dragoon&#x7684;telnet&#x6216;shell&#x76D1;&#x63A7;&#x9879;</p>
-<p> &#x76D1;&#x63A7;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x7AEF;&#x53E3;&#x72B6;&#x6001;&#xFF1A;<code>echo status | nc -i 1 20880 | grep OK | wc -l</code>&#xFF0C;&#x5176;&#x4E2D;&#x7684;20880&#x4E3A;&#x670D;&#x52A1;&#x7AEF;&#x53E3;</p>
-</li>
-<li><p>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#xFF0C;&#x901A;&#x8FC7;&#x5C06;&#x670D;&#x52A1;&#x5F3A;&#x5236;&#x8F6C;&#x578B;&#x4E3A;EchoService&#xFF0C;&#x5E76;&#x8C03;&#x7528;$echo()&#x6D4B;&#x8BD5;&#x8BE5;&#x670D;&#x52A1;&#x7684;&#x63D0;&#x4F9B;&#x8005;&#x662F;&#x53EF;&#x7528;</p>
-<p> &#x5982; <code>assertEqauls(&#x201C;OK&#x201D;, ((EchoService)memberService).$echo(&#x201C;OK&#x201D;));</code></p>
-</li>
-</ol>
-<h4 id="&#x4E0D;&#x8981;&#x4F7F;&#x7528;dubboproperties&#x6587;&#x4EF6;&#x914D;&#x7F6E;&#xFF0C;&#x63A8;&#x8350;&#x4F7F;&#x7528;&#x5BF9;&#x5E94;xml&#x914D;&#x7F6E;">&#x4E0D;&#x8981;&#x4F7F;&#x7528;dubbo.properties&#x6587;&#x4EF6;&#x914D;&#x7F6E;&#xFF0C;&#x63A8;&#x8350;&#x4F7F;&#x7528;&#x5BF9;&#x5E94;XML&#x914D;&#x7F6E;</h4>
-<p>Dubbo2&#x4E2D;&#x6240;&#x6709;&#x7684;&#x914D;&#x7F6E;&#x9879;&#x90FD;&#x53EF;&#x4EE5;Spring&#x914D;&#x7F6E;&#x4E2D;&#xFF0C;&#x5E76;&#x4E14;&#x53EF;&#x4EE5;&#x9488;&#x5BF9;&#x5355;&#x4E2A;&#x670D;&#x52A1;&#x914D;&#x7F6E;&#x3002;</p>
-<p>&#x5982;&#x5B8C;&#x5168;&#x4E0D;&#x914D;&#x7F6E;&#x4F7F;&#x7528;Dubbo&#x7F3A;&#x7701;&#x503C;&#xFF0C;&#x53C2;&#x89C1; <a href="reference-xmlconf/introduction.html">Dubbo&#x914D;&#x7F6E;&#x53C2;&#x8003;&#x624B;&#x518C;</a> &#x4E2D;&#x7684;&#x8BF4;&#x660E;&#x3002;</p>
-<p>&#x5728;Dubbo1&#x4E2D;&#x9700;&#x8981;&#x5728;dubbo.properties&#x6587;&#x4EF6;&#x4E2D;&#x7684;&#x914D;&#x7F6E;&#x9879;&#xFF0C;Dubbo2&#x4E2D;&#x914D;&#x7F6E;&#x793A;&#x4F8B;&#x5982;&#x4E0B;&#xFF1A;</p>
-<ol>
-<li><p>&#x5E94;&#x7528;&#x540D; </p>
-<pre><code class="lang-xml"> <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;myalibaba&quot;</span> &gt;</span>
-</code></pre>
-<p> &#x5BF9;&#x5E94;dubbo.properties&#x4E2D;&#x7684;Key&#x540D;<code>dubbo.application.name</code></p>
-</li>
-<li><p>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5730;&#x5740;</p>
-<pre><code class="lang-xml"> <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;11.22.33.44:9090&quot;</span> &gt;</span>
-</code></pre>
-<p> &#x5BF9;&#x5E94;dubbo.properties&#x4E2D;&#x7684;Key&#x540D;<code>dubbo.registry.address</code></p>
-</li>
-<li><p>&#x8C03;&#x7528;&#x8D85;&#x65F6;</p>
-<p> &#x53EF;&#x4EE5;&#x5728;&#x591A;&#x4E2A;&#x914D;&#x7F6E;&#x9879;&#x8BBE;&#x7F6E;&#x8D85;&#x65F6;&#xFF0C;&#x7531;&#x4E0A;&#x81F3;&#x4E0B;&#x8986;&#x76D6;&#xFF08;&#x5373;&#x4E0A;&#x9762;&#x7684;&#x4F18;&#x5148;&#xFF09;&#xFF0C;&#x793A;&#x4F8B;&#x5982;&#x4E0B;&#xFF1A;</p>
-<p> &#x5176;&#x5B83;&#x7684;&#x53C2;&#x6570;&#xFF08;retries&#x3001;loadbalance&#x3001;actives&#x7B49;&#xFF09;&#x7684;&#x8986;&#x76D6;&#x7B56;&#x7565;&#x4E5F;&#x4E00;&#x6837;&#x3002;</p>
-<p> <strong>&#x63D0;&#x4F9B;&#x8005;&#x7AEF;&#x7279;&#x5B9A;&#x65B9;&#x6CD5;&#x7684;&#x914D;&#x7F6E;</strong></p>
-<pre><code class="lang-xml"> <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.xxx.XxxService&quot;</span> &gt;</span>
-     <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;findPerson&quot;</span> <span class="hljs-attr">timeout</span>=<span class="hljs-string">&quot;1000&quot;</span> /&gt;</span>
- <span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:service</span>&gt;</span>
-</code></pre>
-<p> <strong>&#x63D0;&#x4F9B;&#x8005;&#x7AEF;&#x7279;&#x5B9A;&#x63A5;&#x53E3;&#x7684;&#x914D;&#x7F6E;</strong></p>
-<pre><code class="lang-xml"> <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.xxx.XxxService&quot;</span> <span class="hljs-attr">timeout</span>=<span class="hljs-string">&quot;200&quot;</span> /&gt;</span>
-</code></pre>
-<p> timeout&#x53EF;&#x4EE5;&#x5728;&#x591A;&#x5904;&#x8BBE;&#x7F6E;&#xFF0C;&#x914D;&#x7F6E;&#x9879;&#x53CA;&#x8986;&#x76D6;&#x89C4;&#x5219;&#x8BE6;&#x89C1;&#xFF1A; <a href="reference-xmlconf/introduction.html">Dubbo&#x914D;&#x7F6E;&#x53C2;&#x8003;&#x624B;&#x518C;</a></p>
-<p> &#x5168;&#x5C40;&#x914D;&#x7F6E;&#x9879;&#x503C;&#xFF0C;&#x5BF9;&#x5E94;dubbo.properties&#x4E2D;&#x7684;Key&#x540D;<code>dubbo.service.invoke.timeout</code></p>
-</li>
-<li><p>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x534F;&#x8BAE;&#x3001;&#x670D;&#x52A1;&#x7684;&#x76D1;&#x542C;&#x7AEF;&#x53E3;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;20880&quot;</span> /&gt;</span>
-</code></pre>
-<p> &#x5BF9;&#x5E94;dubbo.properties&#x4E2D;&#x7684;Key&#x540D;<code>dubbo.service.protocol&#x3001;dubbo.service.server.port</code></p>
-</li>
-<li><p>&#x670D;&#x52A1;&#x7EBF;&#x7A0B;&#x6C60;&#x5927;&#x5C0F;</p>
-<pre><code class="lang-xml"> <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">threads</span>=<span class="hljs-string">&quot;100&quot;</span> /&gt;</span>
-</code></pre>
-<p> &#x5BF9;&#x5E94; dubbo.properties &#x4E2D;&#x7684;Key&#x540D;<code>dubbo.service.max.thread.threads.size</code></p>
-</li>
-<li><p>&#x6D88;&#x8D39;&#x8005;&#x542F;&#x52A8;&#x65F6;&#xFF0C;&#x6CA1;&#x6709;&#x63D0;&#x4F9B;&#x8005;&#x662F;&#x5426;&#x629B;&#x5F02;&#x5E38;Fast-Fail</p>
-<pre><code class="lang-xml"> <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.xxx.XxxService&quot;</span> <span class="hljs-attr">check</span>=<span class="hljs-string">&quot;false&quot;</span> /&gt;</span>
-</code></pre>
-<p> &#x5BF9;&#x5E94; dubbo.properties &#x4E2D;&#x7684;Key&#x540D;<code>alibaba.intl.commons.dubbo.service.allow.no.provider</code></p>
-</li>
-</ol>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="best-practice.html" class="navigation navigation-prev " aria-label="Previous page: 11 服务化最佳实践">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="capacity-plan.html" class="navigation navigation-next " aria-label="Next page: 13 容量规划">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"12 推荐用法","level":"1.13","depth":1,"next":{"title":"13 容量规划","level":"1.14","depth":1,"path":"capacity-plan.md","ref":"capacity-plan.md","articles":[]},"previous":{"title":"11 服务化最佳实践","level":"1.12","depth":1,"path":"best-practice.md","ref":"best-practice.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"recommend.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":".","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="gitbook/gitbook.js"></script>
-    <script src="gitbook/theme.js"></script>
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-apiconf/api.html b/user-guide/reference-apiconf/api.html
deleted file mode 100644
index 22dfe17..0000000
--- a/user-guide/reference-apiconf/api.html
+++ /dev/null
@@ -1,1501 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>5 API参考手册 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="../reference-xmlconf/introduction.html" />
-    
-    
-    <link rel="prev" href="../demos/分布式事务.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.6" data-path="api.html">
-            
-                <a href="api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >5 API参考手册</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="check"> Dubbo&#x7684;&#x5E38;&#x89C4;&#x529F;&#x80FD;&#xFF0C;&#x90FD;&#x4FDD;&#x6301;&#x96F6;&#x4FB5;&#x5165;&#xFF0C;&#x4F46;&#x6709;&#x4E9B;&#x529F;&#x80FD;&#x4E0D;&#x5F97;&#x4E0D;&#x7528;API&#x4FB5;&#x5165;&#x624D;&#x80FD;&#x5B9E;&#x73B0;&#x3002;  </p>
-<p><img src="../sources/images/warning-3.gif" alt="warning"> Dubbo&#x4E2D;&#x9664;&#x8FD9;&#x91CC;&#x58F0;&#x660E;&#x4EE5;&#x5916;&#x7684;&#x63A5;&#x53E3;&#x6216;&#x7C7B;&#xFF0C;&#x90FD;&#x662F;&#x5185;&#x90E8;&#x63A5;&#x53E3;&#x6216;&#x6269;&#x5C55;&#x63A5;&#x53E3;&#xFF0C;&#x666E;&#x901A;&#x7528;&#x6237;&#x8BF7;&#x4E0D;&#x8981;&#x76F4;&#x63A5;&#x4F9D;&#x8D56;&#xFF0C;&#x5426;&#x5219;&#x5347;&#x7EA7;&#x7248;&#x672C;&#x53EF;&#x80FD;&#x51FA;&#x73B0;&#x4E0D;&#x517C;&#x5BB9;&#x3002;</p>
-</blockquote>
-<p>API&#x6C47;&#x603B;&#x5982;&#x4E0B;&#xFF1A;  </p>
-<h4 id="&#x914D;&#x7F6E;api">&#x914D;&#x7F6E;API</h4>
-<pre><code>com.alibaba.dubbo.config.ServiceConfig
-com.alibaba.dubbo.config.ReferenceConfig
-com.alibaba.dubbo.config.ProtocolConfig
-com.alibaba.dubbo.config.RegistryConfig
-com.alibaba.dubbo.config.MonitorConfig
-com.alibaba.dubbo.config.ApplicationConfig
-com.alibaba.dubbo.config.ModuleConfig
-com.alibaba.dubbo.config.ProviderConfig
-com.alibaba.dubbo.config.ConsumerConfig
-com.alibaba.dubbo.config.MethodConfig
-com.alibaba.dubbo.config.ArgumentConfig
-</code></pre><p>&#x8BE6;&#x7EC6;&#x53C2;&#x89C1;&#xFF1A;<a href="../configuration/api.html">API&#x914D;&#x7F6E;</a>  </p>
-<h4 id="&#x6CE8;&#x89E3;api">&#x6CE8;&#x89E3;API</h4>
-<pre><code>com.alibaba.dubbo.config.annotation.Service
-com.alibaba.dubbo.config.annotation.Reference
-</code></pre><p>&#x8BE6;&#x7EC6;&#x53C2;&#x89C1;&#xFF1A;<a href="../configuration/annotation.html">&#x6CE8;&#x89E3;&#x914D;&#x7F6E;</a></p>
-<h4 id="&#x6A21;&#x578B;api">&#x6A21;&#x578B;API</h4>
-<pre><code>com.alibaba.dubbo.common.URL
-com.alibaba.dubbo.rpc.RpcException
-</code></pre><h4 id="&#x4E0A;&#x4E0B;&#x6587;api">&#x4E0A;&#x4E0B;&#x6587;API</h4>
-<pre><code>com.alibaba.dubbo.rpc.RpcContext
-</code></pre><p>&#x8BE6;&#x7EC6;&#x53C2;&#x89C1;&#xFF1A;<a href="../demos/&#x4E0A;&#x4E0B;&#x6587;&#x4FE1;&#x606F;.html">&#x4E0A;&#x4E0B;&#x6587;&#x4FE1;&#x606F;</a> &amp; &#x5BF9;&#x65B9;&#x5730;&#x5740; &amp; <a href="../demos/&#x9690;&#x5F0F;&#x4F20;&#x53C2;.html">&#x9690;&#x5F0F;&#x4F20;&#x53C2;</a> &amp; <a href="../demos/&#x5F02;&#x6B65;&#x8C03;&#x7528;.html">&#x5F02;&#x6B65;&#x8C03;&#x7528;</a></p>
-<h4 id="&#x670D;&#x52A1;api">&#x670D;&#x52A1;API</h4>
-<pre><code>com.alibaba.dubbo.rpc.service.GenericService
-com.alibaba.dubbo.rpc.service.GenericException
-</code></pre><p>&#x8BE6;&#x7EC6;&#x53C2;&#x89C1;&#xFF1A;<a href="../demos/&#x6CDB;&#x5316;&#x5F15;&#x7528;.html">&#x6CDB;&#x5316;&#x5F15;&#x7528;</a> &amp; <a href="../demos/&#x6CDB;&#x5316;&#x5B9E;&#x73B0;.html">&#x6CDB;&#x5316;&#x5B9E;&#x73B0;</a></p>
-<pre><code>com.alibaba.dubbo.rpc.service.EchoService
-</code></pre><p>&#x8BE6;&#x7EC6;&#x53C2;&#x89C1;&#xFF1A;<a href="../demos/&#x56DE;&#x58F0;&#x6D4B;&#x8BD5;.html">&#x56DE;&#x58F0;&#x6D4B;&#x8BD5;</a></p>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="../demos/分布式事务.html" class="navigation navigation-prev " aria-label="Previous page: 4.43 分布式事务">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="../reference-xmlconf/introduction.html" class="navigation navigation-next " aria-label="Next page: 6 schema配置参考手册">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"5 API参考手册","level":"1.6","depth":1,"next":{"title":"6 schema配置参考手册","level":"1.7","depth":1,"path":"reference-xmlconf/introduction.md","ref":"reference-xmlconf/introduction.md","articles":[{"title":"6.1 dubbo:service","level":"1.7.1","depth":2,"path":"reference-xmlconf/dubbo-service.md","ref":"reference-xmlconf/dubbo-service.md","articles":[]},{"title":"6.2 dubbo:reference","level":"1.7.2","depth":2,"path":"reference-xmlconf/dubbo-reference.md","ref":"reference-xmlconf/dubbo-reference.md","articles":[]},{"title":"6.3 dubbo:protocol","level":"1.7.3","depth":2,"path":"reference-xmlconf/dubbo-protocol.md","ref":"reference-xmlconf/dubbo-protocol.md","articles":[]},{"title":"6.4 dubbo:registry","level":"1.7.4","depth":2,"path":"reference-xmlconf/dubbo-registry.md","ref":"reference-xmlconf/dubbo-registry.md","articles":[]},{"title":"6.5 dubbo:monitor","level":"1.7.5","depth":2,"path":"reference-xmlconf/dubbo-monitor.md","ref":"reference-xmlconf/dubbo-monitor.md","articles":[]},{"title":"6.6 dubbo:application","level":"1.7.6","depth":2,"path":"reference-xmlconf/dubbo-application.md","ref":"reference-xmlconf/dubbo-application.md","articles":[]},{"title":"6.7 dubbo:module","level":"1.7.7","depth":2,"path":"reference-xmlconf/dubbo-module.md","ref":"reference-xmlconf/dubbo-module.md","articles":[]},{"title":"6.8 dubbo:provider","level":"1.7.8","depth":2,"path":"reference-xmlconf/dubbo-provider.md","ref":"reference-xmlconf/dubbo-provider.md","articles":[]},{"title":"6.9 dubbo:consumer","level":"1.7.9","depth":2,"path":"reference-xmlconf/dubbo-consumer.md","ref":"reference-xmlconf/dubbo-consumer.md","articles":[]},{"title":"6.10 dubbo:method","level":"1.7.10","depth":2,"path":"reference-xmlconf/dubbo-method.md","ref":"reference-xmlconf/dubbo-method.md","articles":[]},{"title":"6.11 dubbo:argument","level":"1.7.11","depth":2,"path":"reference-xmlconf/dubbo-argument.md","ref":"reference-xmlconf/dubbo-argument.md","articles":[]},{"title":"6.12 dubbo:parameter","level":"1.7.12","depth":2,"path":"reference-xmlconf/dubbo-parameter.md","ref":"reference-xmlconf/dubbo-parameter.md","articles":[]}]},"previous":{"title":"4.43 分布式事务","level":"1.5.42","depth":2,"path":"demos/分布式事务.md","ref":"demos/分布式事务.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-apiconf/api.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-maven/maven.html b/user-guide/reference-maven/maven.html
deleted file mode 100644
index 22349b7..0000000
--- a/user-guide/reference-maven/maven.html
+++ /dev/null
@@ -1,1478 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>10 maven插件参考手册 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="../best-practice.html" />
-    
-    
-    <link rel="prev" href="../reference-telnet/telnet.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.11" data-path="maven.html">
-            
-                <a href="maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >10 maven插件参考手册</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <h4 id="mvn-dubboregistry">mvn dubbo:registry</h4>
-<p>&#x4EE5;&#x7F3A;&#x7701;&#x7684;9090&#x7AEF;&#x53E3;&#x542F;&#x52A8;&#x4E00;&#x4E2A;&#x7B80;&#x6613;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;</p>
-<p>&#x6837;&#x4F8B;&#xFF1A;&#x4EE5;&#x6307;&#x5B9A;&#x7684;9099&#x7AEF;&#x53E3;&#x542F;&#x52A8;&#x4E00;&#x4E2A;&#x7B80;&#x6613;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;</p>
-<pre><code class="lang-sh">mvn dubbo:registry -Dport=9099
-</code></pre>
-<h4 id="mvn-dubbocreate">mvn dubbo:create</h4>
-<p>(&#x5C1A;&#x672A;&#x53D1;&#x5E03;)</p>
-<p>&#x751F;&#x6210;demo&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5E94;&#x7528;</p>
-<p>&#x6837;&#x4F8B;&#xFF1A;&#x751F;&#x6210;&#x6307;&#x5B9A;&#x63A5;&#x53E3;&#x548C;&#x7248;&#x672C;&#x7684;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5E94;&#x7528;</p>
-<pre><code class="lang-sh">mvn dubbo:create -Dapplication=xxx -Dpackage=com.alibaba.xxx -Dservice=XxxService,YyyService -Dversion=1.0.0
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="../reference-telnet/telnet.html" class="navigation navigation-prev " aria-label="Previous page: 9 telnet命令参考手册">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="../best-practice.html" class="navigation navigation-next " aria-label="Next page: 11 服务化最佳实践">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"10 maven插件参考手册","level":"1.11","depth":1,"next":{"title":"11 服务化最佳实践","level":"1.12","depth":1,"path":"best-practice.md","ref":"best-practice.md","articles":[]},"previous":{"title":"9 telnet命令参考手册","level":"1.10","depth":1,"path":"reference-telnet/telnet.md","ref":"reference-telnet/telnet.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-maven/maven.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-protocol/dubbo.html b/user-guide/reference-protocol/dubbo.html
deleted file mode 100644
index 52bc606..0000000
--- a/user-guide/reference-protocol/dubbo.html
+++ /dev/null
@@ -1,1542 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>7.1 dubbo:// · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="rmi.html" />
-    
-    
-    <link rel="prev" href="introduction.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter active" data-level="1.8.1" data-path="dubbo.html">
-            
-                <a href="dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="rmi.html">
-            
-                <a href="rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="hessian.html">
-            
-                <a href="hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="http.html">
-            
-                <a href="http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="webservice.html">
-            
-                <a href="webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="thrift.html">
-            
-                <a href="thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="memcached.html">
-            
-                <a href="memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="redis.html">
-            
-                <a href="redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >7.1 dubbo://</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">Dubbo&#x7F3A;&#x7701;&#x534F;&#x8BAE;&#x91C7;&#x7528;&#x5355;&#x4E00;&#x957F;&#x8FDE;&#x63A5;&#x548C;NIO&#x5F02;&#x6B65;&#x901A;&#x8BAF;&#xFF0C;&#x9002;&#x5408;&#x4E8E;&#x5C0F;&#x6570;&#x636E;&#x91CF;&#x5927;&#x5E76;&#x53D1;&#x7684;&#x670D;&#x52A1;&#x8C03;&#x7528;&#xFF0C;&#x4EE5;&#x53CA;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x673A;&#x5668;&#x6570;&#x8FDC;&#x5927;&#x4E8E;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x673A;&#x5668;&#x6570;&#x7684;&#x60C5;&#x51B5;&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">Dubbo&#x7F3A;&#x7701;&#x534F;&#x8BAE;&#x4E0D;&#x9002;&#x5408;&#x4F20;&#x9001;&#x5927;&#x6570;&#x636E;&#x91CF;&#x7684;&#x670D;&#x52A1;&#xFF0C;&#x6BD4;&#x5982;&#x4F20;&#x6587;&#x4EF6;&#xFF0C;&#x4F20;&#x89C6;&#x9891;&#x7B49;&#xFF0C;&#x9664;&#x975E;&#x8BF7;&#x6C42;&#x91CF;&#x5F88;&#x4F4E;&#x3002;</p>
-</blockquote>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;20880&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x8BBE;&#x7F6E;&#x9ED8;&#x8BA4;&#x534F;&#x8BAE;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;dubbo&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x8BBE;&#x7F6E;&#x670D;&#x52A1;&#x534F;&#x8BAE;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;dubbo&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x591A;&#x7AEF;&#x53E3;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&#x201C;dubbo&#x201D;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&#x201C;9090&#x201D;</span> <span class="hljs-attr">server</span>=<span class="hljs-string">&#x201C;netty&#x201D;</span> <span class="hljs-attr">client</span>=<span class="hljs-string">&#x201C;netty&#x201D;</span> <span class="hljs-attr">codec</span>=<span class="hljs-string">&#x201C;dubbo&#x201D;</span> <span class="hljs-attr">serialization</span>=<span class="hljs-string">&#x201C;hessian2&#x201D;</span> <span class="hljs-attr">charset</span>=<span class="hljs-string">&#x201C;UTF-8&#x201D;</span> <span class="hljs-attr">threadpool</span>=<span class="hljs-string">&#x201C;fixed&#x201D;</span> <span class="hljs-attr">threads</span>=<span class="hljs-string">&#x201C;100&#x201D;</span> <span class="hljs-attr">queues</span>=<span class="hljs-string">&#x201C;0&#x201D;</span> <span class="hljs-attr">iothreads</span>=<span class="hljs-string">&#x201C;9&#x201D;</span> <span class="hljs-attr">buffer</span>=<span class="hljs-string">&#x201C;8192&#x201D;</span> <span class="hljs-attr">accepts</span>=<span class="hljs-string">&#x201C;1000&#x201D;</span> <span class="hljs-attr">payload</span>=<span class="hljs-string">&#x201C;8388608&#x201D;</span> /&gt;</span>
-</code></pre>
-<p><img src="../sources/images/dubbo-protocol.jpg" alt="/user-guide/images/dubbo-protocol.jpg"></p>
-<ul>
-<li>Transporter: mina, netty, grizzy</li>
-<li>Serialization: dubbo, hessian2, java, json</li>
-<li>Dispatcher: all, direct, message, execution, connection</li>
-<li>ThreadPool: fixed, cached</li>
-</ul>
-<blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">Dubbo&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x6BCF;&#x670D;&#x52A1;&#x6BCF;&#x63D0;&#x4F9B;&#x8005;&#x6BCF;&#x6D88;&#x8D39;&#x8005;&#x4F7F;&#x7528;&#x5355;&#x4E00;&#x957F;&#x8FDE;&#x63A5;&#xFF0C;&#x5982;&#x679C;&#x6570;&#x636E;&#x91CF;&#x8F83;&#x5927;&#xFF0C;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x591A;&#x4E2A;&#x8FDE;&#x63A5;&#x3002;</p>
-</blockquote>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">connections</span>=<span class="hljs-string">&quot;2&quot;</span> /&gt;</span>
-</code></pre>
-<ul>
-<li><code>&lt;dubbo:service connections=&#x201D;0&#x201D;&gt;</code> &#x6216; <code>&lt;dubbo:reference connections=&#x201D;0&#x201D;&gt;</code> &#x8868;&#x793A;&#x8BE5;&#x670D;&#x52A1;&#x4F7F;&#x7528;JVM&#x5171;&#x4EAB;&#x957F;&#x8FDE;&#x63A5;&#x3002;(&#x7F3A;&#x7701;)</li>
-<li><code>&lt;dubbo:service connections=&#x201D;1&#x201D;&gt;</code> &#x6216; <code>&lt;dubbo:reference connections=&#x201D;1&#x201D;&gt;</code> &#x8868;&#x793A;&#x8BE5;&#x670D;&#x52A1;&#x4F7F;&#x7528;&#x72EC;&#x7ACB;&#x957F;&#x8FDE;&#x63A5;&#x3002;</li>
-<li><code>&lt;dubbo:service connections=&#x201D;2&#x201D;&gt;</code> &#x6216;<code>&lt;dubbo:reference connections=&#x201D;2&#x201D;&gt;</code> &#x8868;&#x793A;&#x8BE5;&#x670D;&#x52A1;&#x4F7F;&#x7528;&#x72EC;&#x7ACB;&#x4E24;&#x6761;&#x957F;&#x8FDE;&#x63A5;&#x3002;</li>
-</ul>
-<blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x4E3A;&#x9632;&#x6B62;&#x88AB;&#x5927;&#x91CF;&#x8FDE;&#x63A5;&#x6491;&#x6302;&#xFF0C;&#x53EF;&#x5728;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x9650;&#x5236;&#x5927;&#x63A5;&#x6536;&#x8FDE;&#x63A5;&#x6570;&#xFF0C;&#x4EE5;&#x5B9E;&#x73B0;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x81EA;&#x6211;&#x4FDD;&#x62A4;&#x3002;</p>
-</blockquote>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;dubbo&quot;</span> <span class="hljs-attr">accepts</span>=<span class="hljs-string">&quot;1000&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x7F3A;&#x7701;&#x534F;&#x8BAE;&#xFF0C;&#x4F7F;&#x7528;&#x57FA;&#x4E8E;mina1.1.7+hessian3.2.1&#x7684;tbremoting&#x4EA4;&#x4E92;&#x3002;</p>
-<ul>
-<li>&#x8FDE;&#x63A5;&#x4E2A;&#x6570;&#xFF1A;&#x5355;&#x8FDE;&#x63A5;</li>
-<li>&#x8FDE;&#x63A5;&#x65B9;&#x5F0F;&#xFF1A;&#x957F;&#x8FDE;&#x63A5;</li>
-<li>&#x4F20;&#x8F93;&#x534F;&#x8BAE;&#xFF1A;TCP</li>
-<li>&#x4F20;&#x8F93;&#x65B9;&#x5F0F;&#xFF1A;NIO&#x5F02;&#x6B65;&#x4F20;&#x8F93;</li>
-<li>&#x5E8F;&#x5217;&#x5316;&#xFF1A;Hessian&#x4E8C;&#x8FDB;&#x5236;&#x5E8F;&#x5217;&#x5316;</li>
-<li>&#x9002;&#x7528;&#x8303;&#x56F4;&#xFF1A;&#x4F20;&#x5165;&#x4F20;&#x51FA;&#x53C2;&#x6570;&#x6570;&#x636E;&#x5305;&#x8F83;&#x5C0F;&#xFF08;&#x5EFA;&#x8BAE;&#x5C0F;&#x4E8E;100K&#xFF09;&#xFF0C;&#x6D88;&#x8D39;&#x8005;&#x6BD4;&#x63D0;&#x4F9B;&#x8005;&#x4E2A;&#x6570;&#x591A;&#xFF0C;&#x5355;&#x4E00;&#x6D88;&#x8D39;&#x8005;&#x65E0;&#x6CD5;&#x538B;&#x6EE1;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x5C3D;&#x91CF;&#x4E0D;&#x8981;&#x7528;dubbo&#x534F;&#x8BAE;&#x4F20;&#x8F93;&#x5927;&#x6587;&#x4EF6;&#x6216;&#x8D85;&#x5927;&#x5B57;&#x7B26;&#x4E32;&#x3002;</li>
-<li>&#x9002;&#x7528;&#x573A;&#x666F;&#xFF1A;&#x5E38;&#x89C4;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x65B9;&#x6CD5;&#x8C03;&#x7528;</li>
-</ul>
-<p><strong>&#x4E3A;&#x4EC0;&#x4E48;&#x8981;&#x6D88;&#x8D39;&#x8005;&#x6BD4;&#x63D0;&#x4F9B;&#x8005;&#x4E2A;&#x6570;&#x591A;?</strong></p>
-<p>&#x56E0;dubbo&#x534F;&#x8BAE;&#x91C7;&#x7528;&#x5355;&#x4E00;&#x957F;&#x8FDE;&#x63A5;&#xFF0C;&#x5047;&#x8BBE;&#x7F51;&#x7EDC;&#x4E3A;&#x5343;&#x5146;&#x7F51;&#x5361;(1024Mbit=128MByte)&#xFF0C;&#x6839;&#x636E;&#x6D4B;&#x8BD5;&#x7ECF;&#x9A8C;&#x6570;&#x636E;&#x6BCF;&#x6761;&#x8FDE;&#x63A5;&#x6700;&#x591A;&#x53EA;&#x80FD;&#x538B;&#x6EE1;7MByte(&#x4E0D;&#x540C;&#x7684;&#x73AF;&#x5883;&#x53EF;&#x80FD;&#x4E0D;&#x4E00;&#x6837;&#xFF0C;&#x4F9B;&#x53C2;&#x8003;)&#xFF0C;&#x7406;&#x8BBA;&#x4E0A;1&#x4E2A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x9700;&#x8981;20&#x4E2A;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x624D;&#x80FD;&#x538B;&#x6EE1;&#x7F51;&#x5361;&#x3002;</p>
-<p><strong>&#x4E3A;&#x4EC0;&#x4E48;&#x4E0D;&#x80FD;&#x4F20;&#x5927;&#x5305;?</strong></p>
-<p>&#x56E0;dubbo&#x534F;&#x8BAE;&#x91C7;&#x7528;&#x5355;&#x4E00;&#x957F;&#x8FDE;&#x63A5;&#xFF0C;&#x5982;&#x679C;&#x6BCF;&#x6B21;&#x8BF7;&#x6C42;&#x7684;&#x6570;&#x636E;&#x5305;&#x5927;&#x5C0F;&#x4E3A;500KByte&#xFF0C;&#x5047;&#x8BBE;&#x7F51;&#x7EDC;&#x4E3A;&#x5343;&#x5146;&#x7F51;&#x5361;(1024Mbit=128MByte)&#xFF0C;&#x6BCF;&#x6761;&#x8FDE;&#x63A5;&#x6700;&#x5927;7MByte(&#x4E0D;&#x540C;&#x7684;&#x73AF;&#x5883;&#x53EF;&#x80FD;&#x4E0D;&#x4E00;&#x6837;&#xFF0C;&#x4F9B;&#x53C2;&#x8003;)&#xFF0C;&#x5355;&#x4E2A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x7684;TPS(&#x6BCF;&#x79D2;&#x5904;&#x7406;&#x4E8B;&#x52A1;&#x6570;)&#x6700;&#x5927;&#x4E3A;&#xFF1A;128MByte / 500KByte = 262&#x3002;&#x5355;&#x4E2A;&#x6D88;&#x8D39;&#x8005;&#x8C03;&#x7528;&#x5355;&#x4E2A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x7684;TPS(&#x6BCF;&#x79D2;&#x5904;&#x7406;&#x4E8B;&#x52A1;&#x6570;)&#x6700;&#x5927;&#x4E3A;&#xFF1A;7MByte / 500KByte = 14&#x3002;&#x5982;&#x679C;&#x80FD;&#x63A5;&#x53D7;&#xFF0C;&#x53EF;&#x4EE5;&#x8003;&#x8651;&#x4F7F;&#x7528;&#xFF0C;&#x5426;&#x5219;&#x7F51;&#x7EDC;&#x5C06;&#x6210;&#x4E3A;&#x74F6;&#x9888;&#x3002;</p>
-<p><strong>&#x4E3A;&#x4EC0;&#x4E48;&#x91C7;&#x7528;&#x5F02;&#x6B65;&#x5355;&#x4E00;&#x957F;&#x8FDE;&#x63A5;?</strong></p>
-<p>&#x56E0;&#x4E3A;&#x670D;&#x52A1;&#x7684;&#x73B0;&#x72B6;&#x5927;&#x90FD;&#x662F;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5C11;&#xFF0C;&#x901A;&#x5E38;&#x53EA;&#x6709;&#x51E0;&#x53F0;&#x673A;&#x5668;&#xFF0C;&#x800C;&#x670D;&#x52A1;&#x7684;&#x6D88;&#x8D39;&#x8005;&#x591A;&#xFF0C;&#x53EF;&#x80FD;&#x6574;&#x4E2A;&#x7F51;&#x7AD9;&#x90FD;&#x5728;&#x8BBF;&#x95EE;&#x8BE5;&#x670D;&#x52A1;&#xFF0C;&#x6BD4;&#x5982;Morgan&#x7684;&#x63D0;&#x4F9B;&#x8005;&#x53EA;&#x6709;6&#x53F0;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x5374;&#x6709;&#x4E0A;&#x767E;&#x53F0;&#x6D88;&#x8D39;&#x8005;&#xFF0C;&#x6BCF;&#x5929;&#x6709;1.5&#x4EBF;&#x6B21;&#x8C03;&#x7528;&#xFF0C;&#x5982;&#x679C;&#x91C7;&#x7528;&#x5E38;&#x89C4;&#x7684;hessian&#x670D;&#x52A1;&#xFF0C;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5F88;&#x5BB9;&#x6613;&#x5C31;&#x88AB;&#x538B;&#x8DE8;&#xFF0C;&#x901A;&#x8FC7;&#x5355;&#x4E00;&#x8FDE;&#x63A5;&#xFF0C;&#x4FDD;&#x8BC1;&#x5355;&#x4E00;&#x6D88;&#x8D39;&#x8005;&#x4E0D;&#x4F1A;&#x538B;&#x6B7B;&#x63D0;&#x4F9B;&#x8005;&#xFF0C;&#x957F;&#x8FDE;&#x63A5;&#xFF0C;&#x51CF;&#x5C11;&#x8FDE;&#x63A5;&#x63E1;&#x624B;&#x9A8C;&#x8BC1;&#x7B49;&#xFF0C;&#x5E76;&#x4F7F;&#x7528;&#x5F02;&#x6B65;IO&#xFF0C;&#x590D;&#x7528;&#x7EBF;&#x7A0B;&#x6C60;&#xFF0C;&#x9632;&#x6B62;C10K&#x95EE;&#x9898;&#x3002;</p>
-<p>(1) &#x7EA6;&#x675F;&#xFF1A;</p>
-<ul>
-<li>&#x53C2;&#x6570;&#x53CA;&#x8FD4;&#x56DE;&#x503C;&#x9700;&#x5B9E;&#x73B0;Serializable&#x63A5;&#x53E3;</li>
-<li>&#x53C2;&#x6570;&#x53CA;&#x8FD4;&#x56DE;&#x503C;&#x4E0D;&#x80FD;&#x81EA;&#x5B9A;&#x4E49;&#x5B9E;&#x73B0;List, Map, Number, Date, Calendar&#x7B49;&#x63A5;&#x53E3;&#xFF0C;&#x53EA;&#x80FD;&#x7528;JDK&#x81EA;&#x5E26;&#x7684;&#x5B9E;&#x73B0;&#xFF0C;&#x56E0;&#x4E3A;hessian&#x4F1A;&#x505A;&#x7279;&#x6B8A;&#x5904;&#x7406;&#xFF0C;&#x81EA;&#x5B9A;&#x4E49;&#x5B9E;&#x73B0;&#x7C7B;&#x4E2D;&#x7684;&#x5C5E;&#x6027;&#x503C;&#x90FD;&#x4F1A;&#x4E22;&#x5931;&#x3002;</li>
-<li><p>Hessian&#x5E8F;&#x5217;&#x5316;&#xFF0C;&#x53EA;&#x4F20;&#x6210;&#x5458;&#x5C5E;&#x6027;&#x503C;&#x548C;&#x503C;&#x7684;&#x7C7B;&#x578B;&#xFF0C;&#x4E0D;&#x4F20;&#x65B9;&#x6CD5;&#x6216;&#x9759;&#x6001;&#x53D8;&#x91CF;&#xFF0C;&#x517C;&#x5BB9;&#x60C5;&#x51B5;&#xFF1A;(&#x7531;&#x5434;&#x4E9A;&#x519B;&#x63D0;&#x4F9B;)</p>
-<p>  &#x6570;&#x636E;&#x901A;&#x8BAF;  | &#x60C5;&#x51B5; | &#x7ED3;&#x679C;
-------------- | ------------- | -------------
-A-&gt;B  | &#x7C7B;A&#x591A;&#x4E00;&#x79CD; &#x5C5E;&#x6027;&#xFF08;&#x6216;&#x8005;&#x8BF4;&#x7C7B;B&#x5C11;&#x4E00;&#x79CD; &#x5C5E;&#x6027;&#xFF09;| &#x4E0D;&#x629B;&#x5F02;&#x5E38;&#xFF0C;A&#x591A;&#x7684;&#x90A3; &#x4E2A;&#x5C5E;&#x6027;&#x7684;&#x503C;&#xFF0C;B&#x6CA1;&#x6709;&#xFF0C; &#x5176;&#x4ED6;&#x6B63;&#x5E38;
-A-&gt;B  | &#x679A;&#x4E3E;A&#x591A;&#x4E00;&#x79CD; &#x679A;&#x4E3E;&#xFF08;&#x6216;&#x8005;&#x8BF4;B&#x5C11;&#x4E00;&#x79CD; &#x679A;&#x4E3E;&#xFF09;&#xFF0C;A&#x4F7F;&#x7528;&#x591A; &#x51FA;&#x6765;&#x7684;&#x679A;&#x4E3E;&#x8FDB;&#x884C;&#x4F20;&#x8F93; | &#x629B;&#x5F02;&#x5E38;
-A-&gt;B | &#x679A;&#x4E3E;A&#x591A;&#x4E00;&#x79CD; &#x679A;&#x4E3E;&#xFF08;&#x6216;&#x8005;&#x8BF4;B&#x5C11;&#x4E00;&#x79CD; &#x679A;&#x4E3E;&#xFF09;&#xFF0C;A&#x4E0D;&#x4F7F;&#x7528; &#x591A;&#x51FA;&#x6765;&#x7684;&#x679A;&#x4E3E;&#x8FDB;&#x884C;&#x4F20;&#x8F93; | &#x4E0D;&#x629B;&#x5F02;&#x5E38;&#xFF0C;B&#x6B63;&#x5E38;&#x63A5; &#x6536;&#x6570;&#x636E;
-A-&gt;B | A&#x548C;B&#x7684;&#x5C5E;&#x6027; &#x540D;&#x76F8;&#x540C;&#xFF0C;&#x4F46;&#x7C7B;&#x578B;&#x4E0D;&#x76F8;&#x540C; | &#x629B;&#x5F02;&#x5E38;
-A-&gt;B | serialId &#x4E0D;&#x76F8;&#x540C; | &#x6B63;&#x5E38;&#x4F20;&#x8F93;</p>
-<p>  &#x603B;&#x7ED3;&#xFF1A;&#x4F1A;&#x629B;&#x5F02;&#x5E38;&#x7684;&#x60C5;&#x51B5;&#xFF1A;&#x679A;&#x4E3E;&#x503C;&#x4E00;&#x8FB9;&#x591A;&#x4E00;&#x79CD;&#xFF0C;&#x4E00;&#x8FB9;&#x5C11;&#x4E00;&#x79CD;&#xFF0C;&#x6B63;&#x597D;&#x4F7F;&#x7528;&#x4E86;&#x5DEE;&#x522B;&#x7684;&#x90A3;&#x79CD;&#xFF0C;&#x6216;&#x8005;&#x5C5E;&#x6027;&#x540D;&#x76F8;&#x540C;&#xFF0C;&#x7C7B;&#x578B;&#x4E0D;&#x540C;</p>
-</li>
-</ul>
-<p>&#x63A5;&#x53E3;&#x589E;&#x52A0;&#x65B9;&#x6CD5;&#xFF0C;&#x5BF9;&#x5BA2;&#x6237;&#x7AEF;&#x65E0;&#x5F71;&#x54CD;&#xFF0C;&#x5982;&#x679C;&#x8BE5;&#x65B9;&#x6CD5;&#x4E0D;&#x662F;&#x5BA2;&#x6237;&#x7AEF;&#x9700;&#x8981;&#x7684;&#xFF0C;&#x5BA2;&#x6237;&#x7AEF;&#x4E0D;&#x9700;&#x8981;&#x91CD;&#x65B0;&#x90E8;&#x7F72;&#x3002;&#x8F93;&#x5165;&#x53C2;&#x6570;&#x548C;&#x7ED3;&#x679C;&#x96C6;&#x4E2D;&#x589E;&#x52A0;&#x5C5E;&#x6027;&#xFF0C;&#x5BF9;&#x5BA2;&#x6237;&#x7AEF;&#x65E0;&#x5F71;&#x54CD;&#xFF0C;&#x5982;&#x679C;&#x5BA2;&#x6237;&#x7AEF;&#x5E76;&#x4E0D;&#x9700;&#x8981;&#x65B0;&#x5C5E;&#x6027;&#xFF0C;&#x4E0D;&#x7528;&#x91CD;&#x65B0;&#x90E8;&#x7F72;&#x3002;</p>
-<p>&#x8F93;&#x5165;&#x53C2;&#x6570;&#x548C;&#x7ED3;&#x679C;&#x96C6;&#x5C5E;&#x6027;&#x540D;&#x53D8;&#x5316;&#xFF0C;&#x5BF9;&#x5BA2;&#x6237;&#x7AEF;&#x5E8F;&#x5217;&#x5316;&#x65E0;&#x5F71;&#x54CD;&#xFF0C;&#x4F46;&#x662F;&#x5982;&#x679C;&#x5BA2;&#x6237;&#x7AEF;&#x4E0D;&#x91CD;&#x65B0;&#x90E8;&#x7F72;&#xFF0C;&#x4E0D;&#x7BA1;&#x8F93;&#x5165;&#x8FD8;&#x662F;&#x8F93;&#x51FA;&#xFF0C;&#x5C5E;&#x6027;&#x540D;&#x53D8;&#x5316;&#x7684;&#x5C5E;&#x6027;&#x503C;&#x662F;&#x83B7;&#x53D6;&#x4E0D;&#x5230;&#x7684;&#x3002;</p>
-<p>&#x603B;&#x7ED3;&#xFF1A;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x548C;&#x5BA2;&#x6237;&#x7AEF;&#x5BF9;&#x9886;&#x57DF;&#x5BF9;&#x8C61;&#x5E76;&#x4E0D;&#x9700;&#x8981;&#x5B8C;&#x5168;&#x4E00;&#x81F4;&#xFF0C;&#x800C;&#x662F;&#x6309;&#x7167;&#x6700;&#x5927;&#x5339;&#x914D;&#x539F;&#x5219;&#x3002;</p>
-<p>(2) &#x914D;&#x7F6E;&#xFF1A;</p>
-<p><strong>dubbo.properties</strong></p>
-<pre><code class="lang-sh">dubbo.service.protocol=dubbo
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="introduction.html" class="navigation navigation-prev " aria-label="Previous page: 7 协议参考手册">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="rmi.html" class="navigation navigation-next " aria-label="Next page: 7.2 rmi//">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"7.1 dubbo://","level":"1.8.1","depth":2,"next":{"title":"7.2 rmi//","level":"1.8.2","depth":2,"path":"reference-protocol/rmi.md","ref":"reference-protocol/rmi.md","articles":[]},"previous":{"title":"7 协议参考手册","level":"1.8","depth":1,"path":"reference-protocol/introduction.md","ref":"reference-protocol/introduction.md","articles":[{"title":"7.1 dubbo://","level":"1.8.1","depth":2,"path":"reference-protocol/dubbo.md","ref":"reference-protocol/dubbo.md","articles":[]},{"title":"7.2 rmi//","level":"1.8.2","depth":2,"path":"reference-protocol/rmi.md","ref":"reference-protocol/rmi.md","articles":[]},{"title":"7.3 hessian://","level":"1.8.3","depth":2,"path":"reference-protocol/hessian.md","ref":"reference-protocol/hessian.md","articles":[]},{"title":"7.4 http://","level":"1.8.4","depth":2,"path":"reference-protocol/http.md","ref":"reference-protocol/http.md","articles":[]},{"title":"7.5 webservice://","level":"1.8.5","depth":2,"path":"reference-protocol/webservice.md","ref":"reference-protocol/webservice.md","articles":[]},{"title":"7.6 thrift://","level":"1.8.6","depth":2,"path":"reference-protocol/thrift.md","ref":"reference-protocol/thrift.md","articles":[]},{"title":"7.7 memcached://","level":"1.8.7","depth":2,"path":"reference-protocol/memcached.md","ref":"reference-protocol/memcached.md","articles":[]},{"title":"7.8 redis://","level":"1.8.8","depth":2,"path":"reference-protocol/redis.md","ref":"reference-protocol/redis.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-protocol/dubbo.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-protocol/hessian.html b/user-guide/reference-protocol/hessian.html
deleted file mode 100644
index aed1002..0000000
--- a/user-guide/reference-protocol/hessian.html
+++ /dev/null
@@ -1,1515 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>7.3 hessian:// · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="http.html" />
-    
-    
-    <link rel="prev" href="rmi.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="dubbo.html">
-            
-                <a href="dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="rmi.html">
-            
-                <a href="rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.8.3" data-path="hessian.html">
-            
-                <a href="hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="http.html">
-            
-                <a href="http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="webservice.html">
-            
-                <a href="webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="thrift.html">
-            
-                <a href="thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="memcached.html">
-            
-                <a href="memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="redis.html">
-            
-                <a href="redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >7.3 hessian://</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">Hessian&#x534F;&#x8BAE;&#x7528;&#x4E8E;&#x96C6;&#x6210;Hessian&#x7684;&#x670D;&#x52A1;&#xFF0C;Hessian&#x5E95;&#x5C42;&#x91C7;&#x7528;Http&#x901A;&#x8BAF;&#xFF0C;&#x91C7;&#x7528;Servlet&#x66B4;&#x9732;&#x670D;&#x52A1;&#xFF0C;Dubbo&#x7F3A;&#x7701;&#x5185;&#x5D4C;Jetty&#x4F5C;&#x4E3A;&#x670D;&#x52A1;&#x5668;&#x5B9E;&#x73B0;&#x3002;</p>
-<p><img src="../sources/images/check.gif" alt="warning"><a href="http://hessian.caucho.com" target="_blank">Hessian</a> &#x662F;Caucho&#x5F00;&#x6E90;&#x7684;&#x4E00;&#x4E2A; RPC &#x6846;&#x67B6;&#xFF0C;&#x5176;&#x901A;&#x8BAF;&#x6548;&#x7387;&#x9AD8;&#x4E8E;WebService&#x548C;Java&#x81EA;&#x5E26;&#x7684;&#x5E8F;&#x5217;&#x5316;&#x3002;</p>
-</blockquote>
-<p>&#x4F9D;&#x8D56;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>com.caucho<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>hessian<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>4.0.7<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
-</code></pre>
-<p>&#x53EF;&#x4EE5;&#x548C;&#x539F;&#x751F;Hessian&#x670D;&#x52A1;&#x4E92;&#x64CD;&#x4F5C;&#xFF0C;&#x5373;&#xFF1A;</p>
-<ul>
-<li>&#x63D0;&#x4F9B;&#x8005;&#x7528;Dubbo&#x7684;Hessian&#x534F;&#x8BAE;&#x66B4;&#x9732;&#x670D;&#x52A1;&#xFF0C;&#x6D88;&#x8D39;&#x8005;&#x76F4;&#x63A5;&#x7528;&#x6807;&#x51C6;Hessian&#x63A5;&#x53E3;&#x8C03;&#x7528;&#xFF0C;</li>
-<li>&#x6216;&#x8005;&#x63D0;&#x4F9B;&#x65B9;&#x7528;&#x6807;&#x51C6;Hessian&#x66B4;&#x9732;&#x670D;&#x52A1;&#xFF0C;&#x6D88;&#x8D39;&#x65B9;&#x7528;Dubbo&#x7684;Hessian&#x534F;&#x8BAE;&#x8C03;&#x7528;&#x3002;</li>
-</ul>
-<p>&#x57FA;&#x4E8E;Hessian&#x7684;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x534F;&#x8BAE;&#x3002;</p>
-<ul>
-<li>&#x8FDE;&#x63A5;&#x4E2A;&#x6570;&#xFF1A;&#x591A;&#x8FDE;&#x63A5;</li>
-<li>&#x8FDE;&#x63A5;&#x65B9;&#x5F0F;&#xFF1A;&#x77ED;&#x8FDE;&#x63A5;</li>
-<li>&#x4F20;&#x8F93;&#x534F;&#x8BAE;&#xFF1A;HTTP</li>
-<li>&#x4F20;&#x8F93;&#x65B9;&#x5F0F;&#xFF1A;&#x540C;&#x6B65;&#x4F20;&#x8F93;</li>
-<li>&#x5E8F;&#x5217;&#x5316;&#xFF1A;Hessian&#x4E8C;&#x8FDB;&#x5236;&#x5E8F;&#x5217;&#x5316;</li>
-<li>&#x9002;&#x7528;&#x8303;&#x56F4;&#xFF1A;&#x4F20;&#x5165;&#x4F20;&#x51FA;&#x53C2;&#x6570;&#x6570;&#x636E;&#x5305;&#x8F83;&#x5927;&#xFF0C;&#x63D0;&#x4F9B;&#x8005;&#x6BD4;&#x6D88;&#x8D39;&#x8005;&#x4E2A;&#x6570;&#x591A;&#xFF0C;&#x63D0;&#x4F9B;&#x8005;&#x538B;&#x529B;&#x8F83;&#x5927;&#xFF0C;&#x53EF;&#x4F20;&#x6587;&#x4EF6;&#x3002;</li>
-<li>&#x9002;&#x7528;&#x573A;&#x666F;&#xFF1A;&#x9875;&#x9762;&#x4F20;&#x8F93;&#xFF0C;&#x6587;&#x4EF6;&#x4F20;&#x8F93;&#xFF0C;&#x6216;&#x4E0E;&#x539F;&#x751F;hessian&#x670D;&#x52A1;&#x4E92;&#x64CD;&#x4F5C;</li>
-</ul>
-<p>(1) &#x7EA6;&#x675F;&#xFF1A;</p>
-<ul>
-<li>&#x53C2;&#x6570;&#x53CA;&#x8FD4;&#x56DE;&#x503C;&#x9700;&#x5B9E;&#x73B0;Serializable&#x63A5;&#x53E3;</li>
-<li>&#x53C2;&#x6570;&#x53CA;&#x8FD4;&#x56DE;&#x503C;&#x4E0D;&#x80FD;&#x81EA;&#x5B9A;&#x4E49;&#x5B9E;&#x73B0;List, Map, Number, Date, Calendar&#x7B49;&#x63A5;&#x53E3;&#xFF0C;&#x53EA;&#x80FD;&#x7528;JDK&#x81EA;&#x5E26;&#x7684;&#x5B9E;&#x73B0;&#xFF0C;&#x56E0;&#x4E3A;hessian&#x4F1A;&#x505A;&#x7279;&#x6B8A;&#x5904;&#x7406;&#xFF0C;&#x81EA;&#x5B9A;&#x4E49;&#x5B9E;&#x73B0;&#x7C7B;&#x4E2D;&#x7684;&#x5C5E;&#x6027;&#x503C;&#x90FD;&#x4F1A;&#x4E22;&#x5931;&#x3002;</li>
-</ul>
-<p>(2) &#x914D;&#x7F6E;&#xFF1A;</p>
-<p>&#x5B9A;&#x4E49; hessian &#x534F;&#x8BAE;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;hessian&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;8080&quot;</span> <span class="hljs-attr">server</span>=<span class="hljs-string">&quot;jetty&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x8BBE;&#x7F6E;&#x9ED8;&#x8BA4;&#x534F;&#x8BAE;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;hessian&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x8BBE;&#x7F6E; service &#x534F;&#x8BAE;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;hessian&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x591A;&#x7AEF;&#x53E3;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;hessian1&quot;</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;hessian&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;8080&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;hessian2&quot;</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;hessian&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;8081&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x76F4;&#x8FDE;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;helloService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;HelloWorld&quot;</span> <span class="hljs-attr">url</span>=<span class="hljs-string">&quot;hessian://10.20.153.10:8080/helloWorld&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="rmi.html" class="navigation navigation-prev " aria-label="Previous page: 7.2 rmi//">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="http.html" class="navigation navigation-next " aria-label="Next page: 7.4 http://">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"7.3 hessian://","level":"1.8.3","depth":2,"next":{"title":"7.4 http://","level":"1.8.4","depth":2,"path":"reference-protocol/http.md","ref":"reference-protocol/http.md","articles":[]},"previous":{"title":"7.2 rmi//","level":"1.8.2","depth":2,"path":"reference-protocol/rmi.md","ref":"reference-protocol/rmi.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-protocol/hessian.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-protocol/http.html b/user-guide/reference-protocol/http.html
deleted file mode 100644
index ed08c9d..0000000
--- a/user-guide/reference-protocol/http.html
+++ /dev/null
@@ -1,1511 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>7.4 http:// · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="webservice.html" />
-    
-    
-    <link rel="prev" href="hessian.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="dubbo.html">
-            
-                <a href="dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="rmi.html">
-            
-                <a href="rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="hessian.html">
-            
-                <a href="hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.8.4" data-path="http.html">
-            
-                <a href="http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="webservice.html">
-            
-                <a href="webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="thrift.html">
-            
-                <a href="thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="memcached.html">
-            
-                <a href="memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="redis.html">
-            
-                <a href="redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >7.4 http://</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning"> &#x91C7;&#x7528;Spring&#x7684;HttpInvoker&#x5B9E;&#x73B0;  </p>
-<p><img src="../sources/images/warning-3.gif" alt="warning"> 2.3.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</p>
-</blockquote>
-<p>&#x57FA;&#x4E8E;http&#x8868;&#x5355;&#x7684;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x534F;&#x8BAE;&#x3002;&#x53C2;&#x89C1;&#xFF1A;<a href="#">HTTP&#x534F;&#x8BAE;&#x4F7F;&#x7528;&#x8BF4;&#x660E;</a></p>
-<ul>
-<li>&#x8FDE;&#x63A5;&#x4E2A;&#x6570;&#xFF1A;&#x591A;&#x8FDE;&#x63A5;</li>
-<li>&#x8FDE;&#x63A5;&#x65B9;&#x5F0F;&#xFF1A;&#x77ED;&#x8FDE;&#x63A5;</li>
-<li>&#x4F20;&#x8F93;&#x534F;&#x8BAE;&#xFF1A;HTTP</li>
-<li>&#x4F20;&#x8F93;&#x65B9;&#x5F0F;&#xFF1A;&#x540C;&#x6B65;&#x4F20;&#x8F93;</li>
-<li>&#x5E8F;&#x5217;&#x5316;&#xFF1A;&#x8868;&#x5355;&#x5E8F;&#x5217;&#x5316;</li>
-<li>&#x9002;&#x7528;&#x8303;&#x56F4;&#xFF1A;&#x4F20;&#x5165;&#x4F20;&#x51FA;&#x53C2;&#x6570;&#x6570;&#x636E;&#x5305;&#x5927;&#x5C0F;&#x6DF7;&#x5408;&#xFF0C;&#x63D0;&#x4F9B;&#x8005;&#x6BD4;&#x6D88;&#x8D39;&#x8005;&#x4E2A;&#x6570;&#x591A;&#xFF0C;&#x53EF;&#x7528;&#x6D4F;&#x89C8;&#x5668;&#x67E5;&#x770B;&#xFF0C;&#x53EF;&#x7528;&#x8868;&#x5355;&#x6216;URL&#x4F20;&#x5165;&#x53C2;&#x6570;&#xFF0C;&#x6682;&#x4E0D;&#x652F;&#x6301;&#x4F20;&#x6587;&#x4EF6;&#x3002;</li>
-<li>&#x9002;&#x7528;&#x573A;&#x666F;&#xFF1A;&#x9700;&#x540C;&#x65F6;&#x7ED9;&#x5E94;&#x7528;&#x7A0B;&#x5E8F;&#x548C;&#x6D4F;&#x89C8;&#x5668;JS&#x4F7F;&#x7528;&#x7684;&#x670D;&#x52A1;&#x3002;</li>
-</ul>
-<p>(1) &#x7EA6;&#x675F;&#xFF1A;  </p>
-<ul>
-<li>&#x53C2;&#x6570;&#x53CA;&#x8FD4;&#x56DE;&#x503C;&#x9700;&#x7B26;&#x5408;Bean&#x89C4;&#x8303;</li>
-</ul>
-<p>(2) &#x914D;&#x7F6E;&#xFF1A;
-dubbo.xml&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;http&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;8080&quot;</span> /&gt;</span>
-</code></pre>
-<p>h4. Jetty Server: (default)</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">...</span> <span class="hljs-attr">server</span>=<span class="hljs-string">&quot;jetty&quot;</span> /&gt;</span>
-</code></pre>
-<p>h4. Servlet Bridge Server: (recommend)</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">...</span> <span class="hljs-attr">server</span>=<span class="hljs-string">&quot;servlet&quot;</span> /&gt;</span>
-</code></pre>
-<p>web.xml&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">servlet</span>&gt;</span>
-         <span class="hljs-tag">&lt;<span class="hljs-name">servlet-name</span>&gt;</span>dubbo<span class="hljs-tag">&lt;/<span class="hljs-name">servlet-name</span>&gt;</span>
-         <span class="hljs-tag">&lt;<span class="hljs-name">servlet-class</span>&gt;</span>com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet<span class="hljs-tag">&lt;/<span class="hljs-name">servlet-class</span>&gt;</span>
-         <span class="hljs-tag">&lt;<span class="hljs-name">load-on-startup</span>&gt;</span>1<span class="hljs-tag">&lt;/<span class="hljs-name">load-on-startup</span>&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">servlet</span>&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">servlet-mapping</span>&gt;</span>
-         <span class="hljs-tag">&lt;<span class="hljs-name">servlet-name</span>&gt;</span>dubbo<span class="hljs-tag">&lt;/<span class="hljs-name">servlet-name</span>&gt;</span>
-         <span class="hljs-tag">&lt;<span class="hljs-name">url-pattern</span>&gt;</span>/*<span class="hljs-tag">&lt;/<span class="hljs-name">url-pattern</span>&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">servlet-mapping</span>&gt;</span>
-</code></pre>
-<p>&#x6CE8;&#x610F;&#xFF0C;&#x5982;&#x679C;&#x4F7F;&#x7528;servlet&#x6D3E;&#x53D1;&#x8BF7;&#x6C42;&#xFF1A;</p>
-<ul>
-<li>&#x534F;&#x8BAE;&#x7684;&#x7AEF;&#x53E3;<dubbo:protocol port="8080">&#x5FC5;&#x987B;&#x4E0E;servlet&#x5BB9;&#x5668;&#x7684;&#x7AEF;&#x53E3;&#x76F8;&#x540C;&#xFF0C;</dubbo:protocol></li>
-<li>&#x534F;&#x8BAE;&#x7684;&#x4E0A;&#x4E0B;&#x6587;&#x8DEF;&#x5F84;<dubbo:protocol contextpath="foo">&#x5FC5;&#x987B;&#x4E0E;servlet&#x5E94;&#x7528;&#x7684;&#x4E0A;&#x4E0B;&#x6587;&#x8DEF;&#x5F84;&#x76F8;&#x540C;&#x3002;</dubbo:protocol></li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="hessian.html" class="navigation navigation-prev " aria-label="Previous page: 7.3 hessian://">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="webservice.html" class="navigation navigation-next " aria-label="Next page: 7.5 webservice://">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"7.4 http://","level":"1.8.4","depth":2,"next":{"title":"7.5 webservice://","level":"1.8.5","depth":2,"path":"reference-protocol/webservice.md","ref":"reference-protocol/webservice.md","articles":[]},"previous":{"title":"7.3 hessian://","level":"1.8.3","depth":2,"path":"reference-protocol/hessian.md","ref":"reference-protocol/hessian.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-protocol/http.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-protocol/introduction.html b/user-guide/reference-protocol/introduction.html
deleted file mode 100644
index dc1f34e..0000000
--- a/user-guide/reference-protocol/introduction.html
+++ /dev/null
@@ -1,1471 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>7 协议参考手册 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="dubbo.html" />
-    
-    
-    <link rel="prev" href="../reference-xmlconf/dubbo-parameter.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.8" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="dubbo.html">
-            
-                <a href="dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="rmi.html">
-            
-                <a href="rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="hessian.html">
-            
-                <a href="hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="http.html">
-            
-                <a href="http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="webservice.html">
-            
-                <a href="webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="thrift.html">
-            
-                <a href="thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="memcached.html">
-            
-                <a href="memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="redis.html">
-            
-                <a href="redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >7 协议参考手册</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="check">&#x63A8;&#x8350;&#x4F7F;&#x7528;Dubbo&#x534F;&#x8BAE;</p>
-<p><img src="../sources/images/check.gif" alt="check">&#x6027;&#x80FD;&#x6D4B;&#x8BD5;&#x62A5;&#x544A;<br>    &#x5404;&#x534F;&#x8BAE;&#x7684;&#x6027;&#x80FD;&#x60C5;&#x51B5;&#xFF0C;&#x8BF7;&#x53C2;&#x89C1;&#xFF1A;<a href="../perf-test.html">&#x6027;&#x80FD;&#x6D4B;&#x8BD5;&#x62A5;&#x544A;</a></p>
-</blockquote>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="../reference-xmlconf/dubbo-parameter.html" class="navigation navigation-prev " aria-label="Previous page: 6.12 dubbo:parameter">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="dubbo.html" class="navigation navigation-next " aria-label="Next page: 7.1 dubbo://">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"7 协议参考手册","level":"1.8","depth":1,"next":{"title":"7.1 dubbo://","level":"1.8.1","depth":2,"path":"reference-protocol/dubbo.md","ref":"reference-protocol/dubbo.md","articles":[]},"previous":{"title":"6.12 dubbo:parameter","level":"1.7.12","depth":2,"path":"reference-xmlconf/dubbo-parameter.md","ref":"reference-xmlconf/dubbo-parameter.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-protocol/introduction.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-protocol/memcached.html b/user-guide/reference-protocol/memcached.html
deleted file mode 100644
index 36e1e8a..0000000
--- a/user-guide/reference-protocol/memcached.html
+++ /dev/null
@@ -1,1489 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>7.7 memcached:// · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="redis.html" />
-    
-    
-    <link rel="prev" href="thrift.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="dubbo.html">
-            
-                <a href="dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="rmi.html">
-            
-                <a href="rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="hessian.html">
-            
-                <a href="hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="http.html">
-            
-                <a href="http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="webservice.html">
-            
-                <a href="webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="thrift.html">
-            
-                <a href="thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.8.7" data-path="memcached.html">
-            
-                <a href="memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="redis.html">
-            
-                <a href="redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >7.7 memcached://</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning">2.3.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;&#x3002;</p>
-<p><img src="../sources/images/check.gif" alt="check"><a href="http://memcached.org/" target="_blank">Memcached</a> &#x662F;&#x4E00;&#x4E2A;&#x9AD8;&#x6548;&#x7684;KV&#x7F13;&#x5B58;&#x670D;&#x52A1;&#x5668;&#x3002;</p>
-</blockquote>
-<p>&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x811A;&#x672C;&#x6216;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x624B;&#x5DE5;&#x586B;&#x5199;&#x8868;&#x5355;&#x6CE8;&#x518C;memcached&#x670D;&#x52A1;&#x7684;&#x5730;&#x5740;&#xFF1A;</p>
-<pre><code class="lang-java">RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
-Registry registry = registryFactory.getRegistry(URL.valueOf(<span class="hljs-string">&quot;zookeeper://10.20.153.10:2181&quot;</span>));
-registry.register(URL.valueOf(<span class="hljs-string">&quot;memcached://10.20.153.11/com.foo.BarService?category=providers&amp;dynamic=false&amp;application=foo&amp;group=member&amp;loadbalance=consistenthash&quot;</span>));
-</code></pre>
-<p>&#x7136;&#x540E;&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x4F7F;&#x7528;&#x65F6;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x611F;&#x77E5;Memcached&#x7684;&#x5730;&#x5740;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;cache&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;http://10.20.160.198/wiki/display/dubbo/java.util.Map&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;member&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;&#x8005;&#xFF0C;&#x70B9;&#x5BF9;&#x70B9;&#x76F4;&#x8FDE;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;cache&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;http://10.20.160.198/wiki/display/dubbo/java.util.Map&quot;</span> <span class="hljs-attr">url</span>=<span class="hljs-string">&quot;memcached://10.20.153.10:11211&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x4E5F;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x81EA;&#x5B9A;&#x4E49;&#x63A5;&#x53E3;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;cache&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.CacheService&quot;</span> <span class="hljs-attr">url</span>=<span class="hljs-string">&quot;memcached://10.20.153.10:11211&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x65B9;&#x6CD5;&#x540D;&#x5EFA;&#x8BAE;&#x548C;memcached&#x7684;&#x6807;&#x51C6;&#x65B9;&#x6CD5;&#x540D;&#x76F8;&#x540C;&#xFF0C;&#x5373;&#xFF1A;get(key), set(key, value), delete(key)&#x3002;</p>
-<p>&#x5982;&#x679C;&#x65B9;&#x6CD5;&#x540D;&#x548C;memcached&#x7684;&#x6807;&#x51C6;&#x65B9;&#x6CD5;&#x540D;&#x4E0D;&#x76F8;&#x540C;&#xFF0C;&#x5219;&#x9700;&#x8981;&#x914D;&#x7F6E;&#x6620;&#x5C04;&#x5173;&#x7CFB;&#xFF1A;(&#x5176;&#x4E2D;&quot;p:xxx&quot;&#x4E3A;spring&#x7684;&#x6807;&#x51C6;p&#x6807;&#x7B7E;)</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;cache&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.CacheService&quot;</span> <span class="hljs-attr">url</span>=<span class="hljs-string">&quot;memcached://10.20.153.10:11211&quot;</span> <span class="hljs-attr">p:set</span>=<span class="hljs-string">&quot;putFoo&quot;</span> <span class="hljs-attr">p:get</span>=<span class="hljs-string">&quot;getFoo&quot;</span> <span class="hljs-attr">p:delete</span>=<span class="hljs-string">&quot;removeFoo&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="thrift.html" class="navigation navigation-prev " aria-label="Previous page: 7.6 thrift://">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="redis.html" class="navigation navigation-next " aria-label="Next page: 7.8 redis://">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"7.7 memcached://","level":"1.8.7","depth":2,"next":{"title":"7.8 redis://","level":"1.8.8","depth":2,"path":"reference-protocol/redis.md","ref":"reference-protocol/redis.md","articles":[]},"previous":{"title":"7.6 thrift://","level":"1.8.6","depth":2,"path":"reference-protocol/thrift.md","ref":"reference-protocol/thrift.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-protocol/memcached.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-protocol/redis.html b/user-guide/reference-protocol/redis.html
deleted file mode 100644
index 6035980..0000000
--- a/user-guide/reference-protocol/redis.html
+++ /dev/null
@@ -1,1488 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>7.8 redis:// · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="../reference-registry/introduction.html" />
-    
-    
-    <link rel="prev" href="memcached.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="dubbo.html">
-            
-                <a href="dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="rmi.html">
-            
-                <a href="rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="hessian.html">
-            
-                <a href="hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="http.html">
-            
-                <a href="http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="webservice.html">
-            
-                <a href="webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="thrift.html">
-            
-                <a href="thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="memcached.html">
-            
-                <a href="memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.8.8" data-path="redis.html">
-            
-                <a href="redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >7.8 redis://</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning">2.3.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;&#x3002;</p>
-<p><img src="../sources/images/check.gif" alt="check"><a href="http://redis.io" target="_blank">Redis</a> &#x662F;&#x4E00;&#x4E2A;&#x9AD8;&#x6548;&#x7684;KV&#x5B58;&#x50A8;&#x670D;&#x52A1;&#x5668;&#x3002;</p>
-</blockquote>
-<pre><code class="lang-java">RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
-Registry registry = registryFactory.getRegistry(URL.valueOf(<span class="hljs-string">&quot;zookeeper://10.20.153.10:2181&quot;</span>));
-registry.register(URL.valueOf(<span class="hljs-string">&quot;redis://10.20.153.11/com.foo.BarService?category=providers&amp;dynamic=false&amp;application=foo&amp;group=member&amp;loadbalance=consistenthash&quot;</span>));
-</code></pre>
-<p>&#x7136;&#x540E;&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x4F7F;&#x7528;&#x65F6;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x611F;&#x77E5;Redis&#x7684;&#x5730;&#x5740;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;store&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;http://10.20.160.198/wiki/display/dubbo/java.util.Map&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;member&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;&#x8005;&#xFF0C;&#x70B9;&#x5BF9;&#x70B9;&#x76F4;&#x8FDE;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;store&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;http://10.20.160.198/wiki/display/dubbo/java.util.Map&quot;</span> <span class="hljs-attr">url</span>=<span class="hljs-string">&quot;redis://10.20.153.10:6379&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x4E5F;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x81EA;&#x5B9A;&#x4E49;&#x63A5;&#x53E3;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;store&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.StoreService&quot;</span> <span class="hljs-attr">url</span>=<span class="hljs-string">&quot;redis://10.20.153.10:6379&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x65B9;&#x6CD5;&#x540D;&#x5EFA;&#x8BAE;&#x548C;redis&#x7684;&#x6807;&#x51C6;&#x65B9;&#x6CD5;&#x540D;&#x76F8;&#x540C;&#xFF0C;&#x5373;&#xFF1A;get(key), set(key, value), delet(key)&#x3002;</p>
-<p>&#x5982;&#x679C;&#x65B9;&#x6CD5;&#x540D;&#x548C;redis&#x7684;&#x6807;&#x51C6;&#x65B9;&#x6CD5;&#x540D;&#x4E0D;&#x76F8;&#x540C;&#xFF0C;&#x5219;&#x9700;&#x8981;&#x914D;&#x7F6E;&#x6620;&#x5C04;&#x5173;&#x7CFB;&#xFF1A;(&#x5176;&#x4E2D;&quot;p:xxx&quot;&#x4E3A;spring&#x7684;&#x6807;&#x51C6;p&#x6807;&#x7B7E;)</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;cache&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.foo.CacheService&quot;</span> <span class="hljs-attr">url</span>=<span class="hljs-string">&quot;memcached://10.20.153.10:11211&quot;</span> <span class="hljs-attr">p:set</span>=<span class="hljs-string">&quot;putFoo&quot;</span> <span class="hljs-attr">p:get</span>=<span class="hljs-string">&quot;getFoo&quot;</span> <span class="hljs-attr">p:delete</span>=<span class="hljs-string">&quot;removeFoo&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="memcached.html" class="navigation navigation-prev " aria-label="Previous page: 7.7 memcached://">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="../reference-registry/introduction.html" class="navigation navigation-next " aria-label="Next page: 8 注册中心参考手册">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"7.8 redis://","level":"1.8.8","depth":2,"next":{"title":"8 注册中心参考手册","level":"1.9","depth":1,"path":"reference-registry/introduction.md","ref":"reference-registry/introduction.md","articles":[{"title":"8.1 Multicast注册中心","level":"1.9.1","depth":2,"path":"reference-registry/multicast.md","ref":"reference-registry/multicast.md","articles":[]},{"title":"8.2 Zookeeper注册中心","level":"1.9.2","depth":2,"path":"reference-registry/zookeeper.md","ref":"reference-registry/zookeeper.md","articles":[]},{"title":"8.3 Redis注册中心","level":"1.9.3","depth":2,"path":"reference-registry/redis.md","ref":"reference-registry/redis.md","articles":[]},{"title":"8.4 Simple注册中心","level":"1.9.4","depth":2,"path":"reference-registry/simple.md","ref":"reference-registry/simple.md","articles":[]}]},"previous":{"title":"7.7 memcached://","level":"1.8.7","depth":2,"path":"reference-protocol/memcached.md","ref":"reference-protocol/memcached.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-protocol/redis.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-protocol/rmi.html b/user-guide/reference-protocol/rmi.html
deleted file mode 100644
index 5f0d40e..0000000
--- a/user-guide/reference-protocol/rmi.html
+++ /dev/null
@@ -1,1527 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>7.2 rmi// · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="hessian.html" />
-    
-    
-    <link rel="prev" href="dubbo.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="dubbo.html">
-            
-                <a href="dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.8.2" data-path="rmi.html">
-            
-                <a href="rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="hessian.html">
-            
-                <a href="hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="http.html">
-            
-                <a href="http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="webservice.html">
-            
-                <a href="webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="thrift.html">
-            
-                <a href="thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="memcached.html">
-            
-                <a href="memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="redis.html">
-            
-                <a href="redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >7.2 rmi//</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">RMI&#x534F;&#x8BAE;&#x91C7;&#x7528;JDK&#x6807;&#x51C6;&#x7684;java.rmi.*&#x5B9E;&#x73B0;&#xFF0C;&#x91C7;&#x7528;&#x963B;&#x585E;&#x5F0F;&#x77ED;&#x8FDE;&#x63A5;&#x548C;JDK&#x6807;&#x51C6;&#x5E8F;&#x5217;&#x5316;&#x65B9;&#x5F0F;&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">&#x5982;&#x679C;&#x6B63;&#x5728;&#x4F7F;&#x7528;RMI&#x63D0;&#x4F9B;&#x670D;&#x52A1;&#x7ED9;&#x5916;&#x90E8;&#x8BBF;&#x95EE;&#xFF08;&#x516C;&#x53F8;&#x5185;&#x7F51;&#x73AF;&#x5883;&#x5E94;&#x8BE5;&#x4E0D;&#x4F1A;&#x6709;&#x653B;&#x51FB;&#x98CE;&#x9669;&#xFF09;&#xFF0C;&#x540C;&#x65F6;&#x5E94;&#x7528;&#x91CC;&#x4F9D;&#x8D56;&#x4E86;&#x8001;&#x7684;common-collections&#x5305;&#xFF08;dubbo&#x4E0D;&#x4F1A;&#x4F9D;&#x8D56;&#x8FD9;&#x4E2A;&#x5305;&#xFF0C;&#x8BF7;&#x6392;&#x67E5;&#x81EA;&#x5DF1;&#x7684;&#x5E94;&#x7528;&#x6709;&#x6CA1;&#x6709;&#x4F7F;&#x7528;&#xFF09;&#x7684;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x5B58;&#x5728;&#x53CD;&#x5E8F;&#x5217;&#x5316;&#x5B89;&#x5168;&#x98CE;&#x9669;&#x3002;</p>
-<p>&#x8BF7;&#x68C0;&#x67E5;&#x5E94;&#x7528;&#xFF1A;  </p>
-<ul>
-<li>&#x5C06;commons-collections3 &#x8BF7;&#x5347;&#x7EA7;&#x5230; <a href="https://commons.apache.org/proper/commons-collections/release_3_2_2.html" target="_blank">3.2.2&#x7248;&#x672C;</a>  </li>
-<li>&#x5C06;commons-collections4 &#x8BF7;&#x5347;&#x7EA7;&#x5230; <a href="https://commons.apache.org/proper/commons-collections/release_4_1.html" target="_blank">4.1&#x7248;&#x672C;</a><br>&#x65B0;&#x7248;&#x672C;&#x7684;commons-collections&#x89E3;&#x51B3;&#x4E86;&#x8BE5;&#x95EE;&#x9898;</li>
-</ul>
-</blockquote>
-<p>&#x5982;&#x679C;&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x7EE7;&#x627F;&#x4E86;java.rmi.Remote&#x63A5;&#x53E3;&#xFF0C;&#x53EF;&#x4EE5;&#x548C;&#x539F;&#x751F;RMI&#x4E92;&#x64CD;&#x4F5C;&#xFF0C;&#x5373;&#xFF1A;</p>
-<ul>
-<li>&#x63D0;&#x4F9B;&#x8005;&#x7528;Dubbo&#x7684;RMI&#x534F;&#x8BAE;&#x66B4;&#x9732;&#x670D;&#x52A1;&#xFF0C;&#x6D88;&#x8D39;&#x8005;&#x76F4;&#x63A5;&#x7528;&#x6807;&#x51C6;RMI&#x63A5;&#x53E3;&#x8C03;&#x7528;&#xFF0C;</li>
-<li>&#x6216;&#x8005;&#x63D0;&#x4F9B;&#x65B9;&#x7528;&#x6807;&#x51C6;RMI&#x66B4;&#x9732;&#x670D;&#x52A1;&#xFF0C;&#x6D88;&#x8D39;&#x65B9;&#x7528;Dubbo&#x7684;RMI&#x534F;&#x8BAE;&#x8C03;&#x7528;&#x3002;</li>
-</ul>
-<p>&#x5982;&#x679C;&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x6CA1;&#x6709;&#x7EE7;&#x627F;java.rmi.Remote&#x63A5;&#x53E3;</p>
-<ul>
-<li>&#x7F3A;&#x7701;Dubbo&#x5C06;&#x81EA;&#x52A8;&#x751F;&#x6210;&#x4E00;&#x4E2A;com.xxx.XxxService$Remote&#x7684;&#x63A5;&#x53E3;&#xFF0C;&#x5E76;&#x7EE7;&#x627F;java.rmi.Remote&#x63A5;&#x53E3;&#xFF0C;&#x5E76;&#x4EE5;&#x6B64;&#x63A5;&#x53E3;&#x66B4;&#x9732;&#x670D;&#x52A1;&#xFF0C;</li>
-<li>&#x4F46;&#x5982;&#x679C;&#x8BBE;&#x7F6E;&#x4E86; <code>&lt;dubbo:protocol name=&quot;rmi&quot; codec=&quot;spring&quot; /&gt;</code>&#xFF0C;&#x5C06;&#x4E0D;&#x751F;&#x6210;$Remote&#x63A5;&#x53E3;&#xFF0C;&#x800C;&#x4F7F;&#x7528;Spring&#x7684;RmiInvocationHandler&#x63A5;&#x53E3;&#x66B4;&#x9732;&#x670D;&#x52A1;&#xFF0C;&#x548C;Spring&#x517C;&#x5BB9;&#x3002;</li>
-</ul>
-<p>&#x5B9A;&#x4E49; RMI &#x534F;&#x8BAE;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;rmi&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;1099&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x8BBE;&#x7F6E;&#x9ED8;&#x8BA4;&#x534F;&#x8BAE;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;rmi&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x8BBE;&#x7F6E;&#x670D;&#x52A1;&#x534F;&#x8BAE;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;rmi&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x591A;&#x7AEF;&#x53E3;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;rmi1&quot;</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;rmi&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;1099&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;rmi2&quot;</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;rmi&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;2099&quot;</span> /&gt;</span>
-
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;rmi1&quot;</span> /&gt;</span>
-</code></pre>
-<p>Spring &#x517C;&#x5BB9;&#x6027;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;rmi&quot;</span> <span class="hljs-attr">codec</span>=<span class="hljs-string">&quot;spring&quot;</span> /&gt;</span>
-</code></pre>
-<p>Java&#x6807;&#x51C6;&#x7684;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x534F;&#x8BAE;</p>
-<ul>
-<li>&#x8FDE;&#x63A5;&#x4E2A;&#x6570;&#xFF1A;&#x591A;&#x8FDE;&#x63A5;</li>
-<li>&#x8FDE;&#x63A5;&#x65B9;&#x5F0F;&#xFF1A;&#x77ED;&#x8FDE;&#x63A5;</li>
-<li>&#x4F20;&#x8F93;&#x534F;&#x8BAE;&#xFF1A;TCP</li>
-<li>&#x4F20;&#x8F93;&#x65B9;&#x5F0F;&#xFF1A;&#x540C;&#x6B65;&#x4F20;&#x8F93;</li>
-<li>&#x5E8F;&#x5217;&#x5316;&#xFF1A;Java&#x6807;&#x51C6;&#x4E8C;&#x8FDB;&#x5236;&#x5E8F;&#x5217;&#x5316;</li>
-<li>&#x9002;&#x7528;&#x8303;&#x56F4;&#xFF1A;&#x4F20;&#x5165;&#x4F20;&#x51FA;&#x53C2;&#x6570;&#x6570;&#x636E;&#x5305;&#x5927;&#x5C0F;&#x6DF7;&#x5408;&#xFF0C;&#x6D88;&#x8D39;&#x8005;&#x4E0E;&#x63D0;&#x4F9B;&#x8005;&#x4E2A;&#x6570;&#x5DEE;&#x4E0D;&#x591A;&#xFF0C;&#x53EF;&#x4F20;&#x6587;&#x4EF6;&#x3002;</li>
-<li>&#x9002;&#x7528;&#x573A;&#x666F;&#xFF1A;&#x5E38;&#x89C4;&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x65B9;&#x6CD5;&#x8C03;&#x7528;&#xFF0C;&#x4E0E;&#x539F;&#x751F;RMI&#x670D;&#x52A1;&#x4E92;&#x64CD;&#x4F5C;</li>
-</ul>
-<p>(1) &#x7EA6;&#x675F;&#xFF1A;</p>
-<ul>
-<li>&#x53C2;&#x6570;&#x53CA;&#x8FD4;&#x56DE;&#x503C;&#x9700;&#x5B9E;&#x73B0;Serializable&#x63A5;&#x53E3;</li>
-<li>dubbo&#x914D;&#x7F6E;&#x4E2D;&#x7684;&#x8D85;&#x65F6;&#x65F6;&#x95F4;&#x5BF9;rmi&#x65E0;&#x6548;&#xFF0C;&#x9700;&#x4F7F;&#x7528;java&#x542F;&#x52A8;&#x53C2;&#x6570;&#x8BBE;&#x7F6E;&#xFF1A;-Dsun.rmi.transport.tcp.responseTimeout=3000&#xFF0C;&#x53C2;&#x89C1;&#x4E0B;&#x9762;&#x7684;RMI&#x914D;&#x7F6E;</li>
-</ul>
-<p>(2) &#x914D;&#x7F6E;&#xFF1A;</p>
-<p><strong>dubbo.properties</strong></p>
-<pre><code>dubbo.service.protocol=rmi
-</code></pre><p>(3) RMI&#x914D;&#x7F6E;&#xFF1A;</p>
-<pre><code class="lang-sh">java -Dsun.rmi.transport.tcp.responseTimeout=3000
-</code></pre>
-<p>&#x66F4;&#x591A;RMI&#x4F18;&#x5316;&#x53C2;&#x6570;&#x8BF7;&#x67E5;&#x770B;&#xFF1A;
-<a href="http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/technotes/guides/rmi/sunrmiproperties.html" target="_blank">http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/technotes/guides/rmi/sunrmiproperties.html</a></p>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="dubbo.html" class="navigation navigation-prev " aria-label="Previous page: 7.1 dubbo://">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="hessian.html" class="navigation navigation-next " aria-label="Next page: 7.3 hessian://">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"7.2 rmi//","level":"1.8.2","depth":2,"next":{"title":"7.3 hessian://","level":"1.8.3","depth":2,"path":"reference-protocol/hessian.md","ref":"reference-protocol/hessian.md","articles":[]},"previous":{"title":"7.1 dubbo://","level":"1.8.1","depth":2,"path":"reference-protocol/dubbo.md","ref":"reference-protocol/dubbo.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-protocol/rmi.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-protocol/thrift.html b/user-guide/reference-protocol/thrift.html
deleted file mode 100644
index 80d8d86..0000000
--- a/user-guide/reference-protocol/thrift.html
+++ /dev/null
@@ -1,1484 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>7.6 thrift:// · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="memcached.html" />
-    
-    
-    <link rel="prev" href="webservice.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="dubbo.html">
-            
-                <a href="dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="rmi.html">
-            
-                <a href="rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="hessian.html">
-            
-                <a href="hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="http.html">
-            
-                <a href="http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="webservice.html">
-            
-                <a href="webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.8.6" data-path="thrift.html">
-            
-                <a href="thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="memcached.html">
-            
-                <a href="memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="redis.html">
-            
-                <a href="redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >7.6 thrift://</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning">2.3.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;&#x3002;</p>
-<p><img src="../sources/images/check.gif" alt="check"><a href="http://thrift.apache.org" target="_blank">Thrift</a> &#x662F;Facebook&#x6350;&#x7ED9;Apache&#x7684;&#x4E00;&#x4E2A;RPC&#x6846;&#x67B6;</p>
-<p><img src="../sources/images/check.gif" alt="check">&#x5F53;&#x524D; dubbo &#x652F;&#x6301;&#x7684; thrift &#x534F;&#x8BAE;&#x662F;&#x5BF9; thrift &#x539F;&#x751F;&#x534F;&#x8BAE;&#x7684;&#x6269;&#x5C55;&#xFF0C;&#x5728;&#x539F;&#x751F;&#x534F;&#x8BAE;&#x7684;&#x57FA;&#x7840;&#x4E0A;&#x6DFB;&#x52A0;&#x4E86;&#x4E00;&#x4E9B;&#x989D;&#x5916;&#x7684;&#x5934;&#x4FE1;&#x606F;&#xFF0C;&#x6BD4;&#x5982;service name&#xFF0C;magic number&#x7B49;&#x3002;&#x4F7F;&#x7528;dubbo thrift&#x534F;&#x8BAE;&#x540C;&#x6837;&#x9700;&#x8981;&#x4F7F;&#x7528;thrift&#x7684;idl compiler&#x7F16;&#x8BD1;&#x751F;&#x6210;&#x76F8;&#x5E94;&#x7684;java&#x4EE3;&#x7801;&#xFF0C;&#x540E;&#x7EED;&#x7248;&#x672C;&#x4E2D;&#x4F1A;&#x5728;&#x8FD9;&#x65B9;&#x9762;&#x505A;&#x4E00;&#x4E9B;&#x589E;&#x5F3A;&#x3002;</p>
-</blockquote>
-<p>&#x793A;&#x4F8B;&#xFF1A;<a href="https://github.com/alibaba/dubbo/tree/master/dubbo-rpc/dubbo-rpc-thrift/src/test/java/com/alibaba/dubbo/rpc/protocol/thrift/examples" target="_blank">https://github.com/alibaba/dubbo/tree/master/dubbo-rpc/dubbo-rpc-thrift/src/test/java/com/alibaba/dubbo/rpc/protocol/thrift/examples</a></p>
-<p>&#x4F9D;&#x8D56;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.thrift<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>libthrift<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>0.8.0<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
-</code></pre>
-<p>&#x6240;&#x6709;&#x670D;&#x52A1;&#x5171;&#x7528;&#x4E00;&#x4E2A;&#x7AEF;&#x53E3;&#xFF1A;(&#x4E0E;&#x539F;&#x751F;Thrift&#x4E0D;&#x517C;&#x5BB9;)</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;thrift&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;3030&quot;</span> /&gt;</span>
-</code></pre>
-<p>Thrift<em>&#x4E0D;&#x652F;&#x6301;</em>&#x6570;&#x636E;&#x7C7B;&#x578B;&#xFF1A;null&#x503C; (&#x4E0D;&#x80FD;&#x5728;&#x534F;&#x8BAE;&#x4E2D;&#x4F20;&#x9012;null&#x503C;)</p>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="webservice.html" class="navigation navigation-prev " aria-label="Previous page: 7.5 webservice://">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="memcached.html" class="navigation navigation-next " aria-label="Next page: 7.7 memcached://">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"7.6 thrift://","level":"1.8.6","depth":2,"next":{"title":"7.7 memcached://","level":"1.8.7","depth":2,"path":"reference-protocol/memcached.md","ref":"reference-protocol/memcached.md","articles":[]},"previous":{"title":"7.5 webservice://","level":"1.8.5","depth":2,"path":"reference-protocol/webservice.md","ref":"reference-protocol/webservice.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-protocol/thrift.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-protocol/webservice.html b/user-guide/reference-protocol/webservice.html
deleted file mode 100644
index 273928a..0000000
--- a/user-guide/reference-protocol/webservice.html
+++ /dev/null
@@ -1,1547 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>7.5 webservice:// · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="thrift.html" />
-    
-    
-    <link rel="prev" href="http.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="dubbo.html">
-            
-                <a href="dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="rmi.html">
-            
-                <a href="rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="hessian.html">
-            
-                <a href="hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="http.html">
-            
-                <a href="http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.8.5" data-path="webservice.html">
-            
-                <a href="webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="thrift.html">
-            
-                <a href="thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="memcached.html">
-            
-                <a href="memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="redis.html">
-            
-                <a href="redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >7.5 webservice://</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning"> 2.3.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;&#x3002;  </p>
-<p><img src="../sources/images/check.gif" alt="check"> &#x57FA;&#x4E8E;CXF&#x7684;frontend-simple&#x548C;transports-http&#x5B9E;&#x73B0;&#x3002;  </p>
-<p><img src="../sources/images/check.gif" alt="check"> CXF&#x662F;Apache&#x5F00;&#x6E90;&#x7684;&#x4E00;&#x4E2A;RPC&#x6846;&#x67B6;&#xFF1A;<a href="http://cxf.apache.org&#xFF0C;&#x7531;Xfire&#x548C;Celtix&#x5408;&#x5E76;&#x800C;&#x6765;" target="_blank">http://cxf.apache.org&#xFF0C;&#x7531;Xfire&#x548C;Celtix&#x5408;&#x5E76;&#x800C;&#x6765;</a> &#x3002;  </p>
-</blockquote>
-<p>&#x4F9D;&#x8D56;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.cxf<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>cxf-rt-frontend-simple<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>2.6.1<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.cxf<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>cxf-rt-transports-http<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>2.6.1<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
-</code></pre>
-<p>&#x53EF;&#x4EE5;&#x548C;&#x539F;&#x751F;WebService&#x670D;&#x52A1;&#x4E92;&#x64CD;&#x4F5C;&#xFF0C;&#x5373;&#xFF1A;  </p>
-<ul>
-<li>&#x63D0;&#x4F9B;&#x8005;&#x7528;Dubbo&#x7684;WebService&#x534F;&#x8BAE;&#x66B4;&#x9732;&#x670D;&#x52A1;&#xFF0C;&#x6D88;&#x8D39;&#x8005;&#x76F4;&#x63A5;&#x7528;&#x6807;&#x51C6;WebService&#x63A5;&#x53E3;&#x8C03;&#x7528;&#xFF0C;</li>
-<li>&#x6216;&#x8005;&#x63D0;&#x4F9B;&#x65B9;&#x7528;&#x6807;&#x51C6;WebService&#x66B4;&#x9732;&#x670D;&#x52A1;&#xFF0C;&#x6D88;&#x8D39;&#x65B9;&#x7528;Dubbo&#x7684;WebService&#x534F;&#x8BAE;&#x8C03;&#x7528;&#x3002;</li>
-</ul>
-<p>&#x57FA;&#x4E8E;WebService&#x7684;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x534F;&#x8BAE;:  </p>
-<ul>
-<li>&#x8FDE;&#x63A5;&#x4E2A;&#x6570;&#xFF1A;&#x591A;&#x8FDE;&#x63A5;</li>
-<li>&#x8FDE;&#x63A5;&#x65B9;&#x5F0F;&#xFF1A;&#x77ED;&#x8FDE;&#x63A5;</li>
-<li>&#x4F20;&#x8F93;&#x534F;&#x8BAE;&#xFF1A;HTTP</li>
-<li>&#x4F20;&#x8F93;&#x65B9;&#x5F0F;&#xFF1A;&#x540C;&#x6B65;&#x4F20;&#x8F93;</li>
-<li>&#x5E8F;&#x5217;&#x5316;&#xFF1A;SOAP&#x6587;&#x672C;&#x5E8F;&#x5217;&#x5316;</li>
-<li>&#x9002;&#x7528;&#x573A;&#x666F;&#xFF1A;&#x7CFB;&#x7EDF;&#x96C6;&#x6210;&#xFF0C;&#x8DE8;&#x8BED;&#x8A00;&#x8C03;&#x7528;&#x3002;</li>
-</ul>
-<p>(1) &#x7EA6;&#x675F;&#xFF1A;  </p>
-<ul>
-<li>&#x53C2;&#x6570;&#x53CA;&#x8FD4;&#x56DE;&#x503C;&#x9700;&#x5B9E;&#x73B0;Serializable&#x63A5;&#x53E3;</li>
-<li>&#x53C2;&#x6570;&#x5C3D;&#x91CF;&#x4F7F;&#x7528;&#x57FA;&#x672C;&#x7C7B;&#x578B;&#x548C;POJO&#x3002;</li>
-</ul>
-<p>(2) &#x914D;&#x7F6E;&#xFF1A;  </p>
-<ul>
-<li><p>Define hessian protocol:</p>
-<dubbo:protocol name="webservice" port="8080" server="jetty">
-</dubbo:protocol></li>
-<li><p>Set default protocol:</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:provider</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;webservice&quot;</span> /&gt;</span>
-</code></pre>
-<p>Set service protocol:</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;webservice&quot;</span> /&gt;</span>
-</code></pre>
-</li>
-<li>Multi port:<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;webservice1&quot;</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;webservice&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;8080&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;webservice2&quot;</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;webservice&quot;</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;8081&quot;</span> /&gt;</span>
-</code></pre>
-</li>
-<li>Directly provider:<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;helloService&quot;</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;HelloWorld&quot;</span> <span class="hljs-attr">url</span>=<span class="hljs-string">&quot;webservice://10.20.153.10:8080/com.foo.HelloWorld&quot;</span> /&gt;</span>
-</code></pre>
-</li>
-<li>WSDL:<pre><code class="lang-xml">http://10.20.153.10:8080/com.foo.HelloWorld?wsdl
-</code></pre>
-<strong>h4. Jetty Server: (default)</strong>  <pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">...</span> <span class="hljs-attr">server</span>=<span class="hljs-string">&quot;jetty&quot;</span> /&gt;</span>
-</code></pre>
-</li>
-</ul>
-<p><strong>h4. Servlet Bridge Server: (recommend)</strong>  </p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">...</span> <span class="hljs-attr">server</span>=<span class="hljs-string">&quot;servlet&quot;</span> /&gt;</span>
-</code></pre>
-<p>web.xml&#xFF1A; </p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">servlet</span>&gt;</span>
-         <span class="hljs-tag">&lt;<span class="hljs-name">servlet-name</span>&gt;</span>dubbo<span class="hljs-tag">&lt;/<span class="hljs-name">servlet-name</span>&gt;</span>
-         <span class="hljs-tag">&lt;<span class="hljs-name">servlet-class</span>&gt;</span>com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet<span class="hljs-tag">&lt;/<span class="hljs-name">servlet-class</span>&gt;</span>
-         <span class="hljs-tag">&lt;<span class="hljs-name">load-on-startup</span>&gt;</span>1<span class="hljs-tag">&lt;/<span class="hljs-name">load-on-startup</span>&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">servlet</span>&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">servlet-mapping</span>&gt;</span>
-         <span class="hljs-tag">&lt;<span class="hljs-name">servlet-name</span>&gt;</span>dubbo<span class="hljs-tag">&lt;/<span class="hljs-name">servlet-name</span>&gt;</span>
-         <span class="hljs-tag">&lt;<span class="hljs-name">url-pattern</span>&gt;</span>/*<span class="hljs-tag">&lt;/<span class="hljs-name">url-pattern</span>&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">servlet-mapping</span>&gt;</span>
-</code></pre>
-<p>&#x6CE8;&#x610F;&#xFF0C;&#x5982;&#x679C;&#x4F7F;&#x7528;servlet&#x6D3E;&#x53D1;&#x8BF7;&#x6C42;&#xFF1A;  </p>
-<ul>
-<li>&#x534F;&#x8BAE;&#x7684;&#x7AEF;&#x53E3;<dubbo:protocol port="8080">&#x5FC5;&#x987B;&#x4E0E;servlet&#x5BB9;&#x5668;&#x7684;&#x7AEF;&#x53E3;&#x76F8;&#x540C;&#xFF0C;</dubbo:protocol></li>
-<li>&#x534F;&#x8BAE;&#x7684;&#x4E0A;&#x4E0B;&#x6587;&#x8DEF;&#x5F84;<dubbo:protocol contextpath="foo">&#x5FC5;&#x987B;&#x4E0E;servlet&#x5E94;&#x7528;&#x7684;&#x4E0A;&#x4E0B;&#x6587;&#x8DEF;&#x5F84;&#x76F8;&#x540C;&#x3002;</dubbo:protocol></li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="http.html" class="navigation navigation-prev " aria-label="Previous page: 7.4 http://">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="thrift.html" class="navigation navigation-next " aria-label="Next page: 7.6 thrift://">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"7.5 webservice://","level":"1.8.5","depth":2,"next":{"title":"7.6 thrift://","level":"1.8.6","depth":2,"path":"reference-protocol/thrift.md","ref":"reference-protocol/thrift.md","articles":[]},"previous":{"title":"7.4 http://","level":"1.8.4","depth":2,"path":"reference-protocol/http.md","ref":"reference-protocol/http.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-protocol/webservice.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-registry/introduction.html b/user-guide/reference-registry/introduction.html
deleted file mode 100644
index 89fd9ce..0000000
--- a/user-guide/reference-registry/introduction.html
+++ /dev/null
@@ -1,1468 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>8 注册中心参考手册 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="multicast.html" />
-    
-    
-    <link rel="prev" href="../reference-protocol/redis.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.9" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="multicast.html">
-            
-                <a href="multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="zookeeper.html">
-            
-                <a href="zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="redis.html">
-            
-                <a href="redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="simple.html">
-            
-                <a href="simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >8 注册中心参考手册</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p><strong>&#x63A8;&#x8350;&#x4F7F;&#x7528;Zookeeper&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;</strong></p>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="../reference-protocol/redis.html" class="navigation navigation-prev " aria-label="Previous page: 7.8 redis://">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="multicast.html" class="navigation navigation-next " aria-label="Next page: 8.1 Multicast注册中心">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8 注册中心参考手册","level":"1.9","depth":1,"next":{"title":"8.1 Multicast注册中心","level":"1.9.1","depth":2,"path":"reference-registry/multicast.md","ref":"reference-registry/multicast.md","articles":[]},"previous":{"title":"7.8 redis://","level":"1.8.8","depth":2,"path":"reference-protocol/redis.md","ref":"reference-protocol/redis.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-registry/introduction.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-registry/multicast.html b/user-guide/reference-registry/multicast.html
deleted file mode 100644
index 39f2898..0000000
--- a/user-guide/reference-registry/multicast.html
+++ /dev/null
@@ -1,1491 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>8.1 Multicast注册中心 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="zookeeper.html" />
-    
-    
-    <link rel="prev" href="introduction.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter active" data-level="1.9.1" data-path="multicast.html">
-            
-                <a href="multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="zookeeper.html">
-            
-                <a href="zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="redis.html">
-            
-                <a href="redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="simple.html">
-            
-                <a href="simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >8.1 Multicast注册中心</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x4E0D;&#x9700;&#x8981;&#x542F;&#x52A8;&#x4EFB;&#x4F55;&#x4E2D;&#x5FC3;&#x8282;&#x70B9;&#xFF0C;&#x53EA;&#x8981;&#x5E7F;&#x64AD;&#x5730;&#x5740;&#x4E00;&#x6837;&#xFF0C;&#x5C31;&#x53EF;&#x4EE5;&#x4E92;&#x76F8;&#x53D1;&#x73B0;&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">&#x7EC4;&#x64AD;&#x53D7;&#x7F51;&#x7EDC;&#x7ED3;&#x6784;&#x9650;&#x5236;&#xFF0C;&#x53EA;&#x9002;&#x5408;&#x5C0F;&#x89C4;&#x6A21;&#x5E94;&#x7528;&#x6216;&#x5F00;&#x53D1;&#x9636;&#x6BB5;&#x4F7F;&#x7528;&#x3002;&#x7EC4;&#x64AD;&#x5730;&#x5740;&#x6BB5;: 224.0.0.0 - 239.255.255.255</p>
-</blockquote>
-<p><img src="../sources/images/multicast.jpg" alt="/user-guide/images/multicast.jpg"></p>
-<ol>
-<li>&#x63D0;&#x4F9B;&#x65B9;&#x542F;&#x52A8;&#x65F6;&#x5E7F;&#x64AD;&#x81EA;&#x5DF1;&#x7684;&#x5730;&#x5740;&#x3002;</li>
-<li>&#x6D88;&#x8D39;&#x65B9;&#x542F;&#x52A8;&#x65F6;&#x5E7F;&#x64AD;&#x8BA2;&#x9605;&#x8BF7;&#x6C42;&#x3002;</li>
-<li>&#x63D0;&#x4F9B;&#x65B9;&#x6536;&#x5230;&#x8BA2;&#x9605;&#x8BF7;&#x6C42;&#x65F6;&#xFF0C;&#x5355;&#x64AD;&#x81EA;&#x5DF1;&#x7684;&#x5730;&#x5740;&#x7ED9;&#x8BA2;&#x9605;&#x8005;&#xFF0C;&#x5982;&#x679C;&#x8BBE;&#x7F6E;&#x4E86;unicast=false&#xFF0C;&#x5219;&#x5E7F;&#x64AD;&#x7ED9;&#x8BA2;&#x9605;&#x8005;&#x3002;</li>
-<li>&#x6D88;&#x8D39;&#x65B9;&#x6536;&#x5230;&#x63D0;&#x4F9B;&#x65B9;&#x5730;&#x5740;&#x65F6;&#xFF0C;&#x8FDE;&#x63A5;&#x8BE5;&#x5730;&#x5740;&#x8FDB;&#x884C;RPC&#x8C03;&#x7528;&#x3002;</li>
-</ol>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;multicast://224.5.6.7:1234&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;multicast&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;224.5.6.7:1234&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x4E3A;&#x4E86;&#x51CF;&#x5C11;&#x5E7F;&#x64AD;&#x91CF;&#xFF0C;Dubbo&#x7F3A;&#x7701;&#x4F7F;&#x7528;&#x5355;&#x64AD;&#x53D1;&#x9001;&#x63D0;&#x4F9B;&#x8005;&#x5730;&#x5740;&#x4FE1;&#x606F;&#x7ED9;&#x6D88;&#x8D39;&#x8005;&#xFF0C;&#x5982;&#x679C;&#x4E00;&#x4E2A;&#x673A;&#x5668;&#x4E0A;&#x540C;&#x65F6;&#x542F;&#x4E86;&#x591A;&#x4E2A;&#x6D88;&#x8D39;&#x8005;&#x8FDB;&#x7A0B;&#xFF0C;&#x6D88;&#x8D39;&#x8005;&#x9700;&#x58F0;&#x660E;unicast=false&#xFF0C;&#x5426;&#x5219;&#x53EA;&#x4F1A;&#x6709;&#x4E00;&#x4E2A;&#x6D88;&#x8D39;&#x8005;&#x80FD;&#x6536;&#x5230;&#x6D88;&#x606F;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;multicast://224.5.6.7:1234?unicast=false&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;multicast&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;224.5.6.7:1234&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:parameter</span> <span class="hljs-attr">key</span>=<span class="hljs-string">&quot;unicast&quot;</span> <span class="hljs-attr">value</span>=<span class="hljs-string">&quot;false&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:registry</span>&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="introduction.html" class="navigation navigation-prev " aria-label="Previous page: 8 注册中心参考手册">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="zookeeper.html" class="navigation navigation-next " aria-label="Next page: 8.2 Zookeeper注册中心">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.1 Multicast注册中心","level":"1.9.1","depth":2,"next":{"title":"8.2 Zookeeper注册中心","level":"1.9.2","depth":2,"path":"reference-registry/zookeeper.md","ref":"reference-registry/zookeeper.md","articles":[]},"previous":{"title":"8 注册中心参考手册","level":"1.9","depth":1,"path":"reference-registry/introduction.md","ref":"reference-registry/introduction.md","articles":[{"title":"8.1 Multicast注册中心","level":"1.9.1","depth":2,"path":"reference-registry/multicast.md","ref":"reference-registry/multicast.md","articles":[]},{"title":"8.2 Zookeeper注册中心","level":"1.9.2","depth":2,"path":"reference-registry/zookeeper.md","ref":"reference-registry/zookeeper.md","articles":[]},{"title":"8.3 Redis注册中心","level":"1.9.3","depth":2,"path":"reference-registry/redis.md","ref":"reference-registry/redis.md","articles":[]},{"title":"8.4 Simple注册中心","level":"1.9.4","depth":2,"path":"reference-registry/simple.md","ref":"reference-registry/simple.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-registry/multicast.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-registry/redis.html b/user-guide/reference-registry/redis.html
deleted file mode 100644
index b179091..0000000
--- a/user-guide/reference-registry/redis.html
+++ /dev/null
@@ -1,1521 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>8.3 Redis注册中心 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="simple.html" />
-    
-    
-    <link rel="prev" href="zookeeper.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="multicast.html">
-            
-                <a href="multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="zookeeper.html">
-            
-                <a href="zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.9.3" data-path="redis.html">
-            
-                <a href="redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="simple.html">
-            
-                <a href="simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >8.3 Redis注册中心</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning"><a href="http://redis.io" target="_blank">Redis</a> &#x662F;&#x4E00;&#x4E2A;&#x9AD8;&#x6548;&#x7684;KV&#x5B58;&#x50A8;&#x670D;&#x52A1;&#x5668;&#x3002;&#x5B89;&#x88C5;&#x65B9;&#x5F0F;&#x53C2;&#x89C1;: <a href="http://dubbo.io/admin-guide/install-mannual/Redis%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E5%AE%89%E8%A3%85.html" target="_blank">Redis&#x5B89;&#x88C5;&#x624B;&#x518C;</a>&#xFF0C;&#x53EA;&#x9700;&#x642D;&#x4E00;&#x4E2A;&#x539F;&#x751F;&#x7684;Redis&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x5E76;&#x5C06; <a href="../preface/usage.html">Quick Start</a> &#x4E2D;Provider&#x548C;Consumer&#x91CC;&#x7684;conf/dubbo.properties&#x4E2D;&#x7684;dubbo.registry.addrss&#x7684;&#x503C;&#x6539;&#x4E3A;redis://127.0.0.1:6379&#x5373;&#x53EF;&#x4F7F;&#x7528;&#x3002;</p>
-</blockquote>
-<h5 id="redis&#x8FC7;&#x671F;&#x6570;&#x636E;">Redis&#x8FC7;&#x671F;&#x6570;&#x636E;</h5>
-<p>&#x901A;&#x8FC7;&#x5FC3;&#x8DF3;&#x7684;&#x65B9;&#x5F0F;&#x68C0;&#x6D4B;&#x810F;&#x6570;&#x636E;&#xFF0C;&#x670D;&#x52A1;&#x5668;&#x65F6;&#x95F4;&#x5FC5;&#x987B;&#x76F8;&#x540C;&#xFF0C;&#x5E76;&#x4E14;&#x5BF9;&#x670D;&#x52A1;&#x5668;&#x6709;&#x4E00;&#x5B9A;&#x538B;&#x529B;&#x3002;</p>
-<h5 id="&#x53EF;&#x9760;&#x6027;&#x58F0;&#x660E;">&#x53EF;&#x9760;&#x6027;&#x58F0;&#x660E;</h5>
-<p>&#x963F;&#x91CC;&#x5185;&#x90E8;&#x5E76;&#x6CA1;&#x6709;&#x91C7;&#x7528;Redis&#x505A;&#x4E3A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x800C;&#x662F;&#x4F7F;&#x7528;&#x81EA;&#x5DF1;&#x5B9E;&#x73B0;&#x7684;&#x57FA;&#x4E8E;&#x6570;&#x636E;&#x5E93;&#x7684;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x5373;&#xFF1A;Redis&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5E76;&#x6CA1;&#x6709;&#x5728;&#x963F;&#x91CC;&#x5185;&#x90E8;&#x957F;&#x65F6;&#x95F4;&#x8FD0;&#x884C;&#x7684;&#x53EF;&#x9760;&#x6027;&#x4FDD;&#x969C;&#xFF0C;&#x6B64;Redis&#x6865;&#x63A5;&#x5B9E;&#x73B0;&#x53EA;&#x4E3A;&#x5F00;&#x6E90;&#x7248;&#x672C;&#x63D0;&#x4F9B;&#xFF0C;&#x5176;&#x53EF;&#x9760;&#x6027;&#x4F9D;&#x8D56;&#x4E8E;Redis&#x672C;&#x8EAB;&#x7684;&#x53EF;&#x9760;&#x6027;&#x3002;</p>
-<p>&#x4ECE;2.1.0&#x7248;&#x672C;&#x5F00;&#x59CB;&#x652F;&#x6301;</p>
-<p><img src="../sources/images/dubbo-redis-registry.jpg" alt="/user-guide/images/dubbo-redis-registry.jpg"></p>
-<h5 id="&#x6570;&#x636E;&#x7ED3;&#x6784;&#xFF1A;">&#x6570;&#x636E;&#x7ED3;&#x6784;&#xFF1A;</h5>
-<p>&#x4F7F;&#x7528;Redis&#x7684;Key/Map&#x7ED3;&#x6784;&#x5B58;&#x50A8;&#x6570;&#x636E;</p>
-<ul>
-<li>&#x4E3B;Key&#x4E3A;&#x670D;&#x52A1;&#x540D;&#x548C;&#x7C7B;&#x578B;&#x3002;</li>
-<li>Map&#x4E2D;&#x7684;Key&#x4E3A;URL&#x5730;&#x5740;&#x3002;</li>
-<li>Map&#x4E2D;&#x7684;Value&#x4E3A;&#x8FC7;&#x671F;&#x65F6;&#x95F4;&#xFF0C;&#x7528;&#x4E8E;&#x5224;&#x65AD;&#x810F;&#x6570;&#x636E;&#xFF0C;&#x810F;&#x6570;&#x636E;&#x7531;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x5220;&#x9664;&#x3002;(<strong>&#x6CE8;&#x610F;&#xFF1A;&#x670D;&#x52A1;&#x5668;&#x65F6;&#x95F4;&#x5FC5;&#x9700;&#x540C;&#x6B65;&#xFF0C;&#x5426;&#x5219;&#x8FC7;&#x671F;&#x68C0;&#x6D4B;&#x4F1A;&#x4E0D;&#x51C6;&#x786E;</strong>)</li>
-</ul>
-<p>&#x4F7F;&#x7528;Redis&#x7684;Publish/Subscribe&#x4E8B;&#x4EF6;&#x901A;&#x77E5;&#x6570;&#x636E;&#x53D8;&#x66F4;</p>
-<ul>
-<li>&#x901A;&#x8FC7;&#x4E8B;&#x4EF6;&#x7684;&#x503C;&#x533A;&#x5206;&#x4E8B;&#x4EF6;&#x7C7B;&#x578B;&#xFF1A;register, unregister, subscribe, unsubscribe&#x3002;</li>
-<li>&#x666E;&#x901A;&#x6D88;&#x8D39;&#x8005;&#x76F4;&#x63A5;&#x8BA2;&#x9605;&#x6307;&#x5B9A;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x7684;Key&#xFF0C;&#x53EA;&#x4F1A;&#x6536;&#x5230;&#x6307;&#x5B9A;&#x670D;&#x52A1;&#x7684;register, unregister&#x4E8B;&#x4EF6;&#x3002;</li>
-<li>&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x901A;&#x8FC7;psubscribe&#x529F;&#x80FD;&#x8BA2;&#x9605;/dubbo/*&#xFF0C;&#x4F1A;&#x6536;&#x5230;&#x6240;&#x6709;&#x670D;&#x52A1;&#x7684;&#x6240;&#x6709;&#x53D8;&#x66F4;&#x4E8B;&#x4EF6;&#x3002;</li>
-</ul>
-<h5 id="&#x8C03;&#x7528;&#x8FC7;&#x7A0B;&#xFF1A;">&#x8C03;&#x7528;&#x8FC7;&#x7A0B;&#xFF1A;</h5>
-<ol>
-<li>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x542F;&#x52A8;&#x65F6;&#xFF0C;&#x5411;Key:/dubbo/com.foo.BarService/providers&#x4E0B;&#xFF0C;&#x6DFB;&#x52A0;&#x5F53;&#x524D;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x5730;&#x5740;&#x3002;</li>
-<li>&#x5E76;&#x5411;Channel:/dubbo/com.foo.BarService/providers&#x53D1;&#x9001;register&#x4E8B;&#x4EF6;&#x3002;</li>
-<li>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#x542F;&#x52A8;&#x65F6;&#xFF0C;&#x4ECE;Channel:/dubbo/com.foo.BarService/providers&#x8BA2;&#x9605;register&#x548C;unregister&#x4E8B;&#x4EF6;&#x3002;</li>
-<li>&#x5E76;&#x5411;Key:/dubbo/com.foo.BarService/providers&#x4E0B;&#xFF0C;&#x6DFB;&#x52A0;&#x5F53;&#x524D;&#x6D88;&#x8D39;&#x8005;&#x7684;&#x5730;&#x5740;&#x3002;</li>
-<li>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#x6536;&#x5230;register&#x548C;unregister&#x4E8B;&#x4EF6;&#x540E;&#xFF0C;&#x4ECE;Key:/dubbo/com.foo.BarService/providers&#x4E0B;&#x83B7;&#x53D6;&#x63D0;&#x4F9B;&#x8005;&#x5730;&#x5740;&#x5217;&#x8868;&#x3002;</li>
-<li>&#x670D;&#x52A1;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x542F;&#x52A8;&#x65F6;&#xFF0C;&#x4ECE;Channel:/dubbo/*&#x8BA2;&#x9605;register&#x548C;unregister&#xFF0C;&#x4EE5;&#x53CA;subscribe&#x548C;unsubsribe&#x4E8B;&#x4EF6;&#x3002;</li>
-<li>&#x670D;&#x52A1;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x6536;&#x5230;register&#x548C;unregister&#x4E8B;&#x4EF6;&#x540E;&#xFF0C;&#x4ECE;Key:/dubbo/com.foo.BarService/providers&#x4E0B;&#x83B7;&#x53D6;&#x63D0;&#x4F9B;&#x8005;&#x5730;&#x5740;&#x5217;&#x8868;&#x3002;</li>
-<li>&#x670D;&#x52A1;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x6536;&#x5230;subscribe&#x548C;unsubsribe&#x4E8B;&#x4EF6;&#x540E;&#xFF0C;&#x4ECE;Key:/dubbo/com.foo.BarService/consumers&#x4E0B;&#x83B7;&#x53D6;&#x6D88;&#x8D39;&#x8005;&#x5730;&#x5740;&#x5217;&#x8868;&#x3002;</li>
-</ol>
-<h5 id="&#x9009;&#x9879;&#xFF1A;">&#x9009;&#x9879;&#xFF1A;</h5>
-<ul>
-<li>&#x53EF;&#x901A;&#x8FC7; <code>&lt;dubbo:registry group=&quot;dubbo&quot; /&gt;</code> &#x8BBE;&#x7F6E;redis&#x4E2D;key&#x7684;&#x524D;&#x7F00;&#xFF0C;&#x7F3A;&#x7701;&#x4E3A;dubbo&#x3002;</li>
-<li>&#x53EF;&#x901A;&#x8FC7; <code>&lt;dubbo:registry cluster=&quot;replicate&quot; /&gt;</code> &#x8BBE;&#x7F6E;redis&#x96C6;&#x7FA4;&#x7B56;&#x7565;&#xFF0C;&#x7F3A;&#x7701;&#x4E3A;failover&#x3002;<ul>
-<li>failover: &#x53EA;&#x5199;&#x5165;&#x548C;&#x8BFB;&#x53D6;&#x4EFB;&#x610F;&#x4E00;&#x53F0;&#xFF0C;&#x5931;&#x8D25;&#x65F6;&#x91CD;&#x8BD5;&#x53E6;&#x4E00;&#x53F0;&#xFF0C;&#x9700;&#x8981;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x81EA;&#x884C;&#x914D;&#x7F6E;&#x6570;&#x636E;&#x540C;&#x6B65;&#x3002;</li>
-<li>replicate: &#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x540C;&#x65F6;&#x5199;&#x5165;&#x6240;&#x6709;&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x53EA;&#x8BFB;&#x53D6;&#x5355;&#x53F0;&#xFF0C;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x4E0D;&#x9700;&#x8981;&#x540C;&#x6B65;&#xFF0C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x96C6;&#x7FA4;&#x589E;&#x5927;&#xFF0C;&#x6027;&#x80FD;&#x538B;&#x529B;&#x4E5F;&#x4F1A;&#x66F4;&#x5927;&#x3002;</li>
-</ul>
-</li>
-</ul>
-<h5 id="&#x914D;&#x7F6E;-redis-registry">&#x914D;&#x7F6E; redis registry</h5>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;redis://10.20.153.10:6379&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;redis://10.20.153.10:6379?backup=10.20.153.11:6379,10.20.153.12:6379&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;redis&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.153.10:6379&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;redis&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.153.10:6379,10.20.153.11:6379,10.20.153.12:6379&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="zookeeper.html" class="navigation navigation-prev " aria-label="Previous page: 8.2 Zookeeper注册中心">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="simple.html" class="navigation navigation-next " aria-label="Next page: 8.4 Simple注册中心">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.3 Redis注册中心","level":"1.9.3","depth":2,"next":{"title":"8.4 Simple注册中心","level":"1.9.4","depth":2,"path":"reference-registry/simple.md","ref":"reference-registry/simple.md","articles":[]},"previous":{"title":"8.2 Zookeeper注册中心","level":"1.9.2","depth":2,"path":"reference-registry/zookeeper.md","ref":"reference-registry/zookeeper.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-registry/redis.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-registry/simple.html b/user-guide/reference-registry/simple.html
deleted file mode 100644
index 87344a1..0000000
--- a/user-guide/reference-registry/simple.html
+++ /dev/null
@@ -1,1503 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>8.4 Simple注册中心 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="../reference-telnet/telnet.html" />
-    
-    
-    <link rel="prev" href="redis.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="multicast.html">
-            
-                <a href="multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="zookeeper.html">
-            
-                <a href="zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="redis.html">
-            
-                <a href="redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.9.4" data-path="simple.html">
-            
-                <a href="simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >8.4 Simple注册中心</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">Dogfooding<br>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x672C;&#x8EAB;&#x5C31;&#x662F;&#x4E00;&#x4E2A;&#x666E;&#x901A;&#x7684;Dubbo&#x670D;&#x52A1;&#xFF0C;&#x53EF;&#x4EE5;&#x51CF;&#x5C11;&#x7B2C;&#x4E09;&#x65B9;&#x4F9D;&#x8D56;&#xFF0C;&#x4F7F;&#x6574;&#x4F53;&#x901A;&#x8BAF;&#x65B9;&#x5F0F;&#x4E00;&#x81F4;&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">&#x9002;&#x7528;&#x6027;&#x8BF4;&#x660E;<br>&#x6B64;SimpleRegistryService&#x53EA;&#x662F;&#x7B80;&#x5355;&#x5B9E;&#x73B0;&#xFF0C;&#x4E0D;&#x652F;&#x6301;&#x96C6;&#x7FA4;&#xFF0C;&#x53EF;&#x4F5C;&#x4E3A;&#x81EA;&#x5B9A;&#x4E49;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x53C2;&#x8003;&#xFF0C;&#x4F46;&#x4E0D;&#x9002;&#x5408;&#x76F4;&#x63A5;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;&#x3002;</p>
-</blockquote>
-<p>Export simple registry service:</p>
-<pre><code class="lang-xml"><span class="php"><span class="hljs-meta">&lt;?</span>xml version=<span class="hljs-string">&quot;1.0&quot;</span> encoding=<span class="hljs-string">&quot;UTF-8&quot;</span><span class="hljs-meta">?&gt;</span></span>
-<span class="hljs-tag">&lt;<span class="hljs-name">beans</span> <span class="hljs-attr">xmlns</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans&quot;</span>
-    <span class="hljs-attr">xmlns:xsi</span>=<span class="hljs-string">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span>
-    <span class="hljs-attr">xmlns:dubbo</span>=<span class="hljs-string">&quot;http://code.alibabatech.com/schema/dubbo&quot;</span>
-    <span class="hljs-attr">xsi:schemaLocation</span>=<span class="hljs-string">&quot;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd&quot;</span>&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x5F53;&#x524D;&#x5E94;&#x7528;&#x4FE1;&#x606F;&#x914D;&#x7F6E; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:application</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;simple-registry&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x66B4;&#x9732;&#x670D;&#x52A1;&#x534F;&#x8BAE;&#x914D;&#x7F6E; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">port</span>=<span class="hljs-string">&quot;9090&quot;</span> /&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x66B4;&#x9732;&#x670D;&#x52A1;&#x914D;&#x7F6E; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.dubbo.registry.RegistryService&quot;</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">&quot;registryService&quot;</span> <span class="hljs-attr">registry</span>=<span class="hljs-string">&quot;N/A&quot;</span> <span class="hljs-attr">ondisconnect</span>=<span class="hljs-string">&quot;disconnect&quot;</span> <span class="hljs-attr">callbacks</span>=<span class="hljs-string">&quot;1000&quot;</span>&gt;</span>
-        <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;subscribe&quot;</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:argument</span> <span class="hljs-attr">index</span>=<span class="hljs-string">&quot;1&quot;</span> <span class="hljs-attr">callback</span>=<span class="hljs-string">&quot;true&quot;</span> /&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:method</span>&gt;</span>
-        <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;unsubscribe&quot;</span>&gt;</span><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:argument</span> <span class="hljs-attr">index</span>=<span class="hljs-string">&quot;1&quot;</span> <span class="hljs-attr">callback</span>=<span class="hljs-string">&quot;false&quot;</span> /&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:method</span>&gt;</span>
-    <span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:service</span>&gt;</span>
-
-    <span class="hljs-comment">&lt;!-- &#x7B80;&#x5355;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5B9E;&#x73B0;&#xFF0C;&#x53EF;&#x81EA;&#x884C;&#x6269;&#x5C55;&#x5B9E;&#x73B0;&#x96C6;&#x7FA4;&#x548C;&#x72B6;&#x6001;&#x540C;&#x6B65; --&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">bean</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;registryService&quot;</span> <span class="hljs-attr">class</span>=<span class="hljs-string">&quot;com.alibaba.dubbo.registry.simple.SimpleRegistryService&quot;</span> /&gt;</span>
-
-<span class="hljs-tag">&lt;/<span class="hljs-name">beans</span>&gt;</span>
-</code></pre>
-<p>Reference the simple registry service:</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;127.0.0.1:9090&quot;</span> /&gt;</span>
-</code></pre>
-<p>Or:</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:service</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.alibaba.dubbo.registry.RegistryService&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;simple&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> <span class="hljs-attr">...</span> &gt;</span>
-</code></pre>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;127.0.0.1:9090&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;simple&quot;</span> <span class="hljs-attr">version</span>=<span class="hljs-string">&quot;1.0.0&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="redis.html" class="navigation navigation-prev " aria-label="Previous page: 8.3 Redis注册中心">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="../reference-telnet/telnet.html" class="navigation navigation-next " aria-label="Next page: 9 telnet命令参考手册">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.4 Simple注册中心","level":"1.9.4","depth":2,"next":{"title":"9 telnet命令参考手册","level":"1.10","depth":1,"path":"reference-telnet/telnet.md","ref":"reference-telnet/telnet.md","articles":[]},"previous":{"title":"8.3 Redis注册中心","level":"1.9.3","depth":2,"path":"reference-registry/redis.md","ref":"reference-registry/redis.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-registry/simple.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-registry/zookeeper.html b/user-guide/reference-registry/zookeeper.html
deleted file mode 100644
index c9864eb..0000000
--- a/user-guide/reference-registry/zookeeper.html
+++ /dev/null
@@ -1,1555 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>8.2 Zookeeper注册中心 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="redis.html" />
-    
-    
-    <link rel="prev" href="multicast.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="multicast.html">
-            
-                <a href="multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.9.2" data-path="zookeeper.html">
-            
-                <a href="zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="redis.html">
-            
-                <a href="redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="simple.html">
-            
-                <a href="simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >8.2 Zookeeper注册中心</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x5EFA;&#x8BAE;&#x4F7F;&#x7528;dubbo-2.3.3&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x7684;zookeeper&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5BA2;&#x6237;&#x7AEF;&#x3002;</p>
-<p><img src="../sources/images/check.gif" alt="warning"><strong>Zookeeper&#x8BF4;&#x660E;</strong><br><a href="http://zookeeper.apache.org" target="_blank">Zookeeper</a> &#x662F;Apacahe Hadoop&#x7684;&#x5B50;&#x9879;&#x76EE;&#xFF0C;&#x662F;&#x4E00;&#x4E2A;&#x6811;&#x578B;&#x7684;&#x76EE;&#x5F55;&#x670D;&#x52A1;&#xFF0C;&#x652F;&#x6301;&#x53D8;&#x66F4;&#x63A8;&#x9001;&#xFF0C;&#x9002;&#x5408;&#x4F5C;&#x4E3A;Dubbo&#x670D;&#x52A1;&#x7684;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x5DE5;&#x4E1A;&#x5F3A;&#x5EA6;&#x8F83;&#x9AD8;&#xFF0C;&#x53EF;&#x7528;&#x4E8E;&#x751F;&#x4EA7;&#x73AF;&#x5883;&#xFF0C;&#x5E76;&#x63A8;&#x8350;&#x4F7F;&#x7528;&#x3002;</p>
-<p><img src="../sources/images/check.gif" alt="warning"><strong>Zookeeper&#x5B89;&#x88C5;</strong><br>&#x5B89;&#x88C5;&#x65B9;&#x5F0F;&#x53C2;&#x89C1;: <a href="http://dubbo.io/admin-guide/install-mannual/Zookeeper%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83%E5%AE%89%E8%A3%85.html" target="_blank">Zookeeper&#x5B89;&#x88C5;&#x624B;&#x518C;</a>&#xFF0C;&#x53EA;&#x9700;&#x642D;&#x4E00;&#x4E2A;&#x539F;&#x751F;&#x7684;Zookeeper &#x670D;&#x52A1;&#x5668;&#xFF0C;&#x5E76;&#x5C06; <a href="../preface/usage.html">Quick Start</a> &#x4E2D;Provider&#x548C;Consumer&#x91CC;&#x7684;conf/dubbo.properties&#x4E2D;&#x7684;dubbo.registry.addrss&#x7684;&#x503C;&#x6539;&#x4E3A;zookeeper://127.0.0.1:2181&#x5373;&#x53EF;&#x4F7F;&#x7528;&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning"><strong>&#x53EF;&#x9760;&#x6027;&#x58F0;&#x660E;</strong><br>&#x963F;&#x91CC;&#x5185;&#x90E8;&#x5E76;&#x6CA1;&#x6709;&#x91C7;&#x7528;Zookeeper&#x505A;&#x4E3A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x800C;&#x662F;&#x4F7F;&#x7528;&#x81EA;&#x5DF1;&#x5B9E;&#x73B0;&#x7684;&#x57FA;&#x4E8E;&#x6570;&#x636E;&#x5E93;&#x7684;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x5373;&#xFF1A;Zookeeper&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5E76;&#x6CA1;&#x6709;&#x5728;&#x963F;&#x91CC;&#x5185;&#x90E8;&#x957F;&#x65F6;&#x95F4;&#x8FD0;&#x884C;&#x7684;&#x53EF;&#x9760;&#x6027;&#x4FDD;&#x969C;&#xFF0C;&#x6B64;Zookeeper&#x6865;&#x63A5;&#x5B9E;&#x73B0;&#x53EA;&#x4E3A;&#x5F00;&#x6E90;&#x7248;&#x672C;&#x63D0;&#x4F9B;&#xFF0C;&#x5176;&#x53EF;&#x9760;&#x6027;&#x4F9D;&#x8D56;&#x4E8E;Zookeeper&#x672C;&#x8EAB;&#x7684;&#x53EF;&#x9760;&#x6027;&#x3002;</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning"><strong>&#x517C;&#x5BB9;&#x6027;&#x58F0;&#x660E;</strong><br>&#x56E0;2.0.8&#x6700;&#x521D;&#x8BBE;&#x8BA1;&#x7684;zookeeper&#x5B58;&#x50A8;&#x7ED3;&#x6784;&#x4E0D;&#x80FD;&#x6269;&#x5145;&#x4E0D;&#x540C;&#x7C7B;&#x578B;&#x7684;&#x6570;&#x636E;&#xFF0C;2.0.9&#x7248;&#x672C;&#x505A;&#x4E86;&#x8C03;&#x6574;&#xFF0C;&#x6240;&#x4EE5;&#x4E0D;&#x517C;&#x5BB9;&#xFF0C;&#x9700;&#x5168;&#x90E8;&#x6539;&#x7528;2.0.9&#x7248;&#x672C;&#x624D;&#x884C;&#xFF0C;&#x4EE5;&#x540E;&#x7684;&#x7248;&#x672C;&#x4F1A;&#x4FDD;&#x6301;&#x517C;&#x5BB9;2.0.9&#x3002;2.2.0&#x7248;&#x672C;&#x6539;&#x4E3A;&#x57FA;&#x4E8E;zkclient&#x5B9E;&#x73B0;&#xFF0C;&#x9700;&#x589E;&#x52A0;zkclient&#x7684;&#x4F9D;&#x8D56;&#x5305;&#xFF0C;2.3.0&#x7248;&#x672C;&#x589E;&#x52A0;&#x4E86;&#x57FA;&#x4E8E;curator&#x7684;&#x5B9E;&#x73B0;&#xFF0C;&#x4F5C;&#x4E3A;&#x53EF;&#x9009;&#x5B9E;&#x73B0;&#x7B56;&#x7565;&#x3002;</p>
-</blockquote>
-<p><img src="../sources/images/zookeeper.jpg" alt="/user-guide/images/zookeeper.jpg"></p>
-<h5 id="&#x6D41;&#x7A0B;&#x8BF4;&#x660E;&#xFF1A;">&#x6D41;&#x7A0B;&#x8BF4;&#x660E;&#xFF1A;</h5>
-<ul>
-<li>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x542F;&#x52A8;&#x65F6;: &#x5411;/dubbo/com.foo.BarService/providers&#x76EE;&#x5F55;&#x4E0B;&#x5199;&#x5165;&#x81EA;&#x5DF1;&#x7684;URL&#x5730;&#x5740;&#x3002;</li>
-<li>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x542F;&#x52A8;&#x65F6;: &#x8BA2;&#x9605;/dubbo/com.foo.BarService/providers&#x76EE;&#x5F55;&#x4E0B;&#x7684;&#x63D0;&#x4F9B;&#x8005;URL&#x5730;&#x5740;&#x3002;&#x5E76;&#x5411;/dubbo/com.foo.BarService/consumers&#x76EE;&#x5F55;&#x4E0B;&#x5199;&#x5165;&#x81EA;&#x5DF1;&#x7684;URL&#x5730;&#x5740;&#x3002;</li>
-<li>&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x542F;&#x52A8;&#x65F6;: &#x8BA2;&#x9605;/dubbo/com.foo.BarService&#x76EE;&#x5F55;&#x4E0B;&#x7684;&#x6240;&#x6709;&#x63D0;&#x4F9B;&#x8005;&#x548C;&#x6D88;&#x8D39;&#x8005;URL&#x5730;&#x5740;&#x3002;</li>
-</ul>
-<h5 id="&#x652F;&#x6301;&#x4EE5;&#x4E0B;&#x529F;&#x80FD;&#xFF1A;">&#x652F;&#x6301;&#x4EE5;&#x4E0B;&#x529F;&#x80FD;&#xFF1A;</h5>
-<ul>
-<li>&#x5F53;&#x63D0;&#x4F9B;&#x8005;&#x51FA;&#x73B0;&#x65AD;&#x7535;&#x7B49;&#x5F02;&#x5E38;&#x505C;&#x673A;&#x65F6;&#xFF0C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x80FD;&#x81EA;&#x52A8;&#x5220;&#x9664;&#x63D0;&#x4F9B;&#x8005;&#x4FE1;&#x606F;&#x3002;</li>
-<li>&#x5F53;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x91CD;&#x542F;&#x65F6;&#xFF0C;&#x80FD;&#x81EA;&#x52A8;&#x6062;&#x590D;&#x6CE8;&#x518C;&#x6570;&#x636E;&#xFF0C;&#x4EE5;&#x53CA;&#x8BA2;&#x9605;&#x8BF7;&#x6C42;&#x3002;</li>
-<li>&#x5F53;&#x4F1A;&#x8BDD;&#x8FC7;&#x671F;&#x65F6;&#xFF0C;&#x80FD;&#x81EA;&#x52A8;&#x6062;&#x590D;&#x6CE8;&#x518C;&#x6570;&#x636E;&#xFF0C;&#x4EE5;&#x53CA;&#x8BA2;&#x9605;&#x8BF7;&#x6C42;&#x3002;</li>
-<li>&#x5F53;&#x8BBE;&#x7F6E; <code>&lt;dubbo:registry check=&quot;false&quot; /&gt;</code> &#x65F6;&#xFF0C;&#x8BB0;&#x5F55;&#x5931;&#x8D25;&#x6CE8;&#x518C;&#x548C;&#x8BA2;&#x9605;&#x8BF7;&#x6C42;&#xFF0C;&#x540E;&#x53F0;&#x5B9A;&#x65F6;&#x91CD;&#x8BD5;&#x3002;</li>
-<li>&#x53EF;&#x901A;&#x8FC7; <code>&lt;dubbo:registry username=&quot;admin&quot; password=&quot;1234&quot; /&gt;</code> &#x8BBE;&#x7F6E;zookeeper&#x767B;&#x5F55;&#x4FE1;&#x606F;&#x3002;</li>
-<li>&#x53EF;&#x901A;&#x8FC7; <code>&lt;dubbo:registry group=&quot;dubbo&quot; /&gt;</code> &#x8BBE;&#x7F6E;zookeeper&#x7684;&#x6839;&#x8282;&#x70B9;&#xFF0C;&#x4E0D;&#x8BBE;&#x7F6E;&#x5C06;&#x4F7F;&#x7528;&#x65E0;&#x6839;&#x6811;&#x3002;</li>
-<li>&#x652F;&#x6301; <code>*</code> &#x53F7;&#x901A;&#x914D;&#x7B26; <code>&lt;dubbo:reference group=&quot;*&quot; version=&quot;*&quot; /&gt;</code>&#xFF0C;&#x53EF;&#x8BA2;&#x9605;&#x670D;&#x52A1;&#x7684;&#x6240;&#x6709;&#x5206;&#x7EC4;&#x548C;&#x6240;&#x6709;&#x7248;&#x672C;&#x7684;&#x63D0;&#x4F9B;&#x8005;&#x3002;</li>
-</ul>
-<p>&#x5728;provider&#x548C;consumer&#x4E2D;&#x589E;&#x52A0;zookeeper&#x5BA2;&#x6237;&#x7AEF;jar&#x5305;&#x4F9D;&#x8D56;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.apache.zookeeper<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>zookeeper<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>3.3.3<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
-</code></pre>
-<p>&#x6216;&#x76F4;&#x63A5;&#x4E0B;&#x8F7D;&#xFF1A;<a href="http://repo1.maven.org/maven2/org/apache/zookeeper/zookeeper" target="_blank">http://repo1.maven.org/maven2/org/apache/zookeeper/zookeeper</a></p>
-<p>&#x652F;&#x6301;zkclient&#x548C;curator&#x4E24;&#x79CD;Zookeeper&#x5BA2;&#x6237;&#x7AEF;&#x5B9E;&#x73B0;&#xFF1A;</p>
-<h5 id="zkclient-zookeeper-registry">ZKClient Zookeeper Registry</h5>
-<p>&#x4ECE;2.2.0&#x7248;&#x672C;&#x5F00;&#x59CB;&#x7F3A;&#x7701;&#x4E3A;zkclient&#x5B9E;&#x73B0;&#xFF0C;&#x4EE5;&#x63D0;&#x5347;zookeeper&#x5BA2;&#x6237;&#x7AEF;&#x7684;&#x5065;&#x72B6;&#x6027;&#x3002;ZKClient&#x662F;Datameer&#x5F00;&#x6E90;&#x7684;&#x4E00;&#x4E2A;Zookeeper&#x5BA2;&#x6237;&#x7AEF;&#x5B9E;&#x73B0;&#xFF0C;&#x5F00;&#x6E90;&#x6BD4;&#x8F83;&#x65E9;&#xFF0C;&#x53C2;&#x89C1;&#xFF1A;<a href="https://github.com/sgroschupf/zkclient" target="_blank">https://github.com/sgroschupf/zkclient</a></p>
-<p>&#x7F3A;&#x7701;&#x914D;&#x7F6E;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">...</span> <span class="hljs-attr">client</span>=<span class="hljs-string">&quot;zkclient&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;&#xFF1A;</p>
-<pre><code class="lang-sh">dubbo.registry.client=zkclient
-</code></pre>
-<p>&#x6216;&#xFF1A;</p>
-<pre><code class="lang-sh">zookeeper://10.20.153.10:2181?client=zkclient
-</code></pre>
-<p>&#x9700;&#x4F9D;&#x8D56;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>com.github.sgroschupf<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>zkclient<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>0.1<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
-</code></pre>
-<p>&#x6216;&#x76F4;&#x63A5;&#x4E0B;&#x8F7D;&#xFF1A;<a href="http://repo1.maven.org/maven2/com/github/sgroschupf/zkclient" target="_blank">http://repo1.maven.org/maven2/com/github/sgroschupf/zkclient</a></p>
-<h5 id="curator-zookeeper-registry">Curator Zookeeper Registry</h5>
-<p>&#x4ECE;2.3.0&#x7248;&#x672C;&#x5F00;&#x59CB;&#x652F;&#x6301;&#x53EF;&#x9009;curator&#x5B9E;&#x73B0;&#x3002;<a href="https://github.com/Netflix/curator" target="_blank">Curator</a> &#x662F;Netflix&#x5F00;&#x6E90;&#x7684;&#x4E00;&#x4E2A;Zookeeper&#x5BA2;&#x6237;&#x7AEF;&#x5B9E;&#x73B0;&#xFF0C;&#x6BD4;&#x8F83;&#x6D3B;&#x8DC3;&#x3002;</p>
-<p>&#x5982;&#x679C;&#x9700;&#x8981;&#x6539;&#x4E3A;curator&#x5B9E;&#x73B0;&#xFF0C;&#x8BF7;&#x914D;&#x7F6E;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">...</span> <span class="hljs-attr">client</span>=<span class="hljs-string">&quot;curator&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;&#xFF1A;</p>
-<pre><code class="lang-sh">dubbo.registry.client=curator
-</code></pre>
-<p>&#x6216;&#xFF1A;</p>
-<pre><code class="lang-sh">zookeeper://10.20.153.10:2181?client=curator
-</code></pre>
-<p>&#x9700;&#x4F9D;&#x8D56;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dependency</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>com.netflix.curator<span class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>curator-framework<span class="hljs-tag">&lt;/<span class="hljs-name">artifactId</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>1.1.10<span class="hljs-tag">&lt;/<span class="hljs-name">version</span>&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span>
-</code></pre>
-<p>&#x6216;&#x76F4;&#x63A5;&#x4E0B;&#x8F7D;&#xFF1A;<a href="http://repo1.maven.org/maven2/com/netflix/curator/curator-framework" target="_blank">http://repo1.maven.org/maven2/com/netflix/curator/curator-framework</a></p>
-<p>Zookeeper&#x5355;&#x673A;&#x914D;&#x7F6E;:</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;zookeeper://10.20.153.10:2181&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;zookeeper&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.153.10:2181&quot;</span> /&gt;</span>
-</code></pre>
-<p>Zookeeper&#x96C6;&#x7FA4;&#x914D;&#x7F6E;&#xFF1A;</p>
-<pre><code class="lang-xml">
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;zookeeper://10.20.153.10:2181?backup=10.20.153.11:2181,10.20.153.12:2181&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x6216;&#xFF1A;</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;zookeeper&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.153.10:2181,10.20.153.11:2181,10.20.153.12:2181&quot;</span> /&gt;</span>
-</code></pre>
-<p>&#x540C;&#x4E00;Zookeeper&#xFF0C;&#x5206;&#x6210;&#x591A;&#x7EC4;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;:</p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;chinaRegistry&quot;</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;zookeeper&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.153.10:2181&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;china&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;<span class="hljs-name">dubbo:registry</span> <span class="hljs-attr">id</span>=<span class="hljs-string">&quot;intlRegistry&quot;</span> <span class="hljs-attr">protocol</span>=<span class="hljs-string">&quot;zookeeper&quot;</span> <span class="hljs-attr">address</span>=<span class="hljs-string">&quot;10.20.153.10:2181&quot;</span> <span class="hljs-attr">group</span>=<span class="hljs-string">&quot;intl&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="multicast.html" class="navigation navigation-prev " aria-label="Previous page: 8.1 Multicast注册中心">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="redis.html" class="navigation navigation-next " aria-label="Next page: 8.3 Redis注册中心">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"8.2 Zookeeper注册中心","level":"1.9.2","depth":2,"next":{"title":"8.3 Redis注册中心","level":"1.9.3","depth":2,"path":"reference-registry/redis.md","ref":"reference-registry/redis.md","articles":[]},"previous":{"title":"8.1 Multicast注册中心","level":"1.9.1","depth":2,"path":"reference-registry/multicast.md","ref":"reference-registry/multicast.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-registry/zookeeper.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-telnet/telnet.html b/user-guide/reference-telnet/telnet.html
deleted file mode 100644
index 82c6b2f..0000000
--- a/user-guide/reference-telnet/telnet.html
+++ /dev/null
@@ -1,1549 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>9 telnet命令参考手册 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="../reference-maven/maven.html" />
-    
-    
-    <link rel="prev" href="../reference-registry/simple.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="../reference-xmlconf/introduction.html">
-            
-                <a href="../reference-xmlconf/introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="../reference-xmlconf/dubbo-service.html">
-            
-                <a href="../reference-xmlconf/dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="../reference-xmlconf/dubbo-reference.html">
-            
-                <a href="../reference-xmlconf/dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="../reference-xmlconf/dubbo-protocol.html">
-            
-                <a href="../reference-xmlconf/dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="../reference-xmlconf/dubbo-registry.html">
-            
-                <a href="../reference-xmlconf/dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="../reference-xmlconf/dubbo-monitor.html">
-            
-                <a href="../reference-xmlconf/dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="../reference-xmlconf/dubbo-application.html">
-            
-                <a href="../reference-xmlconf/dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="../reference-xmlconf/dubbo-module.html">
-            
-                <a href="../reference-xmlconf/dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="../reference-xmlconf/dubbo-provider.html">
-            
-                <a href="../reference-xmlconf/dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="../reference-xmlconf/dubbo-consumer.html">
-            
-                <a href="../reference-xmlconf/dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="../reference-xmlconf/dubbo-method.html">
-            
-                <a href="../reference-xmlconf/dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="../reference-xmlconf/dubbo-argument.html">
-            
-                <a href="../reference-xmlconf/dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="../reference-xmlconf/dubbo-parameter.html">
-            
-                <a href="../reference-xmlconf/dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.10" data-path="telnet.html">
-            
-                <a href="telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >9 telnet命令参考手册</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/warning-3.gif" alt="warning"> Dubbo2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x7AEF;&#x53E3;&#x652F;&#x6301;telnet&#x547D;&#x4EE4;&#xFF0C;</p>
-</blockquote>
-<p>&#x4F7F;&#x7528;&#x5982;&#xFF1A;</p>
-<pre><code class="lang-sh">telnet localhost 20880
-</code></pre>
-<p>&#x6216;&#x8005;&#xFF1A;</p>
-<pre><code class="lang-sh"><span class="hljs-built_in">echo</span> status | nc -i 1 localhost 20880
-</code></pre>
-<p>telnet&#x547D;&#x4EE4;&#x53EF;&#x4EE5;&#x6269;&#x5C55;&#xFF0C;&#x53C2;&#x89C1;&#xFF1A;<a href="http://dubbo.io/developer-guide/SPI%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C/Telnet%E5%91%BD%E4%BB%A4%E6%89%A9%E5%B1%95.html" target="_blank">&#x6269;&#x5C55;&#x53C2;&#x8003;&#x624B;&#x518C;</a>&#x3002;
-status&#x547D;&#x4EE4;&#x6240;&#x68C0;&#x67E5;&#x7684;&#x8D44;&#x6E90;&#x4E5F;&#x53EF;&#x4EE5;&#x6269;&#x5C55;&#xFF0C;&#x53C2;&#x89C1;&#xFF1A;<a href="http://dubbo.io/developer-guide/SPI%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C/%E7%8A%B6%E6%80%81%E6%A3%80%E6%9F%A5%E6%89%A9%E5%B1%95.html" target="_blank">&#x6269;&#x5C55;&#x53C2;&#x8003;&#x624B;&#x518C;</a>&#x3002;</p>
-<h4 id="ls">ls</h4>
-<p>(list services and methods)</p>
-<ul>
-<li>ls: &#x663E;&#x793A;&#x670D;&#x52A1;&#x5217;&#x8868;&#x3002;</li>
-<li>ls -l: &#x663E;&#x793A;&#x670D;&#x52A1;&#x8BE6;&#x7EC6;&#x4FE1;&#x606F;&#x5217;&#x8868;&#x3002;</li>
-<li>ls XxxService: &#x663E;&#x793A;&#x670D;&#x52A1;&#x7684;&#x65B9;&#x6CD5;&#x5217;&#x8868;&#x3002;</li>
-<li>ls -l XxxService: &#x663E;&#x793A;&#x670D;&#x52A1;&#x7684;&#x65B9;&#x6CD5;&#x8BE6;&#x7EC6;&#x4FE1;&#x606F;&#x5217;&#x8868;&#x3002;</li>
-</ul>
-<h4 id="ps">ps</h4>
-<p>(print server ports and connections)</p>
-<ul>
-<li>ps: &#x663E;&#x793A;&#x670D;&#x52A1;&#x7AEF;&#x53E3;&#x5217;&#x8868;&#x3002;</li>
-<li>ps -l: &#x663E;&#x793A;&#x670D;&#x52A1;&#x5730;&#x5740;&#x5217;&#x8868;&#x3002;</li>
-<li>ps 20880: &#x663E;&#x793A;&#x7AEF;&#x53E3;&#x4E0A;&#x7684;&#x8FDE;&#x63A5;&#x4FE1;&#x606F;&#x3002;</li>
-<li>ps -l 20880: &#x663E;&#x793A;&#x7AEF;&#x53E3;&#x4E0A;&#x7684;&#x8FDE;&#x63A5;&#x8BE6;&#x7EC6;&#x4FE1;&#x606F;&#x3002;</li>
-</ul>
-<h4 id="cd">cd</h4>
-<p>(change default service)</p>
-<ul>
-<li>cd XxxService: &#x6539;&#x53D8;&#x7F3A;&#x7701;&#x670D;&#x52A1;&#xFF0C;&#x5F53;&#x8BBE;&#x7F6E;&#x4E86;&#x7F3A;&#x7701;&#x670D;&#x52A1;&#xFF0C;&#x51E1;&#x662F;&#x9700;&#x8981;&#x8F93;&#x5165;&#x670D;&#x52A1;&#x540D;&#x4F5C;&#x4E3A;&#x53C2;&#x6570;&#x7684;&#x547D;&#x4EE4;&#xFF0C;&#x90FD;&#x53EF;&#x4EE5;&#x7701;&#x7565;&#x670D;&#x52A1;&#x53C2;&#x6570;&#x3002;</li>
-<li>cd /: &#x53D6;&#x6D88;&#x7F3A;&#x7701;&#x670D;&#x52A1;&#x3002;</li>
-</ul>
-<h4 id="pwd">pwd</h4>
-<p>(print working default service)</p>
-<ul>
-<li>pwd: &#x663E;&#x793A;&#x5F53;&#x524D;&#x7F3A;&#x7701;&#x670D;&#x52A1;&#x3002;</li>
-</ul>
-<h4 id="trace">trace</h4>
-<ul>
-<li>trace XxxService: &#x8DDF;&#x8E2A;1&#x6B21;&#x670D;&#x52A1;&#x4EFB;&#x610F;&#x65B9;&#x6CD5;&#x7684;&#x8C03;&#x7528;&#x60C5;&#x51B5;&#x3002;</li>
-<li>trace XxxService 10: &#x8DDF;&#x8E2A;10&#x6B21;&#x670D;&#x52A1;&#x4EFB;&#x610F;&#x65B9;&#x6CD5;&#x7684;&#x8C03;&#x7528;&#x60C5;&#x51B5;&#x3002;</li>
-<li>trace XxxService xxxMethod: &#x8DDF;&#x8E2A;1&#x6B21;&#x670D;&#x52A1;&#x65B9;&#x6CD5;&#x7684;&#x8C03;&#x7528;&#x60C5;&#x51B5;</li>
-<li>trace XxxService xxxMethod 10: &#x8DDF;&#x8E2A;10&#x6B21;&#x670D;&#x52A1;&#x65B9;&#x6CD5;&#x7684;&#x8C03;&#x7528;&#x60C5;&#x51B5;&#x3002;</li>
-</ul>
-<h4 id="count">count</h4>
-<ul>
-<li>count XxxService: &#x7EDF;&#x8BA1;1&#x6B21;&#x670D;&#x52A1;&#x4EFB;&#x610F;&#x65B9;&#x6CD5;&#x7684;&#x8C03;&#x7528;&#x60C5;&#x51B5;&#x3002;</li>
-<li>count XxxService 10: &#x7EDF;&#x8BA1;10&#x6B21;&#x670D;&#x52A1;&#x4EFB;&#x610F;&#x65B9;&#x6CD5;&#x7684;&#x8C03;&#x7528;&#x60C5;&#x51B5;&#x3002;</li>
-<li>count XxxService xxxMethod: &#x7EDF;&#x8BA1;1&#x6B21;&#x670D;&#x52A1;&#x65B9;&#x6CD5;&#x7684;&#x8C03;&#x7528;&#x60C5;&#x51B5;&#x3002;</li>
-<li>count XxxService xxxMethod 10: &#x7EDF;&#x8BA1;10&#x6B21;&#x670D;&#x52A1;&#x65B9;&#x6CD5;&#x7684;&#x8C03;&#x7528;&#x60C5;&#x51B5;&#x3002;</li>
-</ul>
-<h4 id="invoke">invoke</h4>
-<ul>
-<li>invoke XxxService.xxxMethod({&quot;prop&quot;: &quot;value&quot;}): &#x8C03;&#x7528;&#x670D;&#x52A1;&#x7684;&#x65B9;&#x6CD5;&#x3002;</li>
-<li>invoke xxxMethod({&quot;prop&quot;: &quot;value&quot;}): &#x8C03;&#x7528;&#x670D;&#x52A1;&#x7684;&#x65B9;&#x6CD5;(&#x81EA;&#x52A8;&#x67E5;&#x627E;&#x5305;&#x542B;&#x6B64;&#x65B9;&#x6CD5;&#x7684;&#x670D;&#x52A1;)&#x3002;</li>
-</ul>
-<h4 id="status">status</h4>
-<ul>
-<li>status: &#x663E;&#x793A;&#x6C47;&#x603B;&#x72B6;&#x6001;&#xFF0C;&#x8BE5;&#x72B6;&#x6001;&#x5C06;&#x6C47;&#x603B;&#x6240;&#x6709;&#x8D44;&#x6E90;&#x7684;&#x72B6;&#x6001;&#xFF0C;&#x5F53;&#x5168;&#x90E8;OK&#x65F6;&#x5219;&#x663E;&#x793A;OK&#xFF0C;&#x53EA;&#x8981;&#x6709;&#x4E00;&#x4E2A;ERROR&#x5219;&#x663E;&#x793A;ERROR&#xFF0C;&#x53EA;&#x8981;&#x6709;&#x4E00;&#x4E2A;WARN&#x5219;&#x663E;&#x793A;WARN&#x3002;</li>
-<li>status -l: &#x663E;&#x793A;&#x72B6;&#x6001;&#x5217;&#x8868;&#x3002;</li>
-</ul>
-<h4 id="log">log</h4>
-<p>2.0.6&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</p>
-<ul>
-<li>log debug: &#x4FEE;&#x6539;dubbo logger&#x7684;&#x65E5;&#x5FD7;&#x7EA7;&#x522B;</li>
-<li>log 100: &#x67E5;&#x770B;file logger&#x7684;&#x6700;&#x540E;100&#x5B57;&#x7B26;&#x7684;&#x65E5;&#x5FD7;</li>
-</ul>
-<h4 id="help">help</h4>
-<ul>
-<li>help: &#x663E;&#x793A;telnet&#x547D;&#x5E2E;&#x52A9;&#x4FE1;&#x606F;&#x3002;</li>
-<li>help xxx: &#x663E;&#x793A;xxx&#x547D;&#x4EE4;&#x7684;&#x8BE6;&#x7EC6;&#x5E2E;&#x52A9;&#x4FE1;&#x606F;&#x3002;</li>
-</ul>
-<h4 id="clear">clear</h4>
-<ul>
-<li>clear: &#x6E05;&#x9664;&#x5C4F;&#x5E55;&#x4E0A;&#x7684;&#x5185;&#x5BB9;&#x3002;</li>
-<li>clear 100: &#x6E05;&#x9664;&#x5C4F;&#x5E55;&#x4E0A;&#x7684;&#x6307;&#x5B9A;&#x884C;&#x6570;&#x7684;&#x5185;&#x5BB9;&#x3002;</li>
-</ul>
-<h4 id="exit">exit</h4>
-<ul>
-<li>exit: &#x9000;&#x51FA;&#x5F53;&#x524D;telnet&#x547D;&#x4EE4;&#x884C;&#x3002;</li>
-</ul>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="../reference-registry/simple.html" class="navigation navigation-prev " aria-label="Previous page: 8.4 Simple注册中心">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="../reference-maven/maven.html" class="navigation navigation-next " aria-label="Next page: 10 maven插件参考手册">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"9 telnet命令参考手册","level":"1.10","depth":1,"next":{"title":"10 maven插件参考手册","level":"1.11","depth":1,"path":"reference-maven/maven.md","ref":"reference-maven/maven.md","articles":[]},"previous":{"title":"8.4 Simple注册中心","level":"1.9.4","depth":2,"path":"reference-registry/simple.md","ref":"reference-registry/simple.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-telnet/telnet.md","mtime":"2017-08-02T06:13:38.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-xmlconf/dubbo-application.html b/user-guide/reference-xmlconf/dubbo-application.html
deleted file mode 100644
index f3bd055..0000000
--- a/user-guide/reference-xmlconf/dubbo-application.html
+++ /dev/null
@@ -1,1573 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.6 dubbo:application · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="dubbo-module.html" />
-    
-    
-    <link rel="prev" href="dubbo-monitor.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="dubbo-service.html">
-            
-                <a href="dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="dubbo-reference.html">
-            
-                <a href="dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="dubbo-protocol.html">
-            
-                <a href="dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="dubbo-registry.html">
-            
-                <a href="dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="dubbo-monitor.html">
-            
-                <a href="dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.6" data-path="dubbo-application.html">
-            
-                <a href="dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="dubbo-module.html">
-            
-                <a href="dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="dubbo-provider.html">
-            
-                <a href="dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="dubbo-consumer.html">
-            
-                <a href="dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="dubbo-method.html">
-            
-                <a href="dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="dubbo-argument.html">
-            
-                <a href="dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="dubbo-parameter.html">
-            
-                <a href="dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.6 dubbo:application</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x5E94;&#x7528;&#x4FE1;&#x606F;&#x914D;&#x7F6E;&#xFF1A;<br>&#x914D;&#x7F6E;&#x7C7B;&#xFF1A;com.alibaba.dubbo.config.ApplicationConfig</p>
-<table>
-<thead>
-<tr>
-<th>&#x6807;&#x7B7E;</th>
-<th>&#x5C5E;&#x6027;</th>
-<th>&#x5BF9;&#x5E94;URL&#x53C2;&#x6570;</th>
-<th>&#x7C7B;&#x578B;</th>
-<th>&#x662F;&#x5426;&#x5FC5;&#x586B;</th>
-<th>&#x7F3A;&#x7701;&#x503C;</th>
-<th>&#x4F5C;&#x7528;</th>
-<th>&#x63CF;&#x8FF0;</th>
-<th>&#x517C;&#x5BB9;&#x6027;</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>&lt;dubbo:application&gt;</td>
-<td>name</td>
-<td>application</td>
-<td>string</td>
-<td>&#x5FC5;&#x586B;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x5F53;&#x524D;&#x5E94;&#x7528;&#x540D;&#x79F0;&#xFF0C;&#x7528;&#x4E8E;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x8BA1;&#x7B97;&#x5E94;&#x7528;&#x95F4;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;&#xFF0C;&#x6CE8;&#x610F;&#xFF1A;&#x6D88;&#x8D39;&#x8005;&#x548C;&#x63D0;&#x4F9B;&#x8005;&#x5E94;&#x7528;&#x540D;&#x4E0D;&#x8981;&#x4E00;&#x6837;&#xFF0C;&#x6B64;&#x53C2;&#x6570;&#x4E0D;&#x662F;&#x5339;&#x914D;&#x6761;&#x4EF6;&#xFF0C;&#x4F60;&#x5F53;&#x524D;&#x9879;&#x76EE;&#x53EB;&#x4EC0;&#x4E48;&#x540D;&#x5B57;&#x5C31;&#x586B;&#x4EC0;&#x4E48;&#xFF0C;&#x548C;&#x63D0;&#x4F9B;&#x8005;&#x6D88;&#x8D39;&#x8005;&#x89D2;&#x8272;&#x65E0;&#x5173;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;kylin&#x5E94;&#x7528;&#x8C03;&#x7528;&#x4E86;morgan&#x5E94;&#x7528;&#x7684;&#x670D;&#x52A1;&#xFF0C;&#x5219;kylin&#x9879;&#x76EE;&#x914D;&#x6210;kylin&#xFF0C;morgan&#x9879;&#x76EE;&#x914D;&#x6210;morgan&#xFF0C;&#x53EF;&#x80FD;kylin&#x4E5F;&#x63D0;&#x4F9B;&#x5176;&#x5B83;&#x670D;&#x52A1;&#x7ED9;&#x522B;&#x4EBA;&#x4F7F;&#x7528;&#xFF0C;&#x4F46;kylin&#x9879;&#x76EE;&#x6C38;&#x8FDC;&#x914D;&#x6210;kylin&#xFF0C;&#x8FD9;&#x6837;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5C06;&#x663E;&#x793A;kylin&#x4F9D;&#x8D56;&#x4E8E;morgan</td>
-<td>1.0.16&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:application&gt;</td>
-<td>version</td>
-<td>application.version</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x5F53;&#x524D;&#x5E94;&#x7528;&#x7684;&#x7248;&#x672C;</td>
-<td>2.2.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:application&gt;</td>
-<td>owner</td>
-<td>owner</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x5E94;&#x7528;&#x8D1F;&#x8D23;&#x4EBA;&#xFF0C;&#x7528;&#x4E8E;&#x670D;&#x52A1;&#x6CBB;&#x7406;&#xFF0C;&#x8BF7;&#x586B;&#x5199;&#x8D1F;&#x8D23;&#x4EBA;&#x516C;&#x53F8;&#x90AE;&#x7BB1;&#x524D;&#x7F00;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:application&gt;</td>
-<td>organization</td>
-<td>organization</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x7EC4;&#x7EC7;&#x540D;&#x79F0;(BU&#x6216;&#x90E8;&#x95E8;)&#xFF0C;&#x7528;&#x4E8E;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x533A;&#x5206;&#x670D;&#x52A1;&#x6765;&#x6E90;&#xFF0C;&#x6B64;&#x914D;&#x7F6E;&#x9879;&#x5EFA;&#x8BAE;&#x4E0D;&#x8981;&#x4F7F;&#x7528;autoconfig&#xFF0C;&#x76F4;&#x63A5;&#x5199;&#x6B7B;&#x5728;&#x914D;&#x7F6E;&#x4E2D;&#xFF0C;&#x6BD4;&#x5982;china,intl,itu,crm,asc,dw,aliexpress&#x7B49;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:application&gt;</td>
-<td>architecture</td>
-<td>architecture</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x7528;&#x4E8E;&#x670D;&#x52A1;&#x5206;&#x5C42;&#x5BF9;&#x5E94;&#x7684;&#x67B6;&#x6784;&#x3002;&#x5982;&#xFF0C;intl&#x3001;china&#x3002;&#x4E0D;&#x540C;&#x7684;&#x67B6;&#x6784;&#x4F7F;&#x7528;&#x4E0D;&#x540C;&#x7684;&#x5206;&#x5C42;&#x3002;</td>
-<td>2.0.7&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:application&gt;</td>
-<td>environment</td>
-<td>environment</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x5E94;&#x7528;&#x73AF;&#x5883;&#xFF0C;&#x5982;&#xFF1A;develop/test/product&#xFF0C;&#x4E0D;&#x540C;&#x73AF;&#x5883;&#x4F7F;&#x7528;&#x4E0D;&#x540C;&#x7684;&#x7F3A;&#x7701;&#x503C;&#xFF0C;&#x4EE5;&#x53CA;&#x4F5C;&#x4E3A;&#x53EA;&#x7528;&#x4E8E;&#x5F00;&#x53D1;&#x6D4B;&#x8BD5;&#x529F;&#x80FD;&#x7684;&#x9650;&#x5236;&#x6761;&#x4EF6;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:application&gt;</td>
-<td>compiler</td>
-<td>compiler</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>javassist</td>
-<td>&#x6027;&#x80FD;&#x4F18;&#x5316;</td>
-<td>Java&#x5B57;&#x8282;&#x7801;&#x7F16;&#x8BD1;&#x5668;&#xFF0C;&#x7528;&#x4E8E;&#x52A8;&#x6001;&#x7C7B;&#x7684;&#x751F;&#x6210;&#xFF0C;&#x53EF;&#x9009;&#xFF1A;jdk&#x6216;javassist</td>
-<td>2.1.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:application&gt;</td>
-<td>logger</td>
-<td>logger</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>slf4j</td>
-<td>&#x6027;&#x80FD;&#x4F18;&#x5316;</td>
-<td>&#x65E5;&#x5FD7;&#x8F93;&#x51FA;&#x65B9;&#x5F0F;&#xFF0C;&#x53EF;&#x9009;&#xFF1A;slf4j,jcl,log4j,jdk</td>
-<td>2.2.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-</tbody>
-</table>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="dubbo-monitor.html" class="navigation navigation-prev " aria-label="Previous page: 6.5 dubbo:monitor">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="dubbo-module.html" class="navigation navigation-next " aria-label="Next page: 6.7 dubbo:module">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.6 dubbo:application","level":"1.7.6","depth":2,"next":{"title":"6.7 dubbo:module","level":"1.7.7","depth":2,"path":"reference-xmlconf/dubbo-module.md","ref":"reference-xmlconf/dubbo-module.md","articles":[]},"previous":{"title":"6.5 dubbo:monitor","level":"1.7.5","depth":2,"path":"reference-xmlconf/dubbo-monitor.md","ref":"reference-xmlconf/dubbo-monitor.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-xmlconf/dubbo-application.md","mtime":"2017-08-02T06:13:39.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-xmlconf/dubbo-application.md b/user-guide/reference-xmlconf/dubbo-application.md
index f08e5a8..d526218 100644
--- a/user-guide/reference-xmlconf/dubbo-application.md
+++ b/user-guide/reference-xmlconf/dubbo-application.md
@@ -1,3 +1,47 @@
+<style>
+table {
+  width: 100%;
+  max-width: 65em;
+  border: 1px solid #dedede;
+  margin: 15px auto;
+  border-collapse: collapse;
+  empty-cells: show;
+}
+table th,
+table td {
+  height: 35px;
+  border: 1px solid #dedede;
+  padding: 0 10px;
+}
+table th {
+  font-weight: bold;
+  text-align: center !important;
+  background: rgba(158,188,226,0.2);
+  white-space: nowrap;
+}
+table tbody tr:nth-child(2n) {
+  background: rgba(158,188,226,0.12);
+}
+table td:nth-child(1) {
+  white-space: nowrap;
+}
+table tr:hover {
+  background: #efefef;
+}
+.table-area {
+  overflow: auto;
+}
+</style>
+
+<script type="text/javascript">
+[].slice.call(document.querySelectorAll('table')).forEach(function(el){
+    var wrapper = document.createElement('div');
+    wrapper.className = 'table-area';
+    el.parentNode.insertBefore(wrapper, el);
+    el.parentNode.removeChild(el);
+    wrapper.appendChild(el);
+})
+</script>
 应用信息配置:  
 配置类:com.alibaba.dubbo.config.ApplicationConfig
 
diff --git a/user-guide/reference-xmlconf/dubbo-argument.html b/user-guide/reference-xmlconf/dubbo-argument.html
deleted file mode 100644
index a75d703..0000000
--- a/user-guide/reference-xmlconf/dubbo-argument.html
+++ /dev/null
@@ -1,1524 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.11 dubbo:argument · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="dubbo-parameter.html" />
-    
-    
-    <link rel="prev" href="dubbo-method.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="dubbo-service.html">
-            
-                <a href="dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="dubbo-reference.html">
-            
-                <a href="dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="dubbo-protocol.html">
-            
-                <a href="dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="dubbo-registry.html">
-            
-                <a href="dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="dubbo-monitor.html">
-            
-                <a href="dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="dubbo-application.html">
-            
-                <a href="dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="dubbo-module.html">
-            
-                <a href="dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="dubbo-provider.html">
-            
-                <a href="dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="dubbo-consumer.html">
-            
-                <a href="dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="dubbo-method.html">
-            
-                <a href="dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.11" data-path="dubbo-argument.html">
-            
-                <a href="dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="dubbo-parameter.html">
-            
-                <a href="dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.11 dubbo:argument</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x65B9;&#x6CD5;&#x53C2;&#x6570;&#x914D;&#x7F6E;&#xFF1A;<br>&#x914D;&#x7F6E;&#x7C7B;&#xFF1A;com.alibaba.dubbo.config.ArgumentConfig<br>&#x8BF4;&#x660E;&#xFF1A;&#x8BE5;&#x6807;&#x7B7E;&#x4E3A;|&lt;dubbo:method&gt;&#x7684;&#x5B50;&#x6807;&#x7B7E;&#xFF0C;&#x7528;&#x4E8E;&#x65B9;&#x6CD5;&#x53C2;&#x6570;&#x7684;&#x7279;&#x5F81;&#x63CF;&#x8FF0;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;  </p>
-<pre><code class="lang-xml">|&amp;lt;dubbo:method name=&quot;findXxx&quot; timeout=&quot;3000&quot; retries=&quot;2&quot;&amp;gt;
-    |&amp;lt;dubbo:argument index=&quot;0&quot; callback=&quot;true&quot; /&amp;gt;
-|&amp;lt;dubbo:method&amp;gt;
-</code></pre>
-<table>
-<thead>
-<tr>
-<th>&#x6807;&#x7B7E;</th>
-<th>&#x5C5E;&#x6027;</th>
-<th>&#x5BF9;&#x5E94;URL&#x53C2;&#x6570;</th>
-<th>&#x7C7B;&#x578B;</th>
-<th>&#x662F;&#x5426;&#x5FC5;&#x586B;</th>
-<th>&#x7F3A;&#x7701;&#x503C;</th>
-<th>&#x4F5C;&#x7528;</th>
-<th>&#x63CF;&#x8FF0;</th>
-<th>&#x517C;&#x5BB9;&#x6027;</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>&lt;dubbo:argument&gt;</td>
-<td>index</td>
-<td></td>
-<td>int</td>
-<td>&#x5FC5;&#x586B;</td>
-<td></td>
-<td>&#x6807;&#x8BC6;</td>
-<td>&#x65B9;&#x6CD5;&#x540D;</td>
-<td>2.0.6&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:argument&gt;</td>
-<td>type</td>
-<td></td>
-<td>String</td>
-<td>&#x4E0E;index&#x4E8C;&#x9009;&#x4E00;</td>
-<td></td>
-<td>&#x6807;&#x8BC6;</td>
-<td>&#x901A;&#x8FC7;&#x53C2;&#x6570;&#x7C7B;&#x578B;&#x67E5;&#x627E;&#x53C2;&#x6570;&#x7684;index</td>
-<td>2.0.6&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:argument&gt;</td>
-<td>callback</td>
-<td></td>
-<td>&lt;metodName&gt;</td>
-<td>&lt;index&gt;.retries</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x53C2;&#x6570;&#x662F;&#x5426;&#x4E3A;callback&#x63A5;&#x53E3;&#xFF0C;&#x5982;&#x679C;&#x4E3A;callback&#xFF0C;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x5C06;&#x751F;&#x6210;&#x53CD;&#x5411;&#x4EE3;&#x7406;&#xFF0C;&#x53EF;&#x4EE5;&#x4ECE;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x53CD;&#x5411;&#x8C03;&#x7528;&#x6D88;&#x8D39;&#x65B9;&#xFF0C;&#x901A;&#x5E38;&#x7528;&#x4E8E;&#x4E8B;&#x4EF6;&#x63A8;&#x9001;.</td>
-<td>2.0.6&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-</tbody>
-</table>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="dubbo-method.html" class="navigation navigation-prev " aria-label="Previous page: 6.10 dubbo:method">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="dubbo-parameter.html" class="navigation navigation-next " aria-label="Next page: 6.12 dubbo:parameter">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.11 dubbo:argument","level":"1.7.11","depth":2,"next":{"title":"6.12 dubbo:parameter","level":"1.7.12","depth":2,"path":"reference-xmlconf/dubbo-parameter.md","ref":"reference-xmlconf/dubbo-parameter.md","articles":[]},"previous":{"title":"6.10 dubbo:method","level":"1.7.10","depth":2,"path":"reference-xmlconf/dubbo-method.md","ref":"reference-xmlconf/dubbo-method.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-xmlconf/dubbo-argument.md","mtime":"2017-08-02T06:13:39.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-xmlconf/dubbo-argument.md b/user-guide/reference-xmlconf/dubbo-argument.md
index c7024c1..b2e641a 100644
--- a/user-guide/reference-xmlconf/dubbo-argument.md
+++ b/user-guide/reference-xmlconf/dubbo-argument.md
@@ -1,3 +1,48 @@
+<style>
+table {
+  width: 100%;
+  max-width: 65em;
+  border: 1px solid #dedede;
+  margin: 15px auto;
+  border-collapse: collapse;
+  empty-cells: show;
+}
+table th,
+table td {
+  height: 35px;
+  border: 1px solid #dedede;
+  padding: 0 10px;
+}
+table th {
+  font-weight: bold;
+  text-align: center !important;
+  background: rgba(158,188,226,0.2);
+  white-space: nowrap;
+}
+table tbody tr:nth-child(2n) {
+  background: rgba(158,188,226,0.12);
+}
+table td:nth-child(1) {
+  white-space: nowrap;
+}
+table tr:hover {
+  background: #efefef;
+}
+.table-area {
+  overflow: auto;
+}
+</style>
+
+<script type="text/javascript">
+[].slice.call(document.querySelectorAll('table')).forEach(function(el){
+    var wrapper = document.createElement('div');
+    wrapper.className = 'table-area';
+    el.parentNode.insertBefore(wrapper, el);
+    el.parentNode.removeChild(el);
+    wrapper.appendChild(el);
+})
+</script>
+
 方法参数配置:  
 配置类:com.alibaba.dubbo.config.ArgumentConfig  
 说明:该标签为|&lt;dubbo:method&gt;的子标签,用于方法参数的特征描述,比如:  
diff --git a/user-guide/reference-xmlconf/dubbo-consumer.html b/user-guide/reference-xmlconf/dubbo-consumer.html
deleted file mode 100644
index abd5352..0000000
--- a/user-guide/reference-xmlconf/dubbo-consumer.html
+++ /dev/null
@@ -1,1684 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.9 dubbo:consumer · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="dubbo-method.html" />
-    
-    
-    <link rel="prev" href="dubbo-provider.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="dubbo-service.html">
-            
-                <a href="dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="dubbo-reference.html">
-            
-                <a href="dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="dubbo-protocol.html">
-            
-                <a href="dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="dubbo-registry.html">
-            
-                <a href="dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="dubbo-monitor.html">
-            
-                <a href="dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="dubbo-application.html">
-            
-                <a href="dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="dubbo-module.html">
-            
-                <a href="dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="dubbo-provider.html">
-            
-                <a href="dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.9" data-path="dubbo-consumer.html">
-            
-                <a href="dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="dubbo-method.html">
-            
-                <a href="dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="dubbo-argument.html">
-            
-                <a href="dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="dubbo-parameter.html">
-            
-                <a href="dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.9 dubbo:consumer</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x7F3A;&#x7701;&#x503C;&#x914D;&#x7F6E;&#xFF1A;<br>&#x914D;&#x7F6E;&#x7C7B;&#xFF1A;com.alibaba.dubbo.config.ConsumerConfig<br>&#x8BF4;&#x660E;&#xFF1A;&#x8BE5;&#x6807;&#x7B7E;&#x4E3A;|&lt;dubbo:reference&gt;&#x6807;&#x7B7E;&#x7684;&#x7F3A;&#x7701;&#x503C;&#x8BBE;&#x7F6E;&#x3002;</p>
-<table>
-<thead>
-<tr>
-<th>&#x6807;&#x7B7E;</th>
-<th>&#x5C5E;&#x6027;</th>
-<th>&#x5BF9;&#x5E94;URL&#x53C2;&#x6570;</th>
-<th>&#x7C7B;&#x578B;</th>
-<th>&#x662F;&#x5426;&#x5FC5;&#x586B;</th>
-<th>&#x7F3A;&#x7701;&#x503C;</th>
-<th>&#x4F5C;&#x7528;</th>
-<th>&#x63CF;&#x8FF0;</th>
-<th>&#x517C;&#x5BB9;&#x6027;</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>timeout</td>
-<td>default.timeout</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>1000</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x8C03;&#x7528;&#x8D85;&#x65F6;&#x65F6;&#x95F4;(&#x6BEB;&#x79D2;)</td>
-<td>1.0.16&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>retries</td>
-<td>default.retries</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>2</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x8C03;&#x7528;&#x91CD;&#x8BD5;&#x6B21;&#x6570;&#xFF0C;&#x4E0D;&#x5305;&#x62EC;&#x7B2C;&#x4E00;&#x6B21;&#x8C03;&#x7528;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x91CD;&#x8BD5;&#x8BF7;&#x8BBE;&#x4E3A;0</td>
-<td>1.0.16&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>loadbalance</td>
-<td>default.loadbalance</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>random</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x7B56;&#x7565;&#xFF0C;&#x53EF;&#x9009;&#x503C;&#xFF1A;random,roundrobin,leastactive&#xFF0C;&#x5206;&#x522B;&#x8868;&#x793A;&#xFF1A;&#x968F;&#x673A;&#xFF0C;&#x8F6E;&#x5FAA;&#xFF0C;&#x6700;&#x5C11;&#x6D3B;&#x8DC3;&#x8C03;&#x7528;</td>
-<td>1.0.16&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>async</td>
-<td>default.async</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x662F;&#x5426;&#x7F3A;&#x7701;&#x5F02;&#x6B65;&#x6267;&#x884C;&#xFF0C;&#x4E0D;&#x53EF;&#x9760;&#x5F02;&#x6B65;&#xFF0C;&#x53EA;&#x662F;&#x5FFD;&#x7565;&#x8FD4;&#x56DE;&#x503C;&#xFF0C;&#x4E0D;&#x963B;&#x585E;&#x6267;&#x884C;&#x7EBF;&#x7A0B;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>connections</td>
-<td>default.connections</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>100</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x6BCF;&#x4E2A;&#x670D;&#x52A1;&#x5BF9;&#x6BCF;&#x4E2A;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x6700;&#x5927;&#x8FDE;&#x63A5;&#x6570;&#xFF0C;rmi&#x3001;http&#x3001;hessian&#x7B49;&#x77ED;&#x8FDE;&#x63A5;&#x534F;&#x8BAE;&#x652F;&#x6301;&#x6B64;&#x914D;&#x7F6E;&#xFF0C;dubbo&#x534F;&#x8BAE;&#x957F;&#x8FDE;&#x63A5;&#x4E0D;&#x652F;&#x6301;&#x6B64;&#x914D;&#x7F6E;</td>
-<td>1.0.16&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>generic</td>
-<td>generic</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x662F;&#x5426;&#x7F3A;&#x7701;&#x6CDB;&#x5316;&#x63A5;&#x53E3;&#xFF0C;&#x5982;&#x679C;&#x4E3A;&#x6CDB;&#x5316;&#x63A5;&#x53E3;&#xFF0C;&#x5C06;&#x8FD4;&#x56DE;GenericService</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>check</td>
-<td>check</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>true</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x542F;&#x52A8;&#x65F6;&#x68C0;&#x67E5;&#x63D0;&#x4F9B;&#x8005;&#x662F;&#x5426;&#x5B58;&#x5728;&#xFF0C;true&#x62A5;&#x9519;&#xFF0C;false&#x5FFD;&#x7565;</td>
-<td>1.0.16&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>proxy</td>
-<td>proxy</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>javassist</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x751F;&#x6210;&#x52A8;&#x6001;&#x4EE3;&#x7406;&#x65B9;&#x5F0F;&#xFF0C;&#x53EF;&#x9009;&#xFF1A;jdk/javassist</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>owner</td>
-<td>owner</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x8C03;&#x7528;&#x670D;&#x52A1;&#x8D1F;&#x8D23;&#x4EBA;&#xFF0C;&#x7528;&#x4E8E;&#x670D;&#x52A1;&#x6CBB;&#x7406;&#xFF0C;&#x8BF7;&#x586B;&#x5199;&#x8D1F;&#x8D23;&#x4EBA;&#x516C;&#x53F8;&#x90AE;&#x7BB1;&#x524D;&#x7F00;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>actives</td>
-<td>default.actives</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x6BCF;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x6BCF;&#x670D;&#x52A1;&#x6BCF;&#x65B9;&#x6CD5;&#x6700;&#x5927;&#x5E76;&#x53D1;&#x8C03;&#x7528;&#x6570;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>cluster</td>
-<td>default.cluster</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>failover</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x96C6;&#x7FA4;&#x65B9;&#x5F0F;&#xFF0C;&#x53EF;&#x9009;&#xFF1A;failover/failfast/failsafe/failback/forking</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>filter</td>
-<td>reference.filter</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x8FC7;&#x7A0B;&#x62E6;&#x622A;&#x5668;&#x540D;&#x79F0;&#xFF0C;&#x591A;&#x4E2A;&#x540D;&#x79F0;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>listener</td>
-<td>invoker.listener</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#x5F15;&#x7528;&#x670D;&#x52A1;&#x76D1;&#x542C;&#x5668;&#x540D;&#x79F0;&#xFF0C;&#x591A;&#x4E2A;&#x540D;&#x79F0;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>registry</td>
-<td></td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x5411;&#x6240;&#x6709;registry&#x6CE8;&#x518C;</td>
-<td>&#x914D;&#x7F6E;&#x5173;&#x8054;</td>
-<td>&#x5411;&#x6307;&#x5B9A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6CE8;&#x518C;&#xFF0C;&#x5728;&#x591A;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x65F6;&#x4F7F;&#x7528;&#xFF0C;&#x503C;&#x4E3A;</td>
-<td>&lt;dubbo:registry&gt;&#x7684;id&#x5C5E;&#x6027;&#xFF0C;&#x591A;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;ID&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;&#xFF0C;&#x5982;&#x679C;&#x4E0D;&#x60F3;&#x5C06;&#x8BE5;&#x670D;&#x52A1;&#x6CE8;&#x518C;&#x5230;&#x4EFB;&#x4F55;registry&#xFF0C;&#x53EF;&#x5C06;&#x503C;&#x8BBE;&#x4E3A;N/A</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>layer</td>
-<td>layer</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x8C03;&#x7528;&#x8005;&#x6240;&#x5728;&#x7684;&#x5206;&#x5C42;&#x3002;&#x5982;&#xFF1A;biz&#x3001;dao&#x3001;intl:web&#x3001;china:acton&#x3002;</td>
-<td>2.0.7&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>init</td>
-<td>init</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x662F;&#x5426;&#x5728;afterPropertiesSet()&#x65F6;&#x9965;&#x997F;&#x521D;&#x59CB;&#x5316;&#x5F15;&#x7528;&#xFF0C;&#x5426;&#x5219;&#x7B49;&#x5230;&#x6709;&#x4EBA;&#x6CE8;&#x5165;&#x6216;&#x5F15;&#x7528;&#x8BE5;&#x5B9E;&#x4F8B;&#x65F6;&#x518D;&#x521D;&#x59CB;&#x5316;&#x3002;</td>
-<td>2.0.10&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>cache</td>
-<td>cache</td>
-<td>string/boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x4EE5;&#x8C03;&#x7528;&#x53C2;&#x6570;&#x4E3A;key&#xFF0C;&#x7F13;&#x5B58;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#xFF0C;&#x53EF;&#x9009;&#xFF1A;lru, threadlocal, jcache&#x7B49;</td>
-<td>Dubbo2.1.0&#x53CA;&#x5176;&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:consumer&gt;</td>
-<td>validation</td>
-<td>validation</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x662F;&#x5426;&#x542F;&#x7528;JSR303&#x6807;&#x51C6;&#x6CE8;&#x89E3;&#x9A8C;&#x8BC1;&#xFF0C;&#x5982;&#x679C;&#x542F;&#x7528;&#xFF0C;&#x5C06;&#x5BF9;&#x65B9;&#x6CD5;&#x53C2;&#x6570;&#x4E0A;&#x7684;&#x6CE8;&#x89E3;&#x8FDB;&#x884C;&#x6821;&#x9A8C;</td>
-<td>Dubbo2.1.0&#x53CA;&#x5176;&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</td>
-</tr>
-</tbody>
-</table>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="dubbo-provider.html" class="navigation navigation-prev " aria-label="Previous page: 6.8 dubbo:provider">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="dubbo-method.html" class="navigation navigation-next " aria-label="Next page: 6.10 dubbo:method">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.9 dubbo:consumer","level":"1.7.9","depth":2,"next":{"title":"6.10 dubbo:method","level":"1.7.10","depth":2,"path":"reference-xmlconf/dubbo-method.md","ref":"reference-xmlconf/dubbo-method.md","articles":[]},"previous":{"title":"6.8 dubbo:provider","level":"1.7.8","depth":2,"path":"reference-xmlconf/dubbo-provider.md","ref":"reference-xmlconf/dubbo-provider.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-xmlconf/dubbo-consumer.md","mtime":"2017-08-02T06:13:39.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-xmlconf/dubbo-consumer.md b/user-guide/reference-xmlconf/dubbo-consumer.md
index 21a05a3..08ea27d 100644
--- a/user-guide/reference-xmlconf/dubbo-consumer.md
+++ b/user-guide/reference-xmlconf/dubbo-consumer.md
@@ -1,3 +1,48 @@
+<style>
+table {
+  width: 100%;
+  max-width: 65em;
+  border: 1px solid #dedede;
+  margin: 15px auto;
+  border-collapse: collapse;
+  empty-cells: show;
+}
+table th,
+table td {
+  height: 35px;
+  border: 1px solid #dedede;
+  padding: 0 10px;
+}
+table th {
+  font-weight: bold;
+  text-align: center !important;
+  background: rgba(158,188,226,0.2);
+  white-space: nowrap;
+}
+table tbody tr:nth-child(2n) {
+  background: rgba(158,188,226,0.12);
+}
+table td:nth-child(1) {
+  white-space: nowrap;
+}
+table tr:hover {
+  background: #efefef;
+}
+.table-area {
+  overflow: auto;
+}
+</style>
+
+<script type="text/javascript">
+[].slice.call(document.querySelectorAll('table')).forEach(function(el){
+    var wrapper = document.createElement('div');
+    wrapper.className = 'table-area';
+    el.parentNode.insertBefore(wrapper, el);
+    el.parentNode.removeChild(el);
+    wrapper.appendChild(el);
+})
+</script>
+
 服务消费者缺省值配置:  
 配置类:com.alibaba.dubbo.config.ConsumerConfig  
 说明:该标签为|&lt;dubbo:reference&gt;标签的缺省值设置。
diff --git a/user-guide/reference-xmlconf/dubbo-method.html b/user-guide/reference-xmlconf/dubbo-method.html
deleted file mode 100644
index bfb42d3..0000000
--- a/user-guide/reference-xmlconf/dubbo-method.html
+++ /dev/null
@@ -1,1684 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.10 dubbo:method · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="dubbo-argument.html" />
-    
-    
-    <link rel="prev" href="dubbo-consumer.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="dubbo-service.html">
-            
-                <a href="dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="dubbo-reference.html">
-            
-                <a href="dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="dubbo-protocol.html">
-            
-                <a href="dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="dubbo-registry.html">
-            
-                <a href="dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="dubbo-monitor.html">
-            
-                <a href="dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="dubbo-application.html">
-            
-                <a href="dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="dubbo-module.html">
-            
-                <a href="dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="dubbo-provider.html">
-            
-                <a href="dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="dubbo-consumer.html">
-            
-                <a href="dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.10" data-path="dubbo-method.html">
-            
-                <a href="dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="dubbo-argument.html">
-            
-                <a href="dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="dubbo-parameter.html">
-            
-                <a href="dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.10 dubbo:method</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x65B9;&#x6CD5;&#x7EA7;&#x914D;&#x7F6E;&#xFF1A;<br>&#x914D;&#x7F6E;&#x7C7B;&#xFF1A;com.alibaba.dubbo.config.MethodConfig<br>&#x8BF4;&#x660E;&#xFF1A;&#x8BE5;&#x6807;&#x7B7E;&#x4E3A;|&lt;dubbo:service&gt;&#x6216;|&lt;dubbo:reference&gt;&#x7684;&#x5B50;&#x6807;&#x7B7E;&#xFF0C;&#x7528;&#x4E8E;&#x63A7;&#x5236;&#x5230;&#x65B9;&#x6CD5;&#x7EA7;&#xFF0C;</p>
-<table>
-<thead>
-<tr>
-<th>&#x6807;&#x7B7E;</th>
-<th>&#x5C5E;&#x6027;</th>
-<th>&#x5BF9;&#x5E94;URL&#x53C2;&#x6570;</th>
-<th>&#x7C7B;&#x578B;</th>
-<th>&#x662F;&#x5426;&#x5FC5;&#x586B;</th>
-<th>&#x7F3A;&#x7701;&#x503C;</th>
-<th>&#x4F5C;&#x7528;</th>
-<th>&#x63CF;&#x8FF0;</th>
-<th>&#x517C;&#x5BB9;&#x6027;</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>name</td>
-<td></td>
-<td>string</td>
-<td>&#x5FC5;&#x586B;</td>
-<td></td>
-<td>&#x6807;&#x8BC6;</td>
-<td>&#x65B9;&#x6CD5;&#x540D;</td>
-<td>1.0.8&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>timeout</td>
-<td></td>
-<td>&lt;metodName&gt;.timeout</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x4E3A;&#x7684;timeout</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x65B9;&#x6CD5;&#x8C03;&#x7528;&#x8D85;&#x65F6;&#x65F6;&#x95F4;(&#x6BEB;&#x79D2;)</td>
-<td>1.0.8&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>retries</td>
-<td></td>
-<td>&lt;metodName&gt;.retries</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x4E3A;</td>
-<td>&lt;dubbo:reference&gt;&#x7684;retries</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x8C03;&#x7528;&#x91CD;&#x8BD5;&#x6B21;&#x6570;&#xFF0C;&#x4E0D;&#x5305;&#x62EC;&#x7B2C;&#x4E00;&#x6B21;&#x8C03;&#x7528;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x91CD;&#x8BD5;&#x8BF7;&#x8BBE;&#x4E3A;0</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>loadbalance</td>
-<td></td>
-<td>&lt;metodName&gt;.loadbalance</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x4E3A;&#x7684;loadbalance</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x7B56;&#x7565;&#xFF0C;&#x53EF;&#x9009;&#x503C;&#xFF1A;random,roundrobin,leastactive&#xFF0C;&#x5206;&#x522B;&#x8868;&#x793A;&#xFF1A;&#x968F;&#x673A;&#xFF0C;&#x8F6E;&#x5FAA;&#xFF0C;&#x6700;&#x5C11;&#x6D3B;&#x8DC3;&#x8C03;&#x7528;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>async</td>
-<td></td>
-<td>&lt;metodName&gt;.async</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x4E3A;</td>
-<td>&lt;dubbo:reference&gt;&#x7684;async</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x662F;&#x5426;&#x5F02;&#x6B65;&#x6267;&#x884C;&#xFF0C;&#x4E0D;&#x53EF;&#x9760;&#x5F02;&#x6B65;&#xFF0C;&#x53EA;&#x662F;&#x5FFD;&#x7565;&#x8FD4;&#x56DE;&#x503C;&#xFF0C;&#x4E0D;&#x963B;&#x585E;&#x6267;&#x884C;&#x7EBF;&#x7A0B;</td>
-<td>1.0.9&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>sent</td>
-<td></td>
-<td>&lt;methodName&gt;.sent</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>true</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x5F02;&#x6B65;&#x8C03;&#x7528;&#x65F6;&#xFF0C;&#x6807;&#x8BB0;sent=true&#x65F6;&#xFF0C;&#x8868;&#x793A;&#x7F51;&#x7EDC;&#x5DF2;&#x53D1;&#x51FA;&#x6570;&#x636E;</td>
-<td>2.0.6&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>actives</td>
-<td></td>
-<td>&lt;metodName&gt;.actives</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x6BCF;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x6700;&#x5927;&#x5E76;&#x53D1;&#x8C03;&#x7528;&#x9650;&#x5236;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>executes</td>
-<td></td>
-<td>&lt;metodName&gt;.executes</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x6BCF;&#x670D;&#x52A1;&#x6BCF;&#x65B9;&#x6CD5;&#x6700;&#x5927;&#x4F7F;&#x7528;&#x7EBF;&#x7A0B;&#x6570;&#x9650;&#x5236;- -&#xFF0C;&#x6B64;&#x5C5E;&#x6027;&#x53EA;&#x5728;</td>
-<td>&lt;dubbo:method&gt;&#x4F5C;&#x4E3A;</td>
-<td>&lt;dubbo:service&gt;&#x5B50;&#x6807;&#x7B7E;&#x65F6;&#x6709;&#x6548;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>deprecated</td>
-<td></td>
-<td>&lt;methodName&gt;.deprecated</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x65B9;&#x6CD5;&#x662F;&#x5426;&#x8FC7;&#x65F6;&#xFF0C;&#x6B64;&#x5C5E;&#x6027;&#x53EA;&#x5728;</td>
-<td>&lt;dubbo:method&gt;&#x4F5C;&#x4E3A;</td>
-<td>&lt;dubbo:service&gt;&#x5B50;&#x6807;&#x7B7E;&#x65F6;&#x6709;&#x6548;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>sticky</td>
-<td></td>
-<td>&lt;methodName&gt;.sticky</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x8BBE;&#x7F6E;true &#x8BE5;&#x63A5;&#x53E3;&#x4E0A;&#x7684;&#x6240;&#x6709;&#x65B9;&#x6CD5;&#x4F7F;&#x7528;&#x540C;&#x4E00;&#x4E2A;provider.&#x5982;&#x679C;&#x9700;&#x8981;&#x66F4;&#x590D;&#x6742;&#x7684;&#x89C4;&#x5219;&#xFF0C;&#x8BF7;&#x4F7F;&#x7528;&#x7528;&#x8DEF;&#x7531;</td>
-<td>2.0.6&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>return</td>
-<td></td>
-<td>&lt;methodName&gt;.return</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>true</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x65B9;&#x6CD5;&#x8C03;&#x7528;&#x662F;&#x5426;&#x9700;&#x8981;&#x8FD4;&#x56DE;&#x503C;,async&#x8BBE;&#x7F6E;&#x4E3A;true&#x65F6;&#x624D;&#x751F;&#x6548;&#xFF0C;&#x5982;&#x679C;&#x8BBE;&#x7F6E;&#x4E3A;true&#xFF0C;&#x5219;&#x8FD4;&#x56DE;future&#xFF0C;&#x6216;&#x56DE;&#x8C03;onreturn&#x7B49;&#x65B9;&#x6CD5;&#xFF0C;&#x5982;&#x679C;&#x8BBE;&#x7F6E;&#x4E3A;false&#xFF0C;&#x5219;&#x8BF7;&#x6C42;&#x53D1;&#x9001;&#x6210;&#x529F;&#x540E;&#x76F4;&#x63A5;&#x8FD4;&#x56DE;Null</td>
-<td>2.0.6&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>oninvoke</td>
-<td>attribute&#x5C5E;&#x6027;&#xFF0C;&#x4E0D;&#x5728;URL&#x4E2D;&#x4F53;&#x73B0;</td>
-<td>String</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x65B9;&#x6CD5;&#x6267;&#x884C;&#x524D;&#x62E6;&#x622A;</td>
-<td>2.0.6&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>onreturn</td>
-<td>attribute&#x5C5E;&#x6027;&#xFF0C;&#x4E0D;&#x5728;URL&#x4E2D;&#x4F53;&#x73B0;</td>
-<td>String</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x65B9;&#x6CD5;&#x6267;&#x884C;&#x8FD4;&#x56DE;&#x540E;&#x62E6;&#x622A;</td>
-<td>2.0.6&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>onthrow</td>
-<td>attribute&#x5C5E;&#x6027;&#xFF0C;&#x4E0D;&#x5728;URL&#x4E2D;&#x4F53;&#x73B0;</td>
-<td>String</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x65B9;&#x6CD5;&#x6267;&#x884C;&#x6709;&#x5F02;&#x5E38;&#x62E6;&#x622A;</td>
-<td>2.0.6&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>cache</td>
-<td></td>
-<td>&lt;methodName&gt;.cache</td>
-<td>string/boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x4EE5;&#x8C03;&#x7528;&#x53C2;&#x6570;&#x4E3A;key&#xFF0C;&#x7F13;&#x5B58;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#xFF0C;&#x53EF;&#x9009;&#xFF1A;lru, threadlocal, jcache&#x7B49;</td>
-<td>Dubbo2.1.0&#x53CA;&#x5176;&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:method&gt;</td>
-<td>validation</td>
-<td></td>
-<td>&lt;methodName&gt;.validation</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x662F;&#x5426;&#x542F;&#x7528;JSR303&#x6807;&#x51C6;&#x6CE8;&#x89E3;&#x9A8C;&#x8BC1;&#xFF0C;&#x5982;&#x679C;&#x542F;&#x7528;&#xFF0C;&#x5C06;&#x5BF9;&#x65B9;&#x6CD5;&#x53C2;&#x6570;&#x4E0A;&#x7684;&#x6CE8;&#x89E3;&#x8FDB;&#x884C;&#x6821;&#x9A8C;</td>
-<td>Dubbo2.1.0&#x53CA;&#x5176;&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</td>
-</tr>
-</tbody>
-</table>
-<p>&#x6BD4;&#x5982;:  </p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:reference</span> <span class="hljs-attr">interface</span>=<span class="hljs-string">&quot;com.xxx.XxxService&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:method</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;findXxx&quot;</span> <span class="hljs-attr">timeout</span>=<span class="hljs-string">&quot;3000&quot;</span> <span class="hljs-attr">retries</span>=<span class="hljs-string">&quot;2&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:reference</span>&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="dubbo-consumer.html" class="navigation navigation-prev " aria-label="Previous page: 6.9 dubbo:consumer">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="dubbo-argument.html" class="navigation navigation-next " aria-label="Next page: 6.11 dubbo:argument">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.10 dubbo:method","level":"1.7.10","depth":2,"next":{"title":"6.11 dubbo:argument","level":"1.7.11","depth":2,"path":"reference-xmlconf/dubbo-argument.md","ref":"reference-xmlconf/dubbo-argument.md","articles":[]},"previous":{"title":"6.9 dubbo:consumer","level":"1.7.9","depth":2,"path":"reference-xmlconf/dubbo-consumer.md","ref":"reference-xmlconf/dubbo-consumer.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-xmlconf/dubbo-method.md","mtime":"2017-08-02T06:13:39.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-xmlconf/dubbo-method.md b/user-guide/reference-xmlconf/dubbo-method.md
index d6b7fc9..fe36479 100644
--- a/user-guide/reference-xmlconf/dubbo-method.md
+++ b/user-guide/reference-xmlconf/dubbo-method.md
@@ -1,3 +1,48 @@
+<style>
+table {
+  width: 100%;
+  max-width: 65em;
+  border: 1px solid #dedede;
+  margin: 15px auto;
+  border-collapse: collapse;
+  empty-cells: show;
+}
+table th,
+table td {
+  height: 35px;
+  border: 1px solid #dedede;
+  padding: 0 10px;
+}
+table th {
+  font-weight: bold;
+  text-align: center !important;
+  background: rgba(158,188,226,0.2);
+  white-space: nowrap;
+}
+table tbody tr:nth-child(2n) {
+  background: rgba(158,188,226,0.12);
+}
+table td:nth-child(1) {
+  white-space: nowrap;
+}
+table tr:hover {
+  background: #efefef;
+}
+.table-area {
+  overflow: auto;
+}
+</style>
+
+<script type="text/javascript">
+[].slice.call(document.querySelectorAll('table')).forEach(function(el){
+    var wrapper = document.createElement('div');
+    wrapper.className = 'table-area';
+    el.parentNode.insertBefore(wrapper, el);
+    el.parentNode.removeChild(el);
+    wrapper.appendChild(el);
+})
+</script>
+
 方法级配置:  
 配置类:com.alibaba.dubbo.config.MethodConfig  
 说明:该标签为|&lt;dubbo:service&gt;或|&lt;dubbo:reference&gt;的子标签,用于控制到方法级,
diff --git a/user-guide/reference-xmlconf/dubbo-module.html b/user-guide/reference-xmlconf/dubbo-module.html
deleted file mode 100644
index 650240b..0000000
--- a/user-guide/reference-xmlconf/dubbo-module.html
+++ /dev/null
@@ -1,1530 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.7 dubbo:module · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="dubbo-provider.html" />
-    
-    
-    <link rel="prev" href="dubbo-application.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="dubbo-service.html">
-            
-                <a href="dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="dubbo-reference.html">
-            
-                <a href="dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="dubbo-protocol.html">
-            
-                <a href="dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="dubbo-registry.html">
-            
-                <a href="dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="dubbo-monitor.html">
-            
-                <a href="dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="dubbo-application.html">
-            
-                <a href="dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.7" data-path="dubbo-module.html">
-            
-                <a href="dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="dubbo-provider.html">
-            
-                <a href="dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="dubbo-consumer.html">
-            
-                <a href="dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="dubbo-method.html">
-            
-                <a href="dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="dubbo-argument.html">
-            
-                <a href="dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="dubbo-parameter.html">
-            
-                <a href="dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.7 dubbo:module</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x6A21;&#x5757;&#x4FE1;&#x606F;&#x914D;&#x7F6E;&#xFF1A;
-&#x914D;&#x7F6E;&#x7C7B;&#xFF1A;com.alibaba.dubbo.config.ModuleConfig</p>
-<table>
-<thead>
-<tr>
-<th>&#x6807;&#x7B7E;</th>
-<th>&#x5C5E;&#x6027;</th>
-<th>&#x5BF9;&#x5E94;URL&#x53C2;&#x6570;</th>
-<th>&#x7C7B;&#x578B;</th>
-<th>&#x662F;&#x5426;&#x5FC5;&#x586B;</th>
-<th>&#x7F3A;&#x7701;&#x503C;</th>
-<th>&#x4F5C;&#x7528;</th>
-<th>&#x63CF;&#x8FF0;</th>
-<th>&#x517C;&#x5BB9;&#x6027;</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>&lt;dubbo:module&gt;</td>
-<td>name</td>
-<td>module</td>
-<td>string</td>
-<td>&#x5FC5;&#x586B;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x5F53;&#x524D;&#x6A21;&#x5757;&#x540D;&#x79F0;&#xFF0C;&#x7528;&#x4E8E;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x8BA1;&#x7B97;&#x6A21;&#x5757;&#x95F4;&#x4F9D;&#x8D56;&#x5173;&#x7CFB;</td>
-<td>2.2.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:module&gt;</td>
-<td>version</td>
-<td>module.version</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x5F53;&#x524D;&#x6A21;&#x5757;&#x7684;&#x7248;&#x672C;</td>
-<td>2.2.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:module&gt;</td>
-<td>owner</td>
-<td>owner</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x6A21;&#x5757;&#x8D1F;&#x8D23;&#x4EBA;&#xFF0C;&#x7528;&#x4E8E;&#x670D;&#x52A1;&#x6CBB;&#x7406;&#xFF0C;&#x8BF7;&#x586B;&#x5199;&#x8D1F;&#x8D23;&#x4EBA;&#x516C;&#x53F8;&#x90AE;&#x7BB1;&#x524D;&#x7F00;</td>
-<td>2.2.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:module&gt;</td>
-<td>organization</td>
-<td>organization</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x7EC4;&#x7EC7;&#x540D;&#x79F0;(BU&#x6216;&#x90E8;&#x95E8;)&#xFF0C;&#x7528;&#x4E8E;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x533A;&#x5206;&#x670D;&#x52A1;&#x6765;&#x6E90;&#xFF0C;&#x6B64;&#x914D;&#x7F6E;&#x9879;&#x5EFA;&#x8BAE;&#x4E0D;&#x8981;&#x4F7F;&#x7528;autoconfig&#xFF0C;&#x76F4;&#x63A5;&#x5199;&#x6B7B;&#x5728;&#x914D;&#x7F6E;&#x4E2D;&#xFF0C;&#x6BD4;&#x5982;china,intl,itu,crm,asc,dw,aliexpress&#x7B49;</td>
-<td>2.2.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-</tbody>
-</table>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="dubbo-application.html" class="navigation navigation-prev " aria-label="Previous page: 6.6 dubbo:application">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="dubbo-provider.html" class="navigation navigation-next " aria-label="Next page: 6.8 dubbo:provider">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.7 dubbo:module","level":"1.7.7","depth":2,"next":{"title":"6.8 dubbo:provider","level":"1.7.8","depth":2,"path":"reference-xmlconf/dubbo-provider.md","ref":"reference-xmlconf/dubbo-provider.md","articles":[]},"previous":{"title":"6.6 dubbo:application","level":"1.7.6","depth":2,"path":"reference-xmlconf/dubbo-application.md","ref":"reference-xmlconf/dubbo-application.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-xmlconf/dubbo-module.md","mtime":"2017-08-02T06:13:39.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-xmlconf/dubbo-module.md b/user-guide/reference-xmlconf/dubbo-module.md
index 03f52d9..646abdc 100644
--- a/user-guide/reference-xmlconf/dubbo-module.md
+++ b/user-guide/reference-xmlconf/dubbo-module.md
@@ -1,3 +1,48 @@
+<style>
+table {
+  width: 100%;
+  max-width: 65em;
+  border: 1px solid #dedede;
+  margin: 15px auto;
+  border-collapse: collapse;
+  empty-cells: show;
+}
+table th,
+table td {
+  height: 35px;
+  border: 1px solid #dedede;
+  padding: 0 10px;
+}
+table th {
+  font-weight: bold;
+  text-align: center !important;
+  background: rgba(158,188,226,0.2);
+  white-space: nowrap;
+}
+table tbody tr:nth-child(2n) {
+  background: rgba(158,188,226,0.12);
+}
+table td:nth-child(1) {
+  white-space: nowrap;
+}
+table tr:hover {
+  background: #efefef;
+}
+.table-area {
+  overflow: auto;
+}
+</style>
+
+<script type="text/javascript">
+[].slice.call(document.querySelectorAll('table')).forEach(function(el){
+    var wrapper = document.createElement('div');
+    wrapper.className = 'table-area';
+    el.parentNode.insertBefore(wrapper, el);
+    el.parentNode.removeChild(el);
+    wrapper.appendChild(el);
+})
+</script>
+
 模块信息配置:
 配置类:com.alibaba.dubbo.config.ModuleConfig
 
diff --git a/user-guide/reference-xmlconf/dubbo-monitor.html b/user-guide/reference-xmlconf/dubbo-monitor.html
deleted file mode 100644
index 57ee30c..0000000
--- a/user-guide/reference-xmlconf/dubbo-monitor.html
+++ /dev/null
@@ -1,1511 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.5 dubbo:monitor · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="dubbo-application.html" />
-    
-    
-    <link rel="prev" href="dubbo-registry.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="dubbo-service.html">
-            
-                <a href="dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="dubbo-reference.html">
-            
-                <a href="dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="dubbo-protocol.html">
-            
-                <a href="dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="dubbo-registry.html">
-            
-                <a href="dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.5" data-path="dubbo-monitor.html">
-            
-                <a href="dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="dubbo-application.html">
-            
-                <a href="dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="dubbo-module.html">
-            
-                <a href="dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="dubbo-provider.html">
-            
-                <a href="dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="dubbo-consumer.html">
-            
-                <a href="dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="dubbo-method.html">
-            
-                <a href="dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="dubbo-argument.html">
-            
-                <a href="dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="dubbo-parameter.html">
-            
-                <a href="dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.5 dubbo:monitor</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E;&#xFF1A;<br>&#x914D;&#x7F6E;&#x7C7B;&#xFF1A;com.alibaba.dubbo.config.MonitorConfig</p>
-<table>
-<thead>
-<tr>
-<th>&#x6807;&#x7B7E;</th>
-<th>&#x5C5E;&#x6027;</th>
-<th>&#x5BF9;&#x5E94;URL&#x53C2;&#x6570;</th>
-<th>&#x7C7B;&#x578B;</th>
-<th>&#x662F;&#x5426;&#x5FC5;&#x586B;</th>
-<th>&#x7F3A;&#x7701;&#x503C;</th>
-<th>&#x4F5C;&#x7528;</th>
-<th>&#x63CF;&#x8FF0;</th>
-<th>&#x517C;&#x5BB9;&#x6027;</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>&lt;dubbo:monitor</td>
-<td>&gt;</td>
-<td>protocol</td>
-<td>protocol</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x534F;&#x8BAE;&#xFF0C;&#x5982;&#x679C;&#x4E3A;protocol=&quot;registry&quot;&#xFF0C;&#x8868;&#x793A;&#x4ECE;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x53D1;&#x73B0;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x5730;&#x5740;&#xFF0C;&#x5426;&#x5219;&#x76F4;&#x8FDE;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x3002;</td>
-<td>2.0.9&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:monitor</td>
-<td>&gt;</td>
-<td>address</td>
-<td></td>
-<td>&lt;url</td>
-<td>&gt;</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>N/A</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x76F4;&#x8FDE;&#x76D1;&#x63A7;&#x4E2D;&#x5FC3;&#x670D;&#x52A1;&#x5668;&#x5730;&#x5740;&#xFF0C;address=&quot;10.20.130.230:12080&quot;</td>
-<td>1.0.16&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-</tbody>
-</table>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="dubbo-registry.html" class="navigation navigation-prev " aria-label="Previous page: 6.4 dubbo:registry">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="dubbo-application.html" class="navigation navigation-next " aria-label="Next page: 6.6 dubbo:application">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.5 dubbo:monitor","level":"1.7.5","depth":2,"next":{"title":"6.6 dubbo:application","level":"1.7.6","depth":2,"path":"reference-xmlconf/dubbo-application.md","ref":"reference-xmlconf/dubbo-application.md","articles":[]},"previous":{"title":"6.4 dubbo:registry","level":"1.7.4","depth":2,"path":"reference-xmlconf/dubbo-registry.md","ref":"reference-xmlconf/dubbo-registry.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-xmlconf/dubbo-monitor.md","mtime":"2017-08-02T06:13:39.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-xmlconf/dubbo-monitor.md b/user-guide/reference-xmlconf/dubbo-monitor.md
index 8a2ef65..e275164 100644
--- a/user-guide/reference-xmlconf/dubbo-monitor.md
+++ b/user-guide/reference-xmlconf/dubbo-monitor.md
@@ -1,3 +1,48 @@
+<style>
+table {
+  width: 100%;
+  max-width: 65em;
+  border: 1px solid #dedede;
+  margin: 15px auto;
+  border-collapse: collapse;
+  empty-cells: show;
+}
+table th,
+table td {
+  height: 35px;
+  border: 1px solid #dedede;
+  padding: 0 10px;
+}
+table th {
+  font-weight: bold;
+  text-align: center !important;
+  background: rgba(158,188,226,0.2);
+  white-space: nowrap;
+}
+table tbody tr:nth-child(2n) {
+  background: rgba(158,188,226,0.12);
+}
+table td:nth-child(1) {
+  white-space: nowrap;
+}
+table tr:hover {
+  background: #efefef;
+}
+.table-area {
+  overflow: auto;
+}
+</style>
+
+<script type="text/javascript">
+[].slice.call(document.querySelectorAll('table')).forEach(function(el){
+    var wrapper = document.createElement('div');
+    wrapper.className = 'table-area';
+    el.parentNode.insertBefore(wrapper, el);
+    el.parentNode.removeChild(el);
+    wrapper.appendChild(el);
+})
+</script>
+
 监控中心配置:  
 配置类:com.alibaba.dubbo.config.MonitorConfig
 
diff --git a/user-guide/reference-xmlconf/dubbo-parameter.html b/user-guide/reference-xmlconf/dubbo-parameter.html
deleted file mode 100644
index e326ea7..0000000
--- a/user-guide/reference-xmlconf/dubbo-parameter.html
+++ /dev/null
@@ -1,1515 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.12 dubbo:parameter · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="../reference-protocol/introduction.html" />
-    
-    
-    <link rel="prev" href="dubbo-argument.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="dubbo-service.html">
-            
-                <a href="dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="dubbo-reference.html">
-            
-                <a href="dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="dubbo-protocol.html">
-            
-                <a href="dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="dubbo-registry.html">
-            
-                <a href="dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="dubbo-monitor.html">
-            
-                <a href="dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="dubbo-application.html">
-            
-                <a href="dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="dubbo-module.html">
-            
-                <a href="dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="dubbo-provider.html">
-            
-                <a href="dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="dubbo-consumer.html">
-            
-                <a href="dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="dubbo-method.html">
-            
-                <a href="dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="dubbo-argument.html">
-            
-                <a href="dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.12" data-path="dubbo-parameter.html">
-            
-                <a href="dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.12 dubbo:parameter</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x9009;&#x9879;&#x53C2;&#x6570;&#x914D;&#x7F6E;&#xFF1A;<br>&#x914D;&#x7F6E;&#x7C7B;&#xFF1A;java.util.Map<br>&#x8BF4;&#x660E;&#xFF1A;&#x8BE5;&#x6807;&#x7B7E;&#x4E3A;|&lt;dubbo:protocol&gt;&#x6216;|&lt;dubbo:service&gt;&#x6216;|&lt;dubbo:provider&gt;&#x6216;|&lt;dubbo:reference&gt;&#x6216;|&lt;dubbo:consumer&gt;&#x7684;&#x5B50;&#x6807;&#x7B7E;&#xFF0C;&#x7528;&#x4E8E;&#x914D;&#x7F6E;&#x81EA;&#x5B9A;&#x4E49;&#x53C2;&#x6570;&#xFF0C;&#x8BE5;&#x914D;&#x7F6E;&#x9879;&#x5C06;&#x4F5C;&#x4E3A;&#x6269;&#x5C55;&#x70B9;&#x8BBE;&#x7F6E;&#x81EA;&#x5B9A;&#x4E49;&#x53C2;&#x6570;&#x4F7F;&#x7528;&#x3002;</p>
-<table>
-<thead>
-<tr>
-<th>&#x6807;&#x7B7E;</th>
-<th>&#x5C5E;&#x6027;</th>
-<th>&#x5BF9;&#x5E94;URL&#x53C2;&#x6570;</th>
-<th>&#x7C7B;&#x578B;</th>
-<th>&#x662F;&#x5426;&#x5FC5;&#x586B;</th>
-<th>&#x7F3A;&#x7701;&#x503C;</th>
-<th>&#x4F5C;&#x7528;</th>
-<th>&#x63CF;&#x8FF0;</th>
-<th>&#x517C;&#x5BB9;&#x6027;</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>&lt;dubbo:parameter&gt;</td>
-<td>key</td>
-<td>key</td>
-<td>string</td>
-<td>&#x5FC5;&#x586B;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x8DEF;&#x7531;&#x53C2;&#x6570;&#x952E;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:parameter&gt;</td>
-<td>value</td>
-<td>value</td>
-<td>string</td>
-<td>&#x5FC5;&#x586B;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x8DEF;&#x7531;&#x53C2;&#x6570;&#x503C;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-</tbody>
-</table>
-<p>&#x6BD4;&#x5982;&#xFF1A;  </p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;napoli&quot;</span>&gt;</span>
-    <span class="hljs-tag">&lt;<span class="hljs-name">dubbo:parameter</span> <span class="hljs-attr">key</span>=<span class="hljs-string">&quot;http://10.20.160.198/wiki/display/dubbo/napoli.queue.name&quot;</span> <span class="hljs-attr">value</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span>
-<span class="hljs-tag">&lt;/<span class="hljs-name">dubbo:protocol</span>&gt;</span>
-</code></pre>
-<p>&#x4E5F;&#x53EF;&#x4EE5;&#xFF1A;  </p>
-<pre><code class="lang-xml"><span class="hljs-tag">&lt;<span class="hljs-name">dubbo:protocol</span> <span class="hljs-attr">name</span>=<span class="hljs-string">&quot;jms&quot;</span> <span class="hljs-attr">p:queue</span>=<span class="hljs-string">&quot;xxx&quot;</span> /&gt;</span>
-</code></pre>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="dubbo-argument.html" class="navigation navigation-prev " aria-label="Previous page: 6.11 dubbo:argument">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="../reference-protocol/introduction.html" class="navigation navigation-next " aria-label="Next page: 7 协议参考手册">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.12 dubbo:parameter","level":"1.7.12","depth":2,"next":{"title":"7 协议参考手册","level":"1.8","depth":1,"path":"reference-protocol/introduction.md","ref":"reference-protocol/introduction.md","articles":[{"title":"7.1 dubbo://","level":"1.8.1","depth":2,"path":"reference-protocol/dubbo.md","ref":"reference-protocol/dubbo.md","articles":[]},{"title":"7.2 rmi//","level":"1.8.2","depth":2,"path":"reference-protocol/rmi.md","ref":"reference-protocol/rmi.md","articles":[]},{"title":"7.3 hessian://","level":"1.8.3","depth":2,"path":"reference-protocol/hessian.md","ref":"reference-protocol/hessian.md","articles":[]},{"title":"7.4 http://","level":"1.8.4","depth":2,"path":"reference-protocol/http.md","ref":"reference-protocol/http.md","articles":[]},{"title":"7.5 webservice://","level":"1.8.5","depth":2,"path":"reference-protocol/webservice.md","ref":"reference-protocol/webservice.md","articles":[]},{"title":"7.6 thrift://","level":"1.8.6","depth":2,"path":"reference-protocol/thrift.md","ref":"reference-protocol/thrift.md","articles":[]},{"title":"7.7 memcached://","level":"1.8.7","depth":2,"path":"reference-protocol/memcached.md","ref":"reference-protocol/memcached.md","articles":[]},{"title":"7.8 redis://","level":"1.8.8","depth":2,"path":"reference-protocol/redis.md","ref":"reference-protocol/redis.md","articles":[]}]},"previous":{"title":"6.11 dubbo:argument","level":"1.7.11","depth":2,"path":"reference-xmlconf/dubbo-argument.md","ref":"reference-xmlconf/dubbo-argument.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-xmlconf/dubbo-parameter.md","mtime":"2017-08-02T06:13:39.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-xmlconf/dubbo-parameter.md b/user-guide/reference-xmlconf/dubbo-parameter.md
index 5ea3328..d92234c 100644
--- a/user-guide/reference-xmlconf/dubbo-parameter.md
+++ b/user-guide/reference-xmlconf/dubbo-parameter.md
@@ -1,3 +1,48 @@
+<style>
+table {
+  width: 100%;
+  max-width: 65em;
+  border: 1px solid #dedede;
+  margin: 15px auto;
+  border-collapse: collapse;
+  empty-cells: show;
+}
+table th,
+table td {
+  height: 35px;
+  border: 1px solid #dedede;
+  padding: 0 10px;
+}
+table th {
+  font-weight: bold;
+  text-align: center !important;
+  background: rgba(158,188,226,0.2);
+  white-space: nowrap;
+}
+table tbody tr:nth-child(2n) {
+  background: rgba(158,188,226,0.12);
+}
+table td:nth-child(1) {
+  white-space: nowrap;
+}
+table tr:hover {
+  background: #efefef;
+}
+.table-area {
+  overflow: auto;
+}
+</style>
+
+<script type="text/javascript">
+[].slice.call(document.querySelectorAll('table')).forEach(function(el){
+    var wrapper = document.createElement('div');
+    wrapper.className = 'table-area';
+    el.parentNode.insertBefore(wrapper, el);
+    el.parentNode.removeChild(el);
+    wrapper.appendChild(el);
+})
+</script>
+
 选项参数配置:  
 配置类:java.util.Map  
 说明:该标签为|&lt;dubbo:protocol&gt;或|&lt;dubbo:service&gt;或|&lt;dubbo:provider&gt;或|&lt;dubbo:reference&gt;或|&lt;dubbo:consumer&gt;的子标签,用于配置自定义参数,该配置项将作为扩展点设置自定义参数使用。
diff --git a/user-guide/reference-xmlconf/dubbo-protocol.html b/user-guide/reference-xmlconf/dubbo-protocol.html
deleted file mode 100644
index 3391e35..0000000
--- a/user-guide/reference-xmlconf/dubbo-protocol.html
+++ /dev/null
@@ -1,1754 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.3 dubbo:protocol · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="dubbo-registry.html" />
-    
-    
-    <link rel="prev" href="dubbo-reference.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="dubbo-service.html">
-            
-                <a href="dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="dubbo-reference.html">
-            
-                <a href="dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.3" data-path="dubbo-protocol.html">
-            
-                <a href="dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="dubbo-registry.html">
-            
-                <a href="dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="dubbo-monitor.html">
-            
-                <a href="dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="dubbo-application.html">
-            
-                <a href="dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="dubbo-module.html">
-            
-                <a href="dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="dubbo-provider.html">
-            
-                <a href="dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="dubbo-consumer.html">
-            
-                <a href="dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="dubbo-method.html">
-            
-                <a href="dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="dubbo-argument.html">
-            
-                <a href="dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="dubbo-parameter.html">
-            
-                <a href="dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.3 dubbo:protocol</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x534F;&#x8BAE;&#x914D;&#x7F6E;&#xFF1A;<br>&#x914D;&#x7F6E;&#x7C7B;&#xFF1A;com.alibaba.dubbo.config.ProtocolConfig<br>&#x8BF4;&#x660E;&#xFF1A;&#x5982;&#x679C;&#x9700;&#x8981;&#x652F;&#x6301;&#x591A;&#x534F;&#x8BAE;&#xFF0C;&#x53EF;&#x4EE5;&#x58F0;&#x660E;&#x591A;&#x4E2A;|&lt;dubbo:protocol&gt;&#x6807;&#x7B7E;&#xFF0C;&#x5E76;&#x5728;|&lt;dubbo:service&gt;&#x4E2D;&#x901A;&#x8FC7;protocol&#x5C5E;&#x6027;&#x6307;&#x5B9A;&#x4F7F;&#x7528;&#x7684;&#x534F;&#x8BAE;&#x3002;</p>
-<table>
-<thead>
-<tr>
-<th>&#x6807;&#x7B7E;</th>
-<th>&#x5C5E;&#x6027;</th>
-<th>&#x5BF9;&#x5E94;URL&#x53C2;&#x6570;</th>
-<th>&#x7C7B;&#x578B;</th>
-<th>&#x662F;&#x5426;&#x5FC5;&#x586B;</th>
-<th>&#x7F3A;&#x7701;&#x503C;</th>
-<th>&#x4F5C;&#x7528;</th>
-<th>&#x63CF;&#x8FF0;</th>
-<th>&#x517C;&#x5BB9;&#x6027;</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>id</td>
-<td></td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo</td>
-<td>&#x914D;&#x7F6E;&#x5173;&#x8054;</td>
-<td>&#x534F;&#x8BAE;BeanId&#xFF0C;&#x53EF;&#x4EE5;&#x5728;</td>
-<td>&lt;dubbo:service protocol=&quot;&quot;&gt;&#x4E2D;&#x5F15;&#x7528;&#x6B64;ID&#xFF0C;&#x5982;&#x679C;ID&#x4E0D;&#x586B;&#xFF0C;&#x7F3A;&#x7701;&#x548C;name&#x5C5E;&#x6027;&#x503C;&#x4E00;&#x6837;&#xFF0C;&#x91CD;&#x590D;&#x5219;&#x5728;name&#x540E;&#x52A0;&#x5E8F;&#x53F7;&#x3002;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>name</td>
-<td></td>
-<td>&lt;protocol&gt;</td>
-<td>string</td>
-<td>&#x5FC5;&#x586B;</td>
-<td>dubbo</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x534F;&#x8BAE;&#x540D;&#x79F0;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>port</td>
-<td></td>
-<td>&lt;port&gt;</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x7AEF;&#x53E3;&#x4E3A;20880&#xFF0C;rmi&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x7AEF;&#x53E3;&#x4E3A;1099&#xFF0C;http&#x548C;hessian&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x7AEF;&#x53E3;&#x4E3A;80 &#x5982;&#x679C;&#x914D;&#x7F6E;&#x4E3A;-1 &#x6216;&#x8005; &#x6CA1;&#x6709;&#x914D;&#x7F6E;port&#xFF0C;&#x5219;&#x4F1A;&#x5206;&#x914D;&#x4E00;&#x4E2A;&#x6CA1;&#x6709;&#x88AB;&#x5360;&#x7528;&#x7684;&#x7AEF;&#x53E3;&#x3002;Dubbo 2.4.0+&#xFF0C;&#x5206;&#x914D;&#x7684;&#x7AEF;&#x53E3;&#x5728;&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x7AEF;&#x53E3;&#x7684;&#x57FA;&#x7840;&#x4E0A;&#x589E;&#x957F;&#xFF0C;&#x786E;&#x4FDD;&#x7AEF;&#x53E3;&#x6BB5;&#x53EF;&#x63A7;&#x3002;</td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x670D;&#x52A1;&#x7AEF;&#x53E3;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>host</td>
-<td></td>
-<td>&lt;host&gt;</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x81EA;&#x52A8;&#x67E5;&#x627E;&#x672C;&#x673A;IP</td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>-&#x670D;&#x52A1;&#x4E3B;&#x673A;&#x540D;&#xFF0C;&#x591A;&#x7F51;&#x5361;&#x9009;&#x62E9;&#x6216;&#x6307;&#x5B9A;VIP&#x53CA;&#x57DF;&#x540D;&#x65F6;&#x4F7F;&#x7528;&#xFF0C;&#x4E3A;&#x7A7A;&#x5219;&#x81EA;&#x52A8;&#x67E5;&#x627E;&#x672C;&#x673A;IP&#xFF0C;-&#x5EFA;&#x8BAE;&#x4E0D;&#x8981;&#x914D;&#x7F6E;&#xFF0C;&#x8BA9;Dubbo&#x81EA;&#x52A8;&#x83B7;&#x53D6;&#x672C;&#x673A;IP</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>threadpool</td>
-<td>threadpool</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>fixed</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x7EBF;&#x7A0B;&#x6C60;&#x7C7B;&#x578B;&#xFF0C;&#x53EF;&#x9009;&#xFF1A;fixed/cached</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>threads</td>
-<td>threads</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>100</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x7EBF;&#x7A0B;&#x6C60;&#x5927;&#x5C0F;(&#x56FA;&#x5B9A;&#x5927;&#x5C0F;)</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>iothreads</td>
-<td>threads</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>cpu&#x4E2A;&#x6570;+1</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>io&#x7EBF;&#x7A0B;&#x6C60;&#x5927;&#x5C0F;(&#x56FA;&#x5B9A;&#x5927;&#x5C0F;)</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>accepts</td>
-<td>accepts</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x6700;&#x5927;&#x53EF;&#x63A5;&#x53D7;&#x8FDE;&#x63A5;&#x6570;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>payload</td>
-<td>payload</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>88388608(=8M)</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x8BF7;&#x6C42;&#x53CA;&#x54CD;&#x5E94;&#x6570;&#x636E;&#x5305;&#x5927;&#x5C0F;&#x9650;&#x5236;&#xFF0C;&#x5355;&#x4F4D;&#xFF1A;&#x5B57;&#x8282;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>codec</td>
-<td>codec</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x534F;&#x8BAE;&#x7F16;&#x7801;&#x65B9;&#x5F0F;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>serialization</td>
-<td>serialization</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x4E3A;hessian2&#xFF0C;rmi&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x4E3A;java&#xFF0C;http&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x4E3A;json</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x534F;&#x8BAE;&#x5E8F;&#x5217;&#x5316;&#x65B9;&#x5F0F;&#xFF0C;&#x5F53;&#x534F;&#x8BAE;&#x652F;&#x6301;&#x591A;&#x79CD;&#x5E8F;&#x5217;&#x5316;&#x65B9;&#x5F0F;&#x65F6;&#x4F7F;&#x7528;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;dubbo&#x534F;&#x8BAE;&#x7684;dubbo,hessian2,java,compactedjava&#xFF0C;&#x4EE5;&#x53CA;http&#x534F;&#x8BAE;&#x7684;json&#x7B49;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>accesslog</td>
-<td>accesslog</td>
-<td>string/boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x8BBE;&#x4E3A;true&#xFF0C;&#x5C06;&#x5411;logger&#x4E2D;&#x8F93;&#x51FA;&#x8BBF;&#x95EE;&#x65E5;&#x5FD7;&#xFF0C;&#x4E5F;&#x53EF;&#x586B;&#x5199;&#x8BBF;&#x95EE;&#x65E5;&#x5FD7;&#x6587;&#x4EF6;&#x8DEF;&#x5F84;&#xFF0C;&#x76F4;&#x63A5;&#x628A;&#x8BBF;&#x95EE;&#x65E5;&#x5FD7;&#x8F93;&#x51FA;&#x5230;&#x6307;&#x5B9A;&#x6587;&#x4EF6;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>path</td>
-<td></td>
-<td>&lt;path&gt;</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x63D0;&#x4F9B;&#x8005;&#x4E0A;&#x4E0B;&#x6587;&#x8DEF;&#x5F84;&#xFF0C;&#x4E3A;&#x670D;&#x52A1;path&#x7684;&#x524D;&#x7F00;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>transporter</td>
-<td>transporter</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x4E3A;netty</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x534F;&#x8BAE;&#x7684;&#x670D;&#x52A1;&#x7AEF;&#x548C;&#x5BA2;&#x6237;&#x7AEF;&#x5B9E;&#x73B0;&#x7C7B;&#x578B;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;dubbo&#x534F;&#x8BAE;&#x7684;mina,netty&#x7B49;&#xFF0C;&#x53EF;&#x4EE5;&#x5206;&#x62C6;&#x4E3A;server&#x548C;client&#x914D;&#x7F6E;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>server</td>
-<td>server</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x4E3A;netty&#xFF0C;http&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x4E3A;servlet</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x534F;&#x8BAE;&#x7684;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x5B9E;&#x73B0;&#x7C7B;&#x578B;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;dubbo&#x534F;&#x8BAE;&#x7684;mina,netty&#x7B49;&#xFF0C;http&#x534F;&#x8BAE;&#x7684;jetty,servlet&#x7B49;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>client</td>
-<td>client</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x4E3A;netty</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x534F;&#x8BAE;&#x7684;&#x5BA2;&#x6237;&#x7AEF;&#x5B9E;&#x73B0;&#x7C7B;&#x578B;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;dubbo&#x534F;&#x8BAE;&#x7684;mina,netty&#x7B49;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>dispatcher</td>
-<td>dispatcher</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x4E3A;all</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x534F;&#x8BAE;&#x7684;&#x6D88;&#x606F;&#x6D3E;&#x53D1;&#x65B9;&#x5F0F;&#xFF0C;&#x7528;&#x4E8E;&#x6307;&#x5B9A;&#x7EBF;&#x7A0B;&#x6A21;&#x578B;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;dubbo&#x534F;&#x8BAE;&#x7684;all, direct, message, execution, connection&#x7B49;</td>
-<td>2.1.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>queues</td>
-<td>queues</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x7EBF;&#x7A0B;&#x6C60;&#x961F;&#x5217;&#x5927;&#x5C0F;&#xFF0C;&#x5F53;&#x7EBF;&#x7A0B;&#x6C60;&#x6EE1;&#x65F6;&#xFF0C;&#x6392;&#x961F;&#x7B49;&#x5F85;&#x6267;&#x884C;&#x7684;&#x961F;&#x5217;&#x5927;&#x5C0F;&#xFF0C;&#x5EFA;&#x8BAE;&#x4E0D;&#x8981;&#x8BBE;&#x7F6E;&#xFF0C;&#x5F53;&#x7EBF;&#x7A0B;&#x7A0B;&#x6C60;&#x65F6;&#x5E94;&#x7ACB;&#x5373;&#x5931;&#x8D25;&#xFF0C;&#x91CD;&#x8BD5;&#x5176;&#x5B83;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x673A;&#x5668;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x6392;&#x961F;&#xFF0C;&#x9664;&#x975E;&#x6709;&#x7279;&#x6B8A;&#x9700;&#x6C42;&#x3002;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>charset</td>
-<td>charset</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>UTF-8</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x5E8F;&#x5217;&#x5316;&#x7F16;&#x7801;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>buffer</td>
-<td>buffer</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>8192</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x7F51;&#x7EDC;&#x8BFB;&#x5199;&#x7F13;&#x51B2;&#x533A;&#x5927;&#x5C0F;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>heartbeat</td>
-<td>heartbeat</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x5FC3;&#x8DF3;&#x95F4;&#x9694;&#xFF0C;&#x5BF9;&#x4E8E;&#x957F;&#x8FDE;&#x63A5;&#xFF0C;&#x5F53;&#x7269;&#x7406;&#x5C42;&#x65AD;&#x5F00;&#x65F6;&#xFF0C;&#x6BD4;&#x5982;&#x62D4;&#x7F51;&#x7EBF;&#xFF0C;TCP&#x7684;FIN&#x6D88;&#x606F;&#x6765;&#x4E0D;&#x53CA;&#x53D1;&#x9001;&#xFF0C;&#x5BF9;&#x65B9;&#x6536;&#x4E0D;&#x5230;&#x65AD;&#x5F00;&#x4E8B;&#x4EF6;&#xFF0C;&#x6B64;&#x65F6;&#x9700;&#x8981;&#x5FC3;&#x8DF3;&#x6765;&#x5E2E;&#x52A9;&#x68C0;&#x67E5;&#x8FDE;&#x63A5;&#x662F;&#x5426;&#x5DF2;&#x65AD;&#x5F00;</td>
-<td>2.0.10&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>telnet</td>
-<td>telnet</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x6240;&#x652F;&#x6301;&#x7684;telnet&#x547D;&#x4EE4;&#xFF0C;&#x591A;&#x4E2A;&#x547D;&#x4EE4;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>register</td>
-<td>register</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>true</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x8BE5;&#x534F;&#x8BAE;&#x7684;&#x670D;&#x52A1;&#x662F;&#x5426;&#x6CE8;&#x518C;&#x5230;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;</td>
-<td>2.0.8&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:protocol&gt;</td>
-<td>contextpath</td>
-<td>contextpath</td>
-<td>String</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x4E3A;&#x7A7A;&#x4E32;</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td></td>
-<td>2.0.6&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-</tbody>
-</table>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="dubbo-reference.html" class="navigation navigation-prev " aria-label="Previous page: 6.2 dubbo:reference">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="dubbo-registry.html" class="navigation navigation-next " aria-label="Next page: 6.4 dubbo:registry">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.3 dubbo:protocol","level":"1.7.3","depth":2,"next":{"title":"6.4 dubbo:registry","level":"1.7.4","depth":2,"path":"reference-xmlconf/dubbo-registry.md","ref":"reference-xmlconf/dubbo-registry.md","articles":[]},"previous":{"title":"6.2 dubbo:reference","level":"1.7.2","depth":2,"path":"reference-xmlconf/dubbo-reference.md","ref":"reference-xmlconf/dubbo-reference.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-xmlconf/dubbo-protocol.md","mtime":"2017-08-02T06:13:39.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-xmlconf/dubbo-protocol.md b/user-guide/reference-xmlconf/dubbo-protocol.md
index 8cacdbd..0bb2e17 100644
--- a/user-guide/reference-xmlconf/dubbo-protocol.md
+++ b/user-guide/reference-xmlconf/dubbo-protocol.md
@@ -1,3 +1,48 @@
+<style>
+table {
+  width: 100%;
+  max-width: 65em;
+  border: 1px solid #dedede;
+  margin: 15px auto;
+  border-collapse: collapse;
+  empty-cells: show;
+}
+table th,
+table td {
+  height: 35px;
+  border: 1px solid #dedede;
+  padding: 0 10px;
+}
+table th {
+  font-weight: bold;
+  text-align: center !important;
+  background: rgba(158,188,226,0.2);
+  white-space: nowrap;
+}
+table tbody tr:nth-child(2n) {
+  background: rgba(158,188,226,0.12);
+}
+table td:nth-child(1) {
+  white-space: nowrap;
+}
+table tr:hover {
+  background: #efefef;
+}
+.table-area {
+  overflow: auto;
+}
+</style>
+
+<script type="text/javascript">
+[].slice.call(document.querySelectorAll('table')).forEach(function(el){
+    var wrapper = document.createElement('div');
+    wrapper.className = 'table-area';
+    el.parentNode.insertBefore(wrapper, el);
+    el.parentNode.removeChild(el);
+    wrapper.appendChild(el);
+})
+</script>
+
 服务提供者协议配置:  
 配置类:com.alibaba.dubbo.config.ProtocolConfig  
 说明:如果需要支持多协议,可以声明多个|&lt;dubbo:protocol&gt;标签,并在|&lt;dubbo:service&gt;中通过protocol属性指定使用的协议。
diff --git a/user-guide/reference-xmlconf/dubbo-provider.html b/user-guide/reference-xmlconf/dubbo-provider.html
deleted file mode 100644
index 167c2a1..0000000
--- a/user-guide/reference-xmlconf/dubbo-provider.html
+++ /dev/null
@@ -1,1974 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.8 dubbo:provider · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="dubbo-consumer.html" />
-    
-    
-    <link rel="prev" href="dubbo-module.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="dubbo-service.html">
-            
-                <a href="dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="dubbo-reference.html">
-            
-                <a href="dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="dubbo-protocol.html">
-            
-                <a href="dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="dubbo-registry.html">
-            
-                <a href="dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="dubbo-monitor.html">
-            
-                <a href="dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="dubbo-application.html">
-            
-                <a href="dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="dubbo-module.html">
-            
-                <a href="dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.8" data-path="dubbo-provider.html">
-            
-                <a href="dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="dubbo-consumer.html">
-            
-                <a href="dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="dubbo-method.html">
-            
-                <a href="dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="dubbo-argument.html">
-            
-                <a href="dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="dubbo-parameter.html">
-            
-                <a href="dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.8 dubbo:provider</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x7F3A;&#x7701;&#x503C;&#x914D;&#x7F6E;&#xFF1A;<br>&#x914D;&#x7F6E;&#x7C7B;&#xFF1A;com.alibaba.dubbo.config.ProviderConfig<br>&#x8BF4;&#x660E;&#xFF1A;&#x8BE5;&#x6807;&#x7B7E;&#x4E3A;|&lt;dubbo:service&gt;&#x548C;|&lt;dubbo:protocol&gt;&#x6807;&#x7B7E;&#x7684;&#x7F3A;&#x7701;&#x503C;&#x8BBE;&#x7F6E;&#x3002;</p>
-<table>
-<thead>
-<tr>
-<th>&#x6807;&#x7B7E;</th>
-<th>&#x5C5E;&#x6027;</th>
-<th>&#x5BF9;&#x5E94;URL&#x53C2;&#x6570;</th>
-<th>&#x7C7B;&#x578B;</th>
-<th>&#x662F;&#x5426;&#x5FC5;&#x586B;</th>
-<th>&#x7F3A;&#x7701;&#x503C;</th>
-<th>&#x4F5C;&#x7528;</th>
-<th>&#x63CF;&#x8FF0;</th>
-<th>&#x517C;&#x5BB9;&#x6027;</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>id</td>
-<td></td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo</td>
-<td>&#x914D;&#x7F6E;&#x5173;&#x8054;</td>
-<td>&#x534F;&#x8BAE;BeanId&#xFF0C;&#x53EF;&#x4EE5;&#x5728;</td>
-<td>&lt;dubbo:service proivder=&quot;&quot;&gt;&#x4E2D;&#x5F15;&#x7528;&#x6B64;ID</td>
-<td>1.0.16&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>protocol</td>
-<td></td>
-<td>&lt;protocol&gt;</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x534F;&#x8BAE;&#x540D;&#x79F0;</td>
-<td>1.0.16&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>host</td>
-<td></td>
-<td>&lt;host&gt;</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x81EA;&#x52A8;&#x67E5;&#x627E;&#x672C;&#x673A;IP</td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x670D;&#x52A1;&#x4E3B;&#x673A;&#x540D;&#xFF0C;&#x591A;&#x7F51;&#x5361;&#x9009;&#x62E9;&#x6216;&#x6307;&#x5B9A;VIP&#x53CA;&#x57DF;&#x540D;&#x65F6;&#x4F7F;&#x7528;&#xFF0C;&#x4E3A;&#x7A7A;&#x5219;&#x81EA;&#x52A8;&#x67E5;&#x627E;&#x672C;&#x673A;IP&#xFF0C;&#x5EFA;&#x8BAE;&#x4E0D;&#x8981;&#x914D;&#x7F6E;&#xFF0C;&#x8BA9;Dubbo&#x81EA;&#x52A8;&#x83B7;&#x53D6;&#x672C;&#x673A;IP</td>
-<td>1.0.16&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>threads</td>
-<td>threads</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>100</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x7EBF;&#x7A0B;&#x6C60;&#x5927;&#x5C0F;(&#x56FA;&#x5B9A;&#x5927;&#x5C0F;)</td>
-<td>1.0.16&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>payload</td>
-<td>payload</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>88388608(=8M)</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x8BF7;&#x6C42;&#x53CA;&#x54CD;&#x5E94;&#x6570;&#x636E;&#x5305;&#x5927;&#x5C0F;&#x9650;&#x5236;&#xFF0C;&#x5355;&#x4F4D;&#xFF1A;&#x5B57;&#x8282;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>path</td>
-<td></td>
-<td>&lt;path&gt;</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x63D0;&#x4F9B;&#x8005;&#x4E0A;&#x4E0B;&#x6587;&#x8DEF;&#x5F84;&#xFF0C;&#x4E3A;&#x670D;&#x52A1;path&#x7684;&#x524D;&#x7F00;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>server</td>
-<td>server</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x4E3A;netty&#xFF0C;http&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x4E3A;servlet</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x534F;&#x8BAE;&#x7684;&#x670D;&#x52A1;&#x5668;&#x7AEF;&#x5B9E;&#x73B0;&#x7C7B;&#x578B;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;dubbo&#x534F;&#x8BAE;&#x7684;mina,netty&#x7B49;&#xFF0C;http&#x534F;&#x8BAE;&#x7684;jetty,servlet&#x7B49;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>client</td>
-<td>client</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x4E3A;netty</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x534F;&#x8BAE;&#x7684;&#x5BA2;&#x6237;&#x7AEF;&#x5B9E;&#x73B0;&#x7C7B;&#x578B;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;dubbo&#x534F;&#x8BAE;&#x7684;mina,netty&#x7B49;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>codec</td>
-<td>codec</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x534F;&#x8BAE;&#x7F16;&#x7801;&#x65B9;&#x5F0F;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>serialization</td>
-<td>serialization</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x4E3A;hessian2&#xFF0C;rmi&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x4E3A;java&#xFF0C;http&#x534F;&#x8BAE;&#x7F3A;&#x7701;&#x4E3A;json</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x534F;&#x8BAE;&#x5E8F;&#x5217;&#x5316;&#x65B9;&#x5F0F;&#xFF0C;&#x5F53;&#x534F;&#x8BAE;&#x652F;&#x6301;&#x591A;&#x79CD;&#x5E8F;&#x5217;&#x5316;&#x65B9;&#x5F0F;&#x65F6;&#x4F7F;&#x7528;&#xFF0C;&#x6BD4;&#x5982;&#xFF1A;dubbo&#x534F;&#x8BAE;&#x7684;dubbo,hessian2,java,compactedjava&#xFF0C;&#x4EE5;&#x53CA;http&#x534F;&#x8BAE;&#x7684;json,xml&#x7B49;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>default</td>
-<td></td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x914D;&#x7F6E;&#x5173;&#x8054;</td>
-<td>&#x662F;&#x5426;&#x4E3A;&#x7F3A;&#x7701;&#x534F;&#x8BAE;&#xFF0C;&#x7528;&#x4E8E;&#x591A;&#x534F;&#x8BAE;</td>
-<td>1.0.16&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>filter</td>
-<td>service.filter</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x8FC7;&#x7A0B;&#x62E6;&#x622A;&#x5668;&#x540D;&#x79F0;&#xFF0C;&#x591A;&#x4E2A;&#x540D;&#x79F0;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>listener</td>
-<td>exporter.listener</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x5BFC;&#x51FA;&#x670D;&#x52A1;&#x76D1;&#x542C;&#x5668;&#x540D;&#x79F0;&#xFF0C;&#x591A;&#x4E2A;&#x540D;&#x79F0;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>threadpool</td>
-<td>threadpool</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>fixed</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x7EBF;&#x7A0B;&#x6C60;&#x7C7B;&#x578B;&#xFF0C;&#x53EF;&#x9009;&#xFF1A;fixed/cached</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>accepts</td>
-<td>accepts</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x6700;&#x5927;&#x53EF;&#x63A5;&#x53D7;&#x8FDE;&#x63A5;&#x6570;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>version</td>
-<td>version</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0.0.0</td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x670D;&#x52A1;&#x7248;&#x672C;&#xFF0C;&#x5EFA;&#x8BAE;&#x4F7F;&#x7528;&#x4E24;&#x4F4D;&#x6570;&#x5B57;&#x7248;&#x672C;&#xFF0C;&#x5982;&#xFF1A;1.0&#xFF0C;&#x901A;&#x5E38;&#x5728;&#x63A5;&#x53E3;&#x4E0D;&#x517C;&#x5BB9;&#x65F6;&#x7248;&#x672C;&#x53F7;&#x624D;&#x9700;&#x8981;&#x5347;&#x7EA7;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>group</td>
-<td>group</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x670D;&#x52A1;&#x5206;&#x7EC4;&#xFF0C;&#x5F53;&#x4E00;&#x4E2A;&#x63A5;&#x53E3;&#x6709;&#x591A;&#x4E2A;&#x5B9E;&#x73B0;&#xFF0C;&#x53EF;&#x4EE5;&#x7528;&#x5206;&#x7EC4;&#x533A;&#x5206;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>delay</td>
-<td>delay</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x5EF6;&#x8FDF;&#x6CE8;&#x518C;&#x670D;&#x52A1;&#x65F6;&#x95F4;(&#x6BEB;&#x79D2;)- &#xFF0C;&#x8BBE;&#x4E3A;-1&#x65F6;&#xFF0C;&#x8868;&#x793A;&#x5EF6;&#x8FDF;&#x5230;Spring&#x5BB9;&#x5668;&#x521D;&#x59CB;&#x5316;&#x5B8C;&#x6210;&#x65F6;&#x66B4;&#x9732;&#x670D;&#x52A1;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>timeout</td>
-<td>default.timeout</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>1000</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x8C03;&#x7528;&#x8D85;&#x65F6;&#x65F6;&#x95F4;(&#x6BEB;&#x79D2;)</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>retries</td>
-<td>default.retries</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>2</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x8C03;&#x7528;&#x91CD;&#x8BD5;&#x6B21;&#x6570;&#xFF0C;&#x4E0D;&#x5305;&#x62EC;&#x7B2C;&#x4E00;&#x6B21;&#x8C03;&#x7528;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x91CD;&#x8BD5;&#x8BF7;&#x8BBE;&#x4E3A;0</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>connections</td>
-<td>default.connections</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x5BF9;&#x6BCF;&#x4E2A;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x6700;&#x5927;&#x8FDE;&#x63A5;&#x6570;&#xFF0C;rmi&#x3001;http&#x3001;hessian&#x7B49;&#x77ED;&#x8FDE;&#x63A5;&#x534F;&#x8BAE;&#x8868;&#x793A;&#x9650;&#x5236;&#x8FDE;&#x63A5;&#x6570;&#xFF0C;dubbo&#x7B49;&#x957F;&#x8FDE;&#x63A5;&#x534F;&#x8868;&#x793A;&#x5EFA;&#x7ACB;&#x7684;&#x957F;&#x8FDE;&#x63A5;&#x4E2A;&#x6570;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>loadbalance</td>
-<td>default.loadbalance</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>random</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x7B56;&#x7565;&#xFF0C;&#x53EF;&#x9009;&#x503C;&#xFF1A;random,roundrobin,leastactive&#xFF0C;&#x5206;&#x522B;&#x8868;&#x793A;&#xFF1A;&#x968F;&#x673A;&#xFF0C;&#x8F6E;&#x5FAA;&#xFF0C;&#x6700;&#x5C11;&#x6D3B;&#x8DC3;&#x8C03;&#x7528;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>async</td>
-<td>default.async</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x662F;&#x5426;&#x7F3A;&#x7701;&#x5F02;&#x6B65;&#x6267;&#x884C;&#xFF0C;&#x4E0D;&#x53EF;&#x9760;&#x5F02;&#x6B65;&#xFF0C;&#x53EA;&#x662F;&#x5FFD;&#x7565;&#x8FD4;&#x56DE;&#x503C;&#xFF0C;&#x4E0D;&#x963B;&#x585E;&#x6267;&#x884C;&#x7EBF;&#x7A0B;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>stub</td>
-<td>stub</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x8BBE;&#x4E3A;true&#xFF0C;&#x8868;&#x793A;&#x4F7F;&#x7528;&#x7F3A;&#x7701;&#x4EE3;&#x7406;&#x7C7B;&#x540D;&#xFF0C;&#x5373;&#xFF1A;&#x63A5;&#x53E3;&#x540D; + Local&#x540E;&#x7F00;&#x3002;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>mock</td>
-<td>mock</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x8BBE;&#x4E3A;true&#xFF0C;&#x8868;&#x793A;&#x4F7F;&#x7528;&#x7F3A;&#x7701;Mock&#x7C7B;&#x540D;&#xFF0C;&#x5373;&#xFF1A;&#x63A5;&#x53E3;&#x540D; + Mock&#x540E;&#x7F00;&#x3002;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>token</td>
-<td>token</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x4EE4;&#x724C;&#x9A8C;&#x8BC1;&#xFF0C;&#x4E3A;&#x7A7A;&#x8868;&#x793A;&#x4E0D;&#x5F00;&#x542F;&#xFF0C;&#x5982;&#x679C;&#x4E3A;true&#xFF0C;&#x8868;&#x793A;&#x968F;&#x673A;&#x751F;&#x6210;&#x52A8;&#x6001;&#x4EE4;&#x724C;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>registry</td>
-<td>registry</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x5411;&#x6240;&#x6709;registry&#x6CE8;&#x518C;</td>
-<td>&#x914D;&#x7F6E;&#x5173;&#x8054;</td>
-<td>&#x5411;&#x6307;&#x5B9A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6CE8;&#x518C;&#xFF0C;&#x5728;&#x591A;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x65F6;&#x4F7F;&#x7528;&#xFF0C;&#x503C;&#x4E3A;</td>
-<td>&lt;dubbo:registry&gt;&#x7684;id&#x5C5E;&#x6027;&#xFF0C;&#x591A;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;ID&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;&#xFF0C;&#x5982;&#x679C;&#x4E0D;&#x60F3;&#x5C06;&#x8BE5;&#x670D;&#x52A1;&#x6CE8;&#x518C;&#x5230;&#x4EFB;&#x4F55;registry&#xFF0C;&#x53EF;&#x5C06;&#x503C;&#x8BBE;&#x4E3A;N/A</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>dynamic</td>
-<td>dynamic</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>true</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x662F;&#x5426;&#x52A8;&#x6001;&#x6CE8;&#x518C;&#xFF0C;&#x5982;&#x679C;&#x8BBE;&#x4E3A;false&#xFF0C;&#x6CE8;&#x518C;&#x540E;&#x5C06;&#x663E;&#x793A;&#x540E;disable&#x72B6;&#x6001;&#xFF0C;&#x9700;&#x4EBA;&#x5DE5;&#x542F;&#x7528;&#xFF0C;&#x5E76;&#x4E14;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x505C;&#x6B62;&#x65F6;&#xFF0C;&#x4E5F;&#x4E0D;&#x4F1A;&#x81EA;&#x52A8;&#x53D6;&#x6D88;&#x518C;&#xFF0C;&#x9700;&#x4EBA;&#x5DE5;&#x7981;&#x7528;&#x3002;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>accesslog</td>
-<td>accesslog</td>
-<td>string/boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x8BBE;&#x4E3A;true&#xFF0C;&#x5C06;&#x5411;logger&#x4E2D;&#x8F93;&#x51FA;&#x8BBF;&#x95EE;&#x65E5;&#x5FD7;&#xFF0C;&#x4E5F;&#x53EF;&#x586B;&#x5199;&#x8BBF;&#x95EE;&#x65E5;&#x5FD7;&#x6587;&#x4EF6;&#x8DEF;&#x5F84;&#xFF0C;&#x76F4;&#x63A5;&#x628A;&#x8BBF;&#x95EE;&#x65E5;&#x5FD7;&#x8F93;&#x51FA;&#x5230;&#x6307;&#x5B9A;&#x6587;&#x4EF6;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>owner</td>
-<td>owner</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x8D1F;&#x8D23;&#x4EBA;&#xFF0C;&#x7528;&#x4E8E;&#x670D;&#x52A1;&#x6CBB;&#x7406;&#xFF0C;&#x8BF7;&#x586B;&#x5199;&#x8D1F;&#x8D23;&#x4EBA;&#x516C;&#x53F8;&#x90AE;&#x7BB1;&#x524D;&#x7F00;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>document</td>
-<td>document</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x6587;&#x6863;URL</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>weight</td>
-<td>weight</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x6743;&#x91CD;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>executes</td>
-<td>executes</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x6BCF;&#x670D;&#x52A1;&#x6BCF;&#x65B9;&#x6CD5;&#x6700;&#x5927;&#x53EF;&#x5E76;&#x884C;&#x6267;&#x884C;&#x8BF7;&#x6C42;&#x6570;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>actives</td>
-<td>default.actives</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x6BCF;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x6BCF;&#x670D;&#x52A1;&#x6BCF;&#x65B9;&#x6CD5;&#x6700;&#x5927;&#x5E76;&#x53D1;&#x8C03;&#x7528;&#x6570;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>proxy</td>
-<td>proxy</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>javassist</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x751F;&#x6210;&#x52A8;&#x6001;&#x4EE3;&#x7406;&#x65B9;&#x5F0F;&#xFF0C;&#x53EF;&#x9009;&#xFF1A;jdk/javassist</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>cluster</td>
-<td>default.cluster</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>failover</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x96C6;&#x7FA4;&#x65B9;&#x5F0F;&#xFF0C;&#x53EF;&#x9009;&#xFF1A;failover/failfast/failsafe/failback/forking</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>deprecated</td>
-<td>deprecated</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x662F;&#x5426;&#x8FC7;&#x65F6;&#xFF0C;&#x5982;&#x679C;&#x8BBE;&#x4E3A;true&#xFF0C;&#x6D88;&#x8D39;&#x65B9;&#x5F15;&#x7528;&#x65F6;&#x5C06;&#x6253;&#x5370;&#x670D;&#x52A1;&#x8FC7;&#x65F6;&#x8B66;&#x544A;error&#x65E5;&#x5FD7;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>queues</td>
-<td>queues</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x7EBF;&#x7A0B;&#x6C60;&#x961F;&#x5217;&#x5927;&#x5C0F;&#xFF0C;&#x5F53;&#x7EBF;&#x7A0B;&#x6C60;&#x6EE1;&#x65F6;&#xFF0C;&#x6392;&#x961F;&#x7B49;&#x5F85;&#x6267;&#x884C;&#x7684;&#x961F;&#x5217;&#x5927;&#x5C0F;&#xFF0C;&#x5EFA;&#x8BAE;&#x4E0D;&#x8981;&#x8BBE;&#x7F6E;&#xFF0C;&#x5F53;&#x7EBF;&#x7A0B;&#x7A0B;&#x6C60;&#x65F6;&#x5E94;&#x7ACB;&#x5373;&#x5931;&#x8D25;&#xFF0C;&#x91CD;&#x8BD5;&#x5176;&#x5B83;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x673A;&#x5668;&#xFF0C;&#x800C;&#x4E0D;&#x662F;&#x6392;&#x961F;&#xFF0C;&#x9664;&#x975E;&#x6709;&#x7279;&#x6B8A;&#x9700;&#x6C42;&#x3002;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>charset</td>
-<td>charset</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>UTF-8</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x5E8F;&#x5217;&#x5316;&#x7F16;&#x7801;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>buffer</td>
-<td>buffer</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>8192</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x7F51;&#x7EDC;&#x8BFB;&#x5199;&#x7F13;&#x51B2;&#x533A;&#x5927;&#x5C0F;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>iothreads</td>
-<td>iothreads</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>CPU + 1</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>IO&#x7EBF;&#x7A0B;&#x6C60;&#xFF0C;&#x63A5;&#x6536;&#x7F51;&#x7EDC;&#x8BFB;&#x5199;&#x4E2D;&#x65AD;&#xFF0C;&#x4EE5;&#x53CA;&#x5E8F;&#x5217;&#x5316;&#x548C;&#x53CD;&#x5E8F;&#x5217;&#x5316;&#xFF0C;&#x4E0D;&#x5904;&#x7406;&#x4E1A;&#x52A1;&#xFF0C;&#x4E1A;&#x52A1;&#x7EBF;&#x7A0B;&#x6C60;&#x53C2;&#x89C1;threads&#x914D;&#x7F6E;&#xFF0C;&#x6B64;&#x7EBF;&#x7A0B;&#x6C60;&#x548C;CPU&#x76F8;&#x5173;&#xFF0C;&#x4E0D;&#x5EFA;&#x8BAE;&#x914D;&#x7F6E;&#x3002;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>telnet</td>
-<td>telnet</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x6240;&#x652F;&#x6301;&#x7684;telnet&#x547D;&#x4EE4;&#xFF0C;&#x591A;&#x4E2A;&#x547D;&#x4EE4;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>contextpath</td>
-<td>contextpath</td>
-<td>String</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x4E3A;&#x7A7A;&#x4E32;</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td></td>
-<td>2.0.6&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:provider&gt;</td>
-<td>layer</td>
-<td>layer</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x6240;&#x5728;&#x7684;&#x5206;&#x5C42;&#x3002;&#x5982;&#xFF1A;biz&#x3001;dao&#x3001;intl:web&#x3001;china:acton&#x3002;</td>
-<td>2.0.7&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-</tbody>
-</table>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="dubbo-module.html" class="navigation navigation-prev " aria-label="Previous page: 6.7 dubbo:module">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="dubbo-consumer.html" class="navigation navigation-next " aria-label="Next page: 6.9 dubbo:consumer">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.8 dubbo:provider","level":"1.7.8","depth":2,"next":{"title":"6.9 dubbo:consumer","level":"1.7.9","depth":2,"path":"reference-xmlconf/dubbo-consumer.md","ref":"reference-xmlconf/dubbo-consumer.md","articles":[]},"previous":{"title":"6.7 dubbo:module","level":"1.7.7","depth":2,"path":"reference-xmlconf/dubbo-module.md","ref":"reference-xmlconf/dubbo-module.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-xmlconf/dubbo-provider.md","mtime":"2017-08-02T06:13:39.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-xmlconf/dubbo-provider.md b/user-guide/reference-xmlconf/dubbo-provider.md
index f21134a..ec92424 100644
--- a/user-guide/reference-xmlconf/dubbo-provider.md
+++ b/user-guide/reference-xmlconf/dubbo-provider.md
@@ -1,3 +1,48 @@
+<style>
+table {
+  width: 100%;
+  max-width: 65em;
+  border: 1px solid #dedede;
+  margin: 15px auto;
+  border-collapse: collapse;
+  empty-cells: show;
+}
+table th,
+table td {
+  height: 35px;
+  border: 1px solid #dedede;
+  padding: 0 10px;
+}
+table th {
+  font-weight: bold;
+  text-align: center !important;
+  background: rgba(158,188,226,0.2);
+  white-space: nowrap;
+}
+table tbody tr:nth-child(2n) {
+  background: rgba(158,188,226,0.12);
+}
+table td:nth-child(1) {
+  white-space: nowrap;
+}
+table tr:hover {
+  background: #efefef;
+}
+.table-area {
+  overflow: auto;
+}
+</style>
+
+<script type="text/javascript">
+[].slice.call(document.querySelectorAll('table')).forEach(function(el){
+    var wrapper = document.createElement('div');
+    wrapper.className = 'table-area';
+    el.parentNode.insertBefore(wrapper, el);
+    el.parentNode.removeChild(el);
+    wrapper.appendChild(el);
+})
+</script>
+
 服务提供者缺省值配置:  
 配置类:com.alibaba.dubbo.config.ProviderConfig  
 说明:该标签为|&lt;dubbo:service&gt;和|&lt;dubbo:protocol&gt;标签的缺省值设置。
diff --git a/user-guide/reference-xmlconf/dubbo-reference.html b/user-guide/reference-xmlconf/dubbo-reference.html
deleted file mode 100644
index 7604d20..0000000
--- a/user-guide/reference-xmlconf/dubbo-reference.html
+++ /dev/null
@@ -1,1787 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.2 dubbo:reference · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="dubbo-protocol.html" />
-    
-    
-    <link rel="prev" href="dubbo-service.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="dubbo-service.html">
-            
-                <a href="dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.2" data-path="dubbo-reference.html">
-            
-                <a href="dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="dubbo-protocol.html">
-            
-                <a href="dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="dubbo-registry.html">
-            
-                <a href="dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="dubbo-monitor.html">
-            
-                <a href="dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="dubbo-application.html">
-            
-                <a href="dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="dubbo-module.html">
-            
-                <a href="dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="dubbo-provider.html">
-            
-                <a href="dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="dubbo-consumer.html">
-            
-                <a href="dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="dubbo-method.html">
-            
-                <a href="dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="dubbo-argument.html">
-            
-                <a href="dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="dubbo-parameter.html">
-            
-                <a href="dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.2 dubbo:reference</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x5F15;&#x7528;&#x670D;&#x52A1;&#x914D;&#x7F6E;&#xFF1A;<br>&#x914D;&#x7F6E;&#x7C7B;&#xFF1A;com.alibaba.dubbo.config.ReferenceConfig</p>
-<table>
-<thead>
-<tr>
-<th>&#x7B7E;</th>
-<th>&#x5C5E;&#x6027;</th>
-<th>&#x5BF9;&#x5E94;URL&#x53C2;&#x6570;</th>
-<th>&#x7C7B;&#x578B;</th>
-<th>&#x662F;&#x5426;&#x5FC5;&#x586B;</th>
-<th>&#x7F3A;&#x7701;&#x503C;</th>
-<th>&#x4F5C;&#x7528;</th>
-<th>&#x63CF;&#x8FF0;</th>
-<th>&#x517C;&#x5BB9;&#x6027;</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>id</td>
-<td></td>
-<td>string</td>
-<td>&#x5FC5;&#x586B;</td>
-<td></td>
-<td>&#x914D;&#x7F6E;&#x5173;&#x8054;</td>
-<td>&#x670D;&#x52A1;&#x5F15;&#x7528;BeanId</td>
-<td>1.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>interface</td>
-<td></td>
-<td>class</td>
-<td>&#x5FC5;&#x586B;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x540D;</td>
-<td>1.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>version</td>
-<td>version</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x670D;&#x52A1;&#x7248;&#x672C;&#xFF0C;&#x4E0E;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x7248;&#x672C;&#x4E00;&#x81F4;</td>
-<td>1.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>group</td>
-<td>group</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x670D;&#x52A1;&#x5206;&#x7EC4;&#xFF0C;&#x5F53;&#x4E00;&#x4E2A;&#x63A5;&#x53E3;&#x6709;&#x591A;&#x4E2A;&#x5B9E;&#x73B0;&#xFF0C;&#x53EF;&#x4EE5;&#x7528;&#x5206;&#x7EC4;&#x533A;&#x5206;&#xFF0C;&#x5FC5;&#x9700;&#x548C;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x4E00;&#x81F4;</td>
-<td>1.0.7&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>timeout</td>
-<td>timeout</td>
-<td>long</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x4F7F;&#x7528; &lt;dubbo:consumer&gt;&#x7684;timeout</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x65B9;&#x6CD5;&#x8C03;&#x7528;&#x8D85;&#x65F6;&#x65F6;&#x95F4;(&#x6BEB;&#x79D2;)</td>
-<td>1.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>retries</td>
-<td>retries</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x4F7F;&#x7528; &lt;dubbo:consumer&gt;&#x7684;retries</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x8C03;&#x7528;&#x91CD;&#x8BD5;&#x6B21;&#x6570;&#xFF0C;&#x4E0D;&#x5305;&#x62EC;&#x7B2C;&#x4E00;&#x6B21;&#x8C03;&#x7528;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x91CD;&#x8BD5;&#x8BF7;&#x8BBE;&#x4E3A;0</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>connections</td>
-<td>connections</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x4F7F;&#x7528; &lt;dubbo:consumer&gt;&#x7684;connections</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x5BF9;&#x6BCF;&#x4E2A;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x6700;&#x5927;&#x8FDE;&#x63A5;&#x6570;&#xFF0C;rmi&#x3001;http&#x3001;hessian&#x7B49;&#x77ED;&#x8FDE;&#x63A5;&#x534F;&#x8BAE;&#x8868;&#x793A;&#x9650;&#x5236;&#x8FDE;&#x63A5;&#x6570;&#xFF0C;dubbo&#x7B49;&#x957F;&#x8FDE;&#x63A5;&#x534F;&#x8868;&#x793A;&#x5EFA;&#x7ACB;&#x7684;&#x957F;&#x8FDE;&#x63A5;&#x4E2A;&#x6570;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>loadbalance</td>
-<td>loadbalance</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x4F7F;&#x7528; &lt;dubbo:consumer&gt;&#x7684;loadbalance</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x7B56;&#x7565;&#xFF0C;&#x53EF;&#x9009;&#x503C;&#xFF1A;random,roundrobin,leastactive&#xFF0C;&#x5206;&#x522B;&#x8868;&#x793A;&#xFF1A;&#x968F;&#x673A;&#xFF0C;&#x8F6E;&#x5FAA;&#xFF0C;&#x6700;&#x5C11;&#x6D3B;&#x8DC3;&#x8C03;&#x7528;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>async</td>
-<td>async</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x4F7F;&#x7528;</td>
-<td>&lt;dubbo:consumer&gt;&#x7684;async</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x662F;&#x5426;&#x5F02;&#x6B65;&#x6267;&#x884C;&#xFF0C;&#x4E0D;&#x53EF;&#x9760;&#x5F02;&#x6B65;&#xFF0C;&#x53EA;&#x662F;&#x5FFD;&#x7565;&#x8FD4;&#x56DE;&#x503C;&#xFF0C;&#x4E0D;&#x963B;&#x585E;&#x6267;&#x884C;&#x7EBF;&#x7A0B;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>generic</td>
-<td>generic</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x4F7F;&#x7528;</td>
-<td>&lt;dubbo:consumer&gt;&#x7684;generic</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x662F;&#x5426;&#x7F3A;&#x7701;&#x6CDB;&#x5316;&#x63A5;&#x53E3;&#xFF0C;&#x5982;&#x679C;&#x4E3A;&#x6CDB;&#x5316;&#x63A5;&#x53E3;&#xFF0C;&#x5C06;&#x8FD4;&#x56DE;GenericService</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>check</td>
-<td>check</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x4F7F;&#x7528;</td>
-<td>&lt;dubbo:consumer&gt;&#x7684;check</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x542F;&#x52A8;&#x65F6;&#x68C0;&#x67E5;&#x63D0;&#x4F9B;&#x8005;&#x662F;&#x5426;&#x5B58;&#x5728;&#xFF0C;true&#x62A5;&#x9519;&#xFF0C;false&#x5FFD;&#x7565;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>url</td>
-<td></td>
-<td>&lt;url&gt;</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x70B9;&#x5BF9;&#x70B9;&#x76F4;&#x8FDE;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5730;&#x5740;&#xFF0C;&#x5C06;&#x7ED5;&#x8FC7;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;</td>
-<td>1.0.6&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>stub</td>
-<td>stub</td>
-<td>class/boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x5BA2;&#x6237;&#x7AEF;&#x672C;&#x5730;&#x4EE3;&#x7406;&#x7C7B;&#x540D;&#xFF0C;&#x7528;&#x4E8E;&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x6267;&#x884C;&#x672C;&#x5730;&#x903B;&#x8F91;&#xFF0C;&#x5982;&#x672C;&#x5730;&#x7F13;&#x5B58;&#x7B49;&#xFF0C;&#x8BE5;&#x672C;&#x5730;&#x4EE3;&#x7406;&#x7C7B;&#x7684;&#x6784;&#x9020;&#x51FD;&#x6570;&#x5FC5;&#x987B;&#x5141;&#x8BB8;&#x4F20;&#x5165;&#x8FDC;&#x7A0B;&#x4EE3;&#x7406;&#x5BF9;&#x8C61;&#xFF0C;&#x6784;&#x9020;&#x51FD;&#x6570;&#x5982;&#xFF1A;public XxxServiceLocal(XxxService xxxService)</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>mock</td>
-<td>mock</td>
-<td>class/boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x8C03;&#x7528;&#x5931;&#x8D25;Mock&#x5B9E;&#x73B0;&#x7C7B;&#x540D;&#xFF0C;&#x8BE5;Mock&#x7C7B;&#x5FC5;&#x987B;&#x6709;&#x4E00;&#x4E2A;&#x65E0;&#x53C2;&#x6784;&#x9020;&#x51FD;&#x6570;&#xFF0C;&#x4E0E;Local&#x7684;&#x533A;&#x522B;&#x5728;&#x4E8E;&#xFF0C;Local&#x603B;&#x662F;&#x88AB;&#x6267;&#x884C;&#xFF0C;&#x800C;Mock&#x53EA;&#x5728;&#x51FA;&#x73B0;&#x975E;&#x4E1A;&#x52A1;&#x5F02;&#x5E38;(&#x6BD4;&#x5982;&#x8D85;&#x65F6;&#xFF0C;&#x7F51;&#x7EDC;&#x5F02;&#x5E38;&#x7B49;)&#x65F6;&#x6267;&#x884C;&#xFF0C;Local&#x5728;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x4E4B;&#x524D;&#x6267;&#x884C;&#xFF0C;Mock&#x5728;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x540E;&#x6267;&#x884C;&#x3002;</td>
-<td>Dubbo1.0.13&#x53CA;&#x5176;&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>cache</td>
-<td>cache</td>
-<td>string/boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x4EE5;&#x8C03;&#x7528;&#x53C2;&#x6570;&#x4E3A;key&#xFF0C;&#x7F13;&#x5B58;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#xFF0C;&#x53EF;&#x9009;&#xFF1A;lru, threadlocal, jcache&#x7B49;</td>
-<td>Dubbo2.1.0&#x53CA;&#x5176;&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>validation</td>
-<td>validation</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x662F;&#x5426;&#x542F;&#x7528;JSR303&#x6807;&#x51C6;&#x6CE8;&#x89E3;&#x9A8C;&#x8BC1;&#xFF0C;&#x5982;&#x679C;&#x542F;&#x7528;&#xFF0C;&#x5C06;&#x5BF9;&#x65B9;&#x6CD5;&#x53C2;&#x6570;&#x4E0A;&#x7684;&#x6CE8;&#x89E3;&#x8FDB;&#x884C;&#x6821;&#x9A8C;</td>
-<td>Dubbo2.1.0&#x53CA;&#x5176;&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>proxy</td>
-<td>proxy</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>javassist</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x9009;&#x62E9;&#x52A8;&#x6001;&#x4EE3;&#x7406;&#x5B9E;&#x73B0;&#x7B56;&#x7565;&#xFF0C;&#x53EF;&#x9009;&#xFF1A;javassist, jdk</td>
-<td>2.0.2&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>client</td>
-<td>client</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x5BA2;&#x6237;&#x7AEF;&#x4F20;&#x8F93;&#x7C7B;&#x578B;&#x8BBE;&#x7F6E;&#xFF0C;&#x5982;Dubbo&#x534F;&#x8BAE;&#x7684;netty&#x6216;mina&#x3002;</td>
-<td>Dubbo2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;&#x652F;&#x6301;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>registry</td>
-<td></td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x5C06;&#x4ECE;&#x6240;&#x6709;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x83B7;&#x670D;&#x52A1;&#x5217;&#x8868;&#x540E;&#x5408;&#x5E76;&#x7ED3;&#x679C;</td>
-<td>&#x914D;&#x7F6E;&#x5173;&#x8054;</td>
-<td>&#x4ECE;&#x6307;&#x5B9A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6CE8;&#x518C;&#x83B7;&#x53D6;&#x670D;&#x52A1;&#x5217;&#x8868;&#xFF0C;&#x5728;&#x591A;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x65F6;&#x4F7F;&#x7528;&#xFF0C;&#x503C;&#x4E3A;</td>
-<td>&lt;dubbo:registry&gt;&#x7684;id&#x5C5E;&#x6027;&#xFF0C;&#x591A;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;ID&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>owner</td>
-<td>owner</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x8C03;&#x7528;&#x670D;&#x52A1;&#x8D1F;&#x8D23;&#x4EBA;&#xFF0C;&#x7528;&#x4E8E;&#x670D;&#x52A1;&#x6CBB;&#x7406;&#xFF0C;&#x8BF7;&#x586B;&#x5199;&#x8D1F;&#x8D23;&#x4EBA;&#x516C;&#x53F8;&#x90AE;&#x7BB1;&#x524D;&#x7F00;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>actives</td>
-<td>actives</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x6BCF;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x6BCF;&#x670D;&#x52A1;&#x6BCF;&#x65B9;&#x6CD5;&#x6700;&#x5927;&#x5E76;&#x53D1;&#x8C03;&#x7528;&#x6570;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>cluster</td>
-<td>cluster</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>failover</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x96C6;&#x7FA4;&#x65B9;&#x5F0F;&#xFF0C;&#x53EF;&#x9009;&#xFF1A;failover/failfast/failsafe/failback/forking</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>filter</td>
-<td>reference.filter</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>default</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x8FC7;&#x7A0B;&#x62E6;&#x622A;&#x5668;&#x540D;&#x79F0;&#xFF0C;&#x591A;&#x4E2A;&#x540D;&#x79F0;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>listener</td>
-<td>invoker.listener</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>default</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x65B9;&#x5F15;&#x7528;&#x670D;&#x52A1;&#x76D1;&#x542C;&#x5668;&#x540D;&#x79F0;&#xFF0C;&#x591A;&#x4E2A;&#x540D;&#x79F0;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>layer</td>
-<td>layer</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x8C03;&#x7528;&#x8005;&#x6240;&#x5728;&#x7684;&#x5206;&#x5C42;&#x3002;&#x5982;&#xFF1A;biz&#x3001;dao&#x3001;intl:web&#x3001;china:acton&#x3002;</td>
-<td>2.0.7&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>init</td>
-<td>init</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x662F;&#x5426;&#x5728;afterPropertiesSet()&#x65F6;&#x9965;&#x997F;&#x521D;&#x59CB;&#x5316;&#x5F15;&#x7528;&#xFF0C;&#x5426;&#x5219;&#x7B49;&#x5230;&#x6709;&#x4EBA;&#x6CE8;&#x5165;&#x6216;&#x5F15;&#x7528;&#x8BE5;&#x5B9E;&#x4F8B;&#x65F6;&#x518D;&#x521D;&#x59CB;&#x5316;&#x3002;</td>
-<td>2.0.10&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:reference&gt;</td>
-<td>protocol</td>
-<td>protocol</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x529B;&#x6CBB;&#x7406;</td>
-<td>&#x53EA;&#x8C03;&#x7528;&#x6307;&#x5B9A;&#x534F;&#x8BAE;&#x7684;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#xFF0C;&#x5176;&#x5B83;&#x534F;&#x8BAE;&#x5FFD;&#x7565;&#x3002;</td>
-<td>2.2.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-</tbody>
-</table>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="dubbo-service.html" class="navigation navigation-prev " aria-label="Previous page: 6.1 dubbo:service">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="dubbo-protocol.html" class="navigation navigation-next " aria-label="Next page: 6.3 dubbo:protocol">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.2 dubbo:reference","level":"1.7.2","depth":2,"next":{"title":"6.3 dubbo:protocol","level":"1.7.3","depth":2,"path":"reference-xmlconf/dubbo-protocol.md","ref":"reference-xmlconf/dubbo-protocol.md","articles":[]},"previous":{"title":"6.1 dubbo:service","level":"1.7.1","depth":2,"path":"reference-xmlconf/dubbo-service.md","ref":"reference-xmlconf/dubbo-service.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-xmlconf/dubbo-reference.md","mtime":"2017-08-02T06:13:39.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-xmlconf/dubbo-reference.md b/user-guide/reference-xmlconf/dubbo-reference.md
index 7ea5992..8d3cd05 100644
--- a/user-guide/reference-xmlconf/dubbo-reference.md
+++ b/user-guide/reference-xmlconf/dubbo-reference.md
@@ -1,3 +1,48 @@
+<style>
+table {
+  width: 100%;
+  max-width: 65em;
+  border: 1px solid #dedede;
+  margin: 15px auto;
+  border-collapse: collapse;
+  empty-cells: show;
+}
+table th,
+table td {
+  height: 35px;
+  border: 1px solid #dedede;
+  padding: 0 10px;
+}
+table th {
+  font-weight: bold;
+  text-align: center !important;
+  background: rgba(158,188,226,0.2);
+  white-space: nowrap;
+}
+table tbody tr:nth-child(2n) {
+  background: rgba(158,188,226,0.12);
+}
+table td:nth-child(1) {
+  white-space: nowrap;
+}
+table tr:hover {
+  background: #efefef;
+}
+.table-area {
+  overflow: auto;
+}
+</style>
+
+<script type="text/javascript">
+[].slice.call(document.querySelectorAll('table')).forEach(function(el){
+    var wrapper = document.createElement('div');
+    wrapper.className = 'table-area';
+    el.parentNode.insertBefore(wrapper, el);
+    el.parentNode.removeChild(el);
+    wrapper.appendChild(el);
+})
+</script>
+
 服务消费者引用服务配置:  
 配置类:com.alibaba.dubbo.config.ReferenceConfig
 
diff --git a/user-guide/reference-xmlconf/dubbo-registry.html b/user-guide/reference-xmlconf/dubbo-registry.html
deleted file mode 100644
index 75e911b..0000000
--- a/user-guide/reference-xmlconf/dubbo-registry.html
+++ /dev/null
@@ -1,1658 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.4 dubbo:registry · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="dubbo-monitor.html" />
-    
-    
-    <link rel="prev" href="dubbo-protocol.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="dubbo-service.html">
-            
-                <a href="dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="dubbo-reference.html">
-            
-                <a href="dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="dubbo-protocol.html">
-            
-                <a href="dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7.4" data-path="dubbo-registry.html">
-            
-                <a href="dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="dubbo-monitor.html">
-            
-                <a href="dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="dubbo-application.html">
-            
-                <a href="dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="dubbo-module.html">
-            
-                <a href="dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="dubbo-provider.html">
-            
-                <a href="dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="dubbo-consumer.html">
-            
-                <a href="dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="dubbo-method.html">
-            
-                <a href="dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="dubbo-argument.html">
-            
-                <a href="dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="dubbo-parameter.html">
-            
-                <a href="dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.4 dubbo:registry</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x914D;&#x7F6E;&#xFF1A;<br>&#x914D;&#x7F6E;&#x7C7B;&#xFF1A;com.alibaba.dubbo.config.RegistryConfig<br>&#x8BF4;&#x660E;&#xFF1A;&#x5982;&#x679C;&#x6709;&#x591A;&#x4E2A;&#x4E0D;&#x540C;&#x7684;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x53EF;&#x4EE5;&#x58F0;&#x660E;&#x591A;&#x4E2A;|&lt;dubbo:registry&gt;&#x6807;&#x7B7E;&#xFF0C;&#x5E76;&#x5728;|&lt;dubbo:service&gt;&#x6216;|&lt;dubbo:reference&gt;&#x7684;registry&#x5C5E;&#x6027;&#x6307;&#x5B9A;&#x4F7F;&#x7528;&#x7684;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x3002;</p>
-<table>
-<thead>
-<tr>
-<th>&#x6807;&#x7B7E;</th>
-<th>&#x5C5E;&#x6027;</th>
-<th>&#x5BF9;&#x5E94;URL&#x53C2;&#x6570;</th>
-<th>&#x7C7B;&#x578B;</th>
-<th>&#x662F;&#x5426;&#x5FC5;&#x586B;</th>
-<th>&#x7F3A;&#x7701;&#x503C;</th>
-<th>&#x4F5C;&#x7528;</th>
-<th>&#x63CF;&#x8FF0;</th>
-<th>&#x517C;&#x5BB9;&#x6027;</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>&lt;dubbo:registry&gt;</td>
-<td>id</td>
-<td></td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x914D;&#x7F6E;&#x5173;&#x8054;</td>
-<td>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5F15;&#x7528;BeanId&#xFF0C;&#x53EF;&#x4EE5;&#x5728;</td>
-<td>&lt;dubbo:service registry=&quot;&quot;&gt;&#x6216;</td>
-<td>&lt;dubbo:reference registry=&quot;&quot;&gt;&#x4E2D;&#x5F15;&#x7528;&#x6B64;ID</td>
-<td>1.0.16&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:registry&gt;</td>
-<td>address</td>
-<td></td>
-<td>&lt;host:port&gt;</td>
-<td>string</td>
-<td>&#x5FC5;&#x586B;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x670D;&#x52A1;&#x5668;&#x5730;&#x5740;&#xFF0C;&#x5982;&#x679C;&#x5730;&#x5740;&#x6CA1;&#x6709;&#x7AEF;&#x53E3;&#x7F3A;&#x7701;&#x4E3A;9090&#xFF0C;&#x540C;&#x4E00;&#x96C6;&#x7FA4;&#x5185;&#x7684;&#x591A;&#x4E2A;&#x5730;&#x5740;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;&#xFF0C;&#x5982;&#xFF1A;ip:port,ip:port&#xFF0C;&#x4E0D;&#x540C;&#x96C6;&#x7FA4;&#x7684;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#xFF0C;&#x8BF7;&#x914D;&#x7F6E;&#x591A;&#x4E2A;</td>
-<td>&lt;dubbo:registry&gt;&#x6807;&#x7B7E;</td>
-<td>1.0.16&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:registry&gt;</td>
-<td>protocol</td>
-<td></td>
-<td>&lt;protocol&gt;</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>dubbo</td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x6CE8;&#x540C;&#x4E2D;&#x5FC3;&#x5730;&#x5740;&#x534F;&#x8BAE;&#xFF0C;&#x652F;&#x6301;dubbo, http, local&#x4E09;&#x79CD;&#x534F;&#x8BAE;&#xFF0C;&#x5206;&#x522B;&#x8868;&#x793A;&#xFF0C;dubbo&#x5730;&#x5740;&#xFF0C;http&#x5730;&#x5740;&#xFF0C;&#x672C;&#x5730;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:registry&gt;</td>
-<td>port</td>
-<td></td>
-<td>&lt;port&gt;</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>9090</td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7F3A;&#x7701;&#x7AEF;&#x53E3;&#xFF0C;&#x5F53;address&#x6CA1;&#x6709;&#x5E26;&#x7AEF;&#x53E3;&#x65F6;&#x4F7F;&#x7528;&#x6B64;&#x7AEF;&#x53E3;&#x505A;&#x4E3A;&#x7F3A;&#x7701;&#x503C;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:registry&gt;</td>
-<td>username</td>
-<td></td>
-<td>&lt;username&gt;</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x767B;&#x5F55;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7528;&#x6237;&#x540D;&#xFF0C;&#x5982;&#x679C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4E0D;&#x9700;&#x8981;&#x9A8C;&#x8BC1;&#x53EF;&#x4E0D;&#x586B;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:registry&gt;</td>
-<td>password</td>
-<td></td>
-<td>&lt;password&gt;</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x767B;&#x5F55;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5BC6;&#x7801;&#xFF0C;&#x5982;&#x679C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4E0D;&#x9700;&#x8981;&#x9A8C;&#x8BC1;&#x53EF;&#x4E0D;&#x586B;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:registry&gt;</td>
-<td>transport</td>
-<td>registry.transporter</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>netty</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x7F51;&#x7EDC;&#x4F20;&#x8F93;&#x65B9;&#x5F0F;&#xFF0C;&#x53EF;&#x9009;mina,netty</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:registry&gt;</td>
-<td>timeout</td>
-<td>registry.timeout</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>5000</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x8BF7;&#x6C42;&#x8D85;&#x65F6;&#x65F6;&#x95F4;(&#x6BEB;&#x79D2;)</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:registry&gt;</td>
-<td>session</td>
-<td>registry.session</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>60000</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4F1A;&#x8BDD;&#x8D85;&#x65F6;&#x65F6;&#x95F4;(&#x6BEB;&#x79D2;)&#xFF0C;&#x7528;&#x4E8E;&#x68C0;&#x6D4B;&#x63D0;&#x4F9B;&#x8005;&#x975E;&#x6B63;&#x5E38;&#x65AD;&#x7EBF;&#x540E;&#x7684;&#x810F;&#x6570;&#x636E;&#xFF0C;&#x6BD4;&#x5982;&#x7528;&#x5FC3;&#x8DF3;&#x68C0;&#x6D4B;&#x7684;&#x5B9E;&#x73B0;&#xFF0C;&#x6B64;&#x65F6;&#x95F4;&#x5C31;&#x662F;&#x5FC3;&#x8DF3;&#x95F4;&#x9694;&#xFF0C;&#x4E0D;&#x540C;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5B9E;&#x73B0;&#x4E0D;&#x4E00;&#x6837;&#x3002;</td>
-<td>2.1.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:registry&gt;</td>
-<td>file</td>
-<td>registry.file</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x4F7F;&#x7528;&#x6587;&#x4EF6;&#x7F13;&#x5B58;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x5730;&#x5740;&#x5217;&#x8868;&#x53CA;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x5217;&#x8868;&#xFF0C;&#x5E94;&#x7528;&#x91CD;&#x542F;&#x65F6;&#x5C06;&#x57FA;&#x4E8E;&#x6B64;&#x6587;&#x4EF6;&#x6062;&#x590D;&#xFF0C;&#x6CE8;&#x610F;&#xFF1A;&#x4E24;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4E0D;&#x80FD;&#x4F7F;&#x7528;&#x540C;&#x4E00;&#x6587;&#x4EF6;&#x5B58;&#x50A8;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:registry&gt;</td>
-<td>wait</td>
-<td>registry.wait</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x505C;&#x6B62;&#x65F6;&#x7B49;&#x5F85;&#x901A;&#x77E5;&#x5B8C;&#x6210;&#x65F6;&#x95F4;(&#x6BEB;&#x79D2;)</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:registry&gt;</td>
-<td>check</td>
-<td>check</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>true</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4E0D;&#x5B58;&#x5728;&#x65F6;&#xFF0C;&#x662F;&#x5426;&#x62A5;&#x9519;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:registry&gt;</td>
-<td>register</td>
-<td>register</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>true</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x662F;&#x5426;&#x5411;&#x6B64;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6CE8;&#x518C;&#x670D;&#x52A1;&#xFF0C;&#x5982;&#x679C;&#x8BBE;&#x4E3A;false&#xFF0C;&#x5C06;&#x53EA;&#x8BA2;&#x9605;&#xFF0C;&#x4E0D;&#x6CE8;&#x518C;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:registry&gt;</td>
-<td>subscribe</td>
-<td>subscribe</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>true</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x662F;&#x5426;&#x5411;&#x6B64;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x8BA2;&#x9605;&#x670D;&#x52A1;&#xFF0C;&#x5982;&#x679C;&#x8BBE;&#x4E3A;false&#xFF0C;&#x5C06;&#x53EA;&#x6CE8;&#x518C;&#xFF0C;&#x4E0D;&#x8BA2;&#x9605;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:registry&gt;</td>
-<td>dynamic</td>
-<td>dynamic</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>true</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x662F;&#x5426;&#x52A8;&#x6001;&#x6CE8;&#x518C;&#xFF0C;&#x5982;&#x679C;&#x8BBE;&#x4E3A;false&#xFF0C;&#x6CE8;&#x518C;&#x540E;&#x5C06;&#x663E;&#x793A;&#x540E;disable&#x72B6;&#x6001;&#xFF0C;&#x9700;&#x4EBA;&#x5DE5;&#x542F;&#x7528;&#xFF0C;&#x5E76;&#x4E14;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x505C;&#x6B62;&#x65F6;&#xFF0C;&#x4E5F;&#x4E0D;&#x4F1A;&#x81EA;&#x52A8;&#x53D6;&#x6D88;&#x518C;&#xFF0C;&#x9700;&#x4EBA;&#x5DE5;&#x7981;&#x7528;&#x3002;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-</tbody>
-</table>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="dubbo-protocol.html" class="navigation navigation-prev " aria-label="Previous page: 6.3 dubbo:protocol">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="dubbo-monitor.html" class="navigation navigation-next " aria-label="Next page: 6.5 dubbo:monitor">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.4 dubbo:registry","level":"1.7.4","depth":2,"next":{"title":"6.5 dubbo:monitor","level":"1.7.5","depth":2,"path":"reference-xmlconf/dubbo-monitor.md","ref":"reference-xmlconf/dubbo-monitor.md","articles":[]},"previous":{"title":"6.3 dubbo:protocol","level":"1.7.3","depth":2,"path":"reference-xmlconf/dubbo-protocol.md","ref":"reference-xmlconf/dubbo-protocol.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-xmlconf/dubbo-registry.md","mtime":"2017-08-02T06:13:39.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-xmlconf/dubbo-registry.md b/user-guide/reference-xmlconf/dubbo-registry.md
index bd697a0..02edfad 100644
--- a/user-guide/reference-xmlconf/dubbo-registry.md
+++ b/user-guide/reference-xmlconf/dubbo-registry.md
@@ -1,3 +1,48 @@
+<style>
+table {
+  width: 100%;
+  max-width: 65em;
+  border: 1px solid #dedede;
+  margin: 15px auto;
+  border-collapse: collapse;
+  empty-cells: show;
+}
+table th,
+table td {
+  height: 35px;
+  border: 1px solid #dedede;
+  padding: 0 10px;
+}
+table th {
+  font-weight: bold;
+  text-align: center !important;
+  background: rgba(158,188,226,0.2);
+  white-space: nowrap;
+}
+table tbody tr:nth-child(2n) {
+  background: rgba(158,188,226,0.12);
+}
+table td:nth-child(1) {
+  white-space: nowrap;
+}
+table tr:hover {
+  background: #efefef;
+}
+.table-area {
+  overflow: auto;
+}
+</style>
+
+<script type="text/javascript">
+[].slice.call(document.querySelectorAll('table')).forEach(function(el){
+    var wrapper = document.createElement('div');
+    wrapper.className = 'table-area';
+    el.parentNode.insertBefore(wrapper, el);
+    el.parentNode.removeChild(el);
+    wrapper.appendChild(el);
+})
+</script>
+
 注册中心配置:  
 配置类:com.alibaba.dubbo.config.RegistryConfig  
 说明:如果有多个不同的注册中心,可以声明多个|&lt;dubbo:registry&gt;标签,并在|&lt;dubbo:service&gt;或|&lt;dubbo:reference&gt;的registry属性指定使用的注册中心。
diff --git a/user-guide/reference-xmlconf/dubbo-service.html b/user-guide/reference-xmlconf/dubbo-service.html
deleted file mode 100644
index 74057d3..0000000
--- a/user-guide/reference-xmlconf/dubbo-service.html
+++ /dev/null
@@ -1,1830 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6.1 dubbo:service · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="dubbo-reference.html" />
-    
-    
-    <link rel="prev" href="introduction.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter active" data-level="1.7.1" data-path="dubbo-service.html">
-            
-                <a href="dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="dubbo-reference.html">
-            
-                <a href="dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="dubbo-protocol.html">
-            
-                <a href="dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="dubbo-registry.html">
-            
-                <a href="dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="dubbo-monitor.html">
-            
-                <a href="dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="dubbo-application.html">
-            
-                <a href="dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="dubbo-module.html">
-            
-                <a href="dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="dubbo-provider.html">
-            
-                <a href="dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="dubbo-consumer.html">
-            
-                <a href="dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="dubbo-method.html">
-            
-                <a href="dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="dubbo-argument.html">
-            
-                <a href="dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="dubbo-parameter.html">
-            
-                <a href="dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6.1 dubbo:service</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <p><link rel="stylesheet" type="text/css" href="../sources/table_layout.css"></p>
-<script type="text/javascript" src="../sources/table_layout.js"></script>
-
-
-<p>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x66B4;&#x9732;&#x670D;&#x52A1;&#x914D;&#x7F6E;&#xFF1A;<br>&#x914D;&#x7F6E;&#x7C7B;&#xFF1A;com.alibaba.dubbo.config.ServiceConfig</p>
-<table>
-<thead>
-<tr>
-<th>&#x6807;&#x7B7E;</th>
-<th>&#x5C5E;&#x6027;</th>
-<th>&#x5BF9;&#x5E94;URL&#x53C2;&#x6570;</th>
-<th>&#x7C7B;&#x578B;</th>
-<th>&#x662F;&#x5426;&#x5FC5;&#x586B;</th>
-<th>&#x7F3A;&#x7701;&#x503C;</th>
-<th>&#x4F5C;&#x7528;</th>
-<th>&#x63CF;&#x8FF0;</th>
-<th>&#x517C;&#x5BB9;&#x6027;</th>
-</tr>
-</thead>
-<tbody>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>interface</td>
-<td></td>
-<td>class</td>
-<td>&#x5FC5;&#x586B;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x540D;</td>
-<td>1.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>ref</td>
-<td></td>
-<td>object</td>
-<td>&#x5FC5;&#x586B;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x670D;&#x52A1;&#x5BF9;&#x8C61;&#x5B9E;&#x73B0;&#x5F15;&#x7528;</td>
-<td>1.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>version</td>
-<td>version</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0.0.0</td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x670D;&#x52A1;&#x7248;&#x672C;&#xFF0C;&#x5EFA;&#x8BAE;&#x4F7F;&#x7528;&#x4E24;&#x4F4D;&#x6570;&#x5B57;&#x7248;&#x672C;&#xFF0C;&#x5982;&#xFF1A;1.0&#xFF0C;&#x901A;&#x5E38;&#x5728;&#x63A5;&#x53E3;&#x4E0D;&#x517C;&#x5BB9;&#x65F6;&#x7248;&#x672C;&#x53F7;&#x624D;&#x9700;&#x8981;&#x5347;&#x7EA7;</td>
-<td>1.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>group</td>
-<td>group</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x670D;&#x52A1;&#x5206;&#x7EC4;&#xFF0C;&#x5F53;&#x4E00;&#x4E2A;&#x63A5;&#x53E3;&#x6709;&#x591A;&#x4E2A;&#x5B9E;&#x73B0;&#xFF0C;&#x53EF;&#x4EE5;&#x7528;&#x5206;&#x7EC4;&#x533A;&#x5206;</td>
-<td>1.0.7&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>path</td>
-<td>&lt;path&gt;</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x4E3A;&#x63A5;&#x53E3;&#x540D;</td>
-<td>&#x670D;&#x52A1;&#x53D1;&#x73B0;</td>
-<td>&#x670D;&#x52A1;&#x8DEF;&#x5F84; (&#x6CE8;&#x610F;&#xFF1A;1.0&#x4E0D;&#x652F;&#x6301;&#x81EA;&#x5B9A;&#x4E49;&#x8DEF;&#x5F84;&#xFF0C;&#x603B;&#x662F;&#x4F7F;&#x7528;&#x63A5;&#x53E3;&#x540D;&#xFF0C;&#x5982;&#x679C;&#x6709;1.0&#x8C03;2.0&#xFF0C;&#x914D;&#x7F6E;&#x670D;&#x52A1;&#x8DEF;&#x5F84;&#x53EF;&#x80FD;&#x4E0D;&#x517C;&#x5BB9;)</td>
-<td>1.0.12&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>delay</td>
-<td>delay</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x5EF6;&#x8FDF;&#x6CE8;&#x518C;&#x670D;&#x52A1;&#x65F6;&#x95F4;(&#x6BEB;&#x79D2;) &#xFF0C;&#x8BBE;&#x4E3A;-1&#x65F6;&#xFF0C;&#x8868;&#x793A;&#x5EF6;&#x8FDF;&#x5230;Spring&#x5BB9;&#x5668;&#x521D;&#x59CB;&#x5316;&#x5B8C;&#x6210;&#x65F6;&#x66B4;&#x9732;&#x670D;&#x52A1;</td>
-<td>1.0.14&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>timeout</td>
-<td>timeout</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>1000</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x8C03;&#x7528;&#x8D85;&#x65F6;&#x65F6;&#x95F4;(&#x6BEB;&#x79D2;)</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>retries</td>
-<td>retries</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>2</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x8FDC;&#x7A0B;&#x670D;&#x52A1;&#x8C03;&#x7528;&#x91CD;&#x8BD5;&#x6B21;&#x6570;&#xFF0C;&#x4E0D;&#x5305;&#x62EC;&#x7B2C;&#x4E00;&#x6B21;&#x8C03;&#x7528;&#xFF0C;&#x4E0D;&#x9700;&#x8981;&#x91CD;&#x8BD5;&#x8BF7;&#x8BBE;&#x4E3A;0</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>connections</td>
-<td>connections</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>100</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x5BF9;&#x6BCF;&#x4E2A;&#x63D0;&#x4F9B;&#x8005;&#x7684;&#x6700;&#x5927;&#x8FDE;&#x63A5;&#x6570;&#xFF0C;rmi&#x3001;http&#x3001;hessian&#x7B49;&#x77ED;&#x8FDE;&#x63A5;&#x534F;&#x8BAE;&#x8868;&#x793A;&#x9650;&#x5236;&#x8FDE;&#x63A5;&#x6570;&#xFF0C;dubbo&#x7B49;&#x957F;&#x8FDE;&#x63A5;&#x534F;&#x8868;&#x793A;&#x5EFA;&#x7ACB;&#x7684;&#x957F;&#x8FDE;&#x63A5;&#x4E2A;&#x6570;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>loadbalance</td>
-<td>loadbalance</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>random</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x8D1F;&#x8F7D;&#x5747;&#x8861;&#x7B56;&#x7565;&#xFF0C;&#x53EF;&#x9009;&#x503C;&#xFF1A;random,roundrobin,leastactive&#xFF0C;&#x5206;&#x522B;&#x8868;&#x793A;&#xFF1A;&#x968F;&#x673A;&#xFF0C;&#x8F6E;&#x5FAA;&#xFF0C;&#x6700;&#x5C11;&#x6D3B;&#x8DC3;&#x8C03;&#x7528;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>async</td>
-<td>async</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x662F;&#x5426;&#x7F3A;&#x7701;&#x5F02;&#x6B65;&#x6267;&#x884C;&#xFF0C;&#x4E0D;&#x53EF;&#x9760;&#x5F02;&#x6B65;&#xFF0C;&#x53EA;&#x662F;&#x5FFD;&#x7565;&#x8FD4;&#x56DE;&#x503C;&#xFF0C;&#x4E0D;&#x963B;&#x585E;&#x6267;&#x884C;&#x7EBF;&#x7A0B;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>stub</td>
-<td>stub</td>
-<td>class/boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x8BBE;&#x4E3A;true&#xFF0C;&#x8868;&#x793A;&#x4F7F;&#x7528;&#x7F3A;&#x7701;&#x4EE3;&#x7406;&#x7C7B;&#x540D;&#xFF0C;&#x5373;&#xFF1A;&#x63A5;&#x53E3;&#x540D; + Local&#x540E;&#x7F00;&#xFF0C;&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x5BA2;&#x6237;&#x7AEF;&#x672C;&#x5730;&#x4EE3;&#x7406;&#x7C7B;&#x540D;&#xFF0C;&#x7528;&#x4E8E;&#x5728;&#x5BA2;&#x6237;&#x7AEF;&#x6267;&#x884C;&#x672C;&#x5730;&#x903B;&#x8F91;&#xFF0C;&#x5982;&#x672C;&#x5730;&#x7F13;&#x5B58;&#x7B49;&#xFF0C;&#x8BE5;&#x672C;&#x5730;&#x4EE3;&#x7406;&#x7C7B;&#x7684;&#x6784;&#x9020;&#x51FD;&#x6570;&#x5FC5;&#x987B;&#x5141;&#x8BB8;&#x4F20;&#x5165;&#x8FDC;&#x7A0B;&#x4EE3;&#x7406;&#x5BF9;&#x8C61;&#xFF0C;&#x6784;&#x9020;&#x51FD;&#x6570;&#x5982;&#xFF1A;public XxxServiceLocal(XxxService xxxService)</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>mock</td>
-<td>mock</td>
-<td>class/boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x8BBE;&#x4E3A;true&#xFF0C;&#x8868;&#x793A;&#x4F7F;&#x7528;&#x7F3A;&#x7701;Mock&#x7C7B;&#x540D;&#xFF0C;&#x5373;&#xFF1A;&#x63A5;&#x53E3;&#x540D; + Mock&#x540E;&#x7F00;&#xFF0C;&#x670D;&#x52A1;&#x63A5;&#x53E3;&#x8C03;&#x7528;&#x5931;&#x8D25;Mock&#x5B9E;&#x73B0;&#x7C7B;&#xFF0C;&#x8BE5;Mock&#x7C7B;&#x5FC5;&#x987B;&#x6709;&#x4E00;&#x4E2A;&#x65E0;&#x53C2;&#x6784;&#x9020;&#x51FD;&#x6570;&#xFF0C;&#x4E0E;Local&#x7684;&#x533A;&#x522B;&#x5728;&#x4E8E;&#xFF0C;Local&#x603B;&#x662F;&#x88AB;&#x6267;&#x884C;&#xFF0C;&#x800C;Mock&#x53EA;&#x5728;&#x51FA;&#x73B0;&#x975E;&#x4E1A;&#x52A1;&#x5F02;&#x5E38;(&#x6BD4;&#x5982;&#x8D85;&#x65F6;&#xFF0C;&#x7F51;&#x7EDC;&#x5F02;&#x5E38;&#x7B49;)&#x65F6;&#x6267;&#x884C;&#xFF0C;Local&#x5728;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x4E4B;&#x524D;&#x6267;&#x884C;&#xFF0C;Mock&#x5728;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x540E;&#x6267;&#x884C;&#x3002;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>token</td>
-<td>token</td>
-<td>string/boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x4EE4;&#x724C;&#x9A8C;&#x8BC1;&#xFF0C;&#x4E3A;&#x7A7A;&#x8868;&#x793A;&#x4E0D;&#x5F00;&#x542F;&#xFF0C;&#x5982;&#x679C;&#x4E3A;true&#xFF0C;&#x8868;&#x793A;&#x968F;&#x673A;&#x751F;&#x6210;&#x52A8;&#x6001;&#x4EE4;&#x724C;&#xFF0C;&#x5426;&#x5219;&#x4F7F;&#x7528;&#x9759;&#x6001;&#x4EE4;&#x724C;&#xFF0C;&#x4EE4;&#x724C;&#x7684;&#x4F5C;&#x7528;&#x662F;&#x9632;&#x6B62;&#x6D88;&#x8D39;&#x8005;&#x7ED5;&#x8FC7;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x76F4;&#x63A5;&#x8BBF;&#x95EE;&#xFF0C;&#x4FDD;&#x8BC1;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x7684;&#x6388;&#x6743;&#x529F;&#x80FD;&#x6709;&#x6548;&#xFF0C;&#x5982;&#x679C;&#x4F7F;&#x7528;&#x70B9;&#x5BF9;&#x70B9;&#x8C03;&#x7528;&#xFF0C;&#x9700;&#x5173;&#x95ED;&#x4EE4;&#x724C;&#x529F;&#x80FD;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>registry</td>
-<td></td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x7701;&#x5411;&#x6240;&#x6709;registry&#x6CE8;&#x518C;</td>
-<td>&#x914D;&#x7F6E;&#x5173;&#x8054;</td>
-<td>&#x5411;&#x6307;&#x5B9A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x6CE8;&#x518C;&#xFF0C;&#x5728;&#x591A;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x65F6;&#x4F7F;&#x7528;&#xFF0C;&#x503C;&#x4E3A;&lt;dubbo:registry&gt;&#x7684;id&#x5C5E;&#x6027;&#xFF0C;&#x591A;&#x4E2A;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;ID&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;&#xFF0C;&#x5982;&#x679C;&#x4E0D;&#x60F3;&#x5C06;&#x8BE5;&#x670D;&#x52A1;&#x6CE8;&#x518C;&#x5230;&#x4EFB;&#x4F55;registry&#xFF0C;&#x53EF;&#x5C06;&#x503C;&#x8BBE;&#x4E3A;N/A</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>provider</td>
-<td></td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>&#x7F3A;&#x4F7F;&#x7528;&#x7B2C;&#x4E00;&#x4E2A;provider&#x914D;&#x7F6E;</td>
-<td>&#x914D;&#x7F6E;&#x5173;&#x8054;</td>
-<td>&#x6307;&#x5B9A;provider&#xFF0C;&#x503C;&#x4E3A;&lt;dubbo:provider&gt;&#x7684;id&#x5C5E;&#x6027;</td>
-<td>2.0.0&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>deprecated</td>
-<td>deprecated</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x662F;&#x5426;&#x8FC7;&#x65F6;&#xFF0C;&#x5982;&#x679C;&#x8BBE;&#x4E3A;true&#xFF0C;&#x6D88;&#x8D39;&#x65B9;&#x5F15;&#x7528;&#x65F6;&#x5C06;&#x6253;&#x5370;&#x670D;&#x52A1;&#x8FC7;&#x65F6;&#x8B66;&#x544A;error&#x65E5;&#x5FD7;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>dynamic</td>
-<td>dynamic</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>true</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x662F;&#x5426;&#x52A8;&#x6001;&#x6CE8;&#x518C;&#xFF0C;&#x5982;&#x679C;&#x8BBE;&#x4E3A;false&#xFF0C;&#x6CE8;&#x518C;&#x540E;&#x5C06;&#x663E;&#x793A;&#x540E;disable&#x72B6;&#x6001;&#xFF0C;&#x9700;&#x4EBA;&#x5DE5;&#x542F;&#x7528;&#xFF0C;&#x5E76;&#x4E14;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x505C;&#x6B62;&#x65F6;&#xFF0C;&#x4E5F;&#x4E0D;&#x4F1A;&#x81EA;&#x52A8;&#x53D6;&#x6D88;&#x518C;&#xFF0C;&#x9700;&#x4EBA;&#x5DE5;&#x7981;&#x7528;&#x3002;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>accesslog</td>
-<td>accesslog</td>
-<td>string/boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>false</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x8BBE;&#x4E3A;true&#xFF0C;&#x5C06;&#x5411;logger&#x4E2D;&#x8F93;&#x51FA;&#x8BBF;&#x95EE;&#x65E5;&#x5FD7;&#xFF0C;&#x4E5F;&#x53EF;&#x586B;&#x5199;&#x8BBF;&#x95EE;&#x65E5;&#x5FD7;&#x6587;&#x4EF6;&#x8DEF;&#x5F84;&#xFF0C;&#x76F4;&#x63A5;&#x628A;&#x8BBF;&#x95EE;&#x65E5;&#x5FD7;&#x8F93;&#x51FA;&#x5230;&#x6307;&#x5B9A;&#x6587;&#x4EF6;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>owner</td>
-<td>owner</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x8D1F;&#x8D23;&#x4EBA;&#xFF0C;&#x7528;&#x4E8E;&#x670D;&#x52A1;&#x6CBB;&#x7406;&#xFF0C;&#x8BF7;&#x586B;&#x5199;&#x8D1F;&#x8D23;&#x4EBA;&#x516C;&#x53F8;&#x90AE;&#x7BB1;&#x524D;&#x7F00;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>document</td>
-<td>document</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x6587;&#x6863;URL</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>weight</td>
-<td>weight</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x6743;&#x91CD;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>executes</td>
-<td>executes</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x6BCF;&#x670D;&#x52A1;&#x6BCF;&#x65B9;&#x6CD5;&#x6700;&#x5927;&#x53EF;&#x5E76;&#x884C;&#x6267;&#x884C;&#x8BF7;&#x6C42;&#x6570;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>actives</td>
-<td>actives</td>
-<td>int</td>
-<td>&#x53EF;&#x9009;</td>
-<td>0</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x6BCF;&#x670D;&#x52A1;&#x6D88;&#x8D39;&#x8005;&#x6BCF;&#x670D;&#x52A1;&#x6BCF;&#x65B9;&#x6CD5;&#x6700;&#x5927;&#x5E76;&#x53D1;&#x8C03;&#x7528;&#x6570;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>proxy</td>
-<td>proxy</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>javassist</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x751F;&#x6210;&#x52A8;&#x6001;&#x4EE3;&#x7406;&#x65B9;&#x5F0F;&#xFF0C;&#x53EF;&#x9009;&#xFF1A;jdk/javassist</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>cluster</td>
-<td>cluster</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>failover</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x96C6;&#x7FA4;&#x65B9;&#x5F0F;&#xFF0C;&#x53EF;&#x9009;&#xFF1A;failover/failfast/failsafe/failback/forking</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>filter</td>
-<td>service.filter</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>default</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x8FDC;&#x7A0B;&#x8C03;&#x7528;&#x8FC7;&#x7A0B;&#x62E6;&#x622A;&#x5668;&#x540D;&#x79F0;&#xFF0C;&#x591A;&#x4E2A;&#x540D;&#x79F0;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>listener</td>
-<td>exporter.listener</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td>default</td>
-<td>&#x6027;&#x80FD;&#x8C03;&#x4F18;</td>
-<td>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x5BFC;&#x51FA;&#x670D;&#x52A1;&#x76D1;&#x542C;&#x5668;&#x540D;&#x79F0;&#xFF0C;&#x591A;&#x4E2A;&#x540D;&#x79F0;&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;</td>
-<td></td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>protocol</td>
-<td></td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x914D;&#x7F6E;&#x5173;&#x8054;</td>
-<td>&#x4F7F;&#x7528;&#x6307;&#x5B9A;&#x7684;&#x534F;&#x8BAE;&#x66B4;&#x9732;&#x670D;&#x52A1;&#xFF0C;&#x5728;&#x591A;&#x534F;&#x8BAE;&#x65F6;&#x4F7F;&#x7528;&#xFF0C;&#x503C;&#x4E3A;&lt;dubbo:protocol&gt;&#x7684;id&#x5C5E;&#x6027;&#xFF0C;&#x591A;&#x4E2A;&#x534F;&#x8BAE;ID&#x7528;&#x9017;&#x53F7;&#x5206;&#x9694;</td>
-<td>2.0.5&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>layer</td>
-<td>layer</td>
-<td>string</td>
-<td>&#x53EF;&#x9009;</td>
-<td></td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x8005;&#x6240;&#x5728;&#x7684;&#x5206;&#x5C42;&#x3002;&#x5982;&#xFF1A;biz&#x3001;dao&#x3001;intl:web&#x3001;china:acton&#x3002;</td>
-<td>2.0.7&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-<tr>
-<td>&lt;dubbo:service&gt;</td>
-<td>register</td>
-<td>register</td>
-<td>boolean</td>
-<td>&#x53EF;&#x9009;</td>
-<td>true</td>
-<td>&#x670D;&#x52A1;&#x6CBB;&#x7406;</td>
-<td>&#x8BE5;&#x534F;&#x8BAE;&#x7684;&#x670D;&#x52A1;&#x662F;&#x5426;&#x6CE8;&#x518C;&#x5230;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;</td>
-<td>2.0.8&#x4EE5;&#x4E0A;&#x7248;&#x672C;</td>
-</tr>
-</tbody>
-</table>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="introduction.html" class="navigation navigation-prev " aria-label="Previous page: 6 schema配置参考手册">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="dubbo-reference.html" class="navigation navigation-next " aria-label="Next page: 6.2 dubbo:reference">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6.1 dubbo:service","level":"1.7.1","depth":2,"next":{"title":"6.2 dubbo:reference","level":"1.7.2","depth":2,"path":"reference-xmlconf/dubbo-reference.md","ref":"reference-xmlconf/dubbo-reference.md","articles":[]},"previous":{"title":"6 schema配置参考手册","level":"1.7","depth":1,"path":"reference-xmlconf/introduction.md","ref":"reference-xmlconf/introduction.md","articles":[{"title":"6.1 dubbo:service","level":"1.7.1","depth":2,"path":"reference-xmlconf/dubbo-service.md","ref":"reference-xmlconf/dubbo-service.md","articles":[]},{"title":"6.2 dubbo:reference","level":"1.7.2","depth":2,"path":"reference-xmlconf/dubbo-reference.md","ref":"reference-xmlconf/dubbo-reference.md","articles":[]},{"title":"6.3 dubbo:protocol","level":"1.7.3","depth":2,"path":"reference-xmlconf/dubbo-protocol.md","ref":"reference-xmlconf/dubbo-protocol.md","articles":[]},{"title":"6.4 dubbo:registry","level":"1.7.4","depth":2,"path":"reference-xmlconf/dubbo-registry.md","ref":"reference-xmlconf/dubbo-registry.md","articles":[]},{"title":"6.5 dubbo:monitor","level":"1.7.5","depth":2,"path":"reference-xmlconf/dubbo-monitor.md","ref":"reference-xmlconf/dubbo-monitor.md","articles":[]},{"title":"6.6 dubbo:application","level":"1.7.6","depth":2,"path":"reference-xmlconf/dubbo-application.md","ref":"reference-xmlconf/dubbo-application.md","articles":[]},{"title":"6.7 dubbo:module","level":"1.7.7","depth":2,"path":"reference-xmlconf/dubbo-module.md","ref":"reference-xmlconf/dubbo-module.md","articles":[]},{"title":"6.8 dubbo:provider","level":"1.7.8","depth":2,"path":"reference-xmlconf/dubbo-provider.md","ref":"reference-xmlconf/dubbo-provider.md","articles":[]},{"title":"6.9 dubbo:consumer","level":"1.7.9","depth":2,"path":"reference-xmlconf/dubbo-consumer.md","ref":"reference-xmlconf/dubbo-consumer.md","articles":[]},{"title":"6.10 dubbo:method","level":"1.7.10","depth":2,"path":"reference-xmlconf/dubbo-method.md","ref":"reference-xmlconf/dubbo-method.md","articles":[]},{"title":"6.11 dubbo:argument","level":"1.7.11","depth":2,"path":"reference-xmlconf/dubbo-argument.md","ref":"reference-xmlconf/dubbo-argument.md","articles":[]},{"title":"6.12 dubbo:parameter","level":"1.7.12","depth":2,"path":"reference-xmlconf/dubbo-parameter.md","ref":"reference-xmlconf/dubbo-parameter.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-xmlconf/dubbo-service.md","mtime":"2017-08-02T07:31:35.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/reference-xmlconf/introduction.html b/user-guide/reference-xmlconf/introduction.html
deleted file mode 100644
index d091ffb..0000000
--- a/user-guide/reference-xmlconf/introduction.html
+++ /dev/null
@@ -1,1483 +0,0 @@
-
-<!DOCTYPE HTML>
-<html lang="" >
-    <head>
-        <meta charset="UTF-8">
-        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
-        <title>6 schema配置参考手册 · GitBook</title>
-        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
-        <meta name="description" content="">
-        <meta name="generator" content="GitBook 3.2.2">
-        
-        
-        
-    
-    <link rel="stylesheet" href="../gitbook/style.css">
-
-    
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-highlight/website.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search/search.css">
-                
-            
-                
-                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
-                
-            
-        
-
-    
-
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-        
-    
-
-        
-    
-    
-    <meta name="HandheldFriendly" content="true"/>
-    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
-    <meta name="apple-mobile-web-app-capable" content="yes">
-    <meta name="apple-mobile-web-app-status-bar-style" content="black">
-    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
-    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">
-
-    
-    <link rel="next" href="dubbo-service.html" />
-    
-    
-    <link rel="prev" href="../reference-apiconf/api.html" />
-    
-
-    </head>
-    <body>
-        
-<div class="book">
-    <div class="book-summary">
-        
-            
-<div id="book-search-input" role="search">
-    <input type="text" placeholder="Type to search" />
-</div>
-
-            
-                <nav role="navigation">
-                
-
-
-<ul class="summary">
-    
-    
-
-    
-
-    
-        
-        
-    
-        <li class="chapter " data-level="1.1" data-path="../">
-            
-                <a href="../">
-            
-                    
-                    Introduction
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2" >
-            
-                <span>
-            
-                    
-                    1 入门
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.2.1" data-path="../preface/background.html">
-            
-                <a href="../preface/background.html">
-            
-                    
-                    1.1 背景
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.2" data-path="../preface/requirements.html">
-            
-                <a href="../preface/requirements.html">
-            
-                    
-                    1.2 需求
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.3" data-path="../preface/architacture.html">
-            
-                <a href="../preface/architacture.html">
-            
-                    
-                    1.3 架构
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.2.4" data-path="../preface/usage.html">
-            
-                <a href="../preface/usage.html">
-            
-                    
-                    1.4 用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3" >
-            
-                <span>
-            
-                    
-                    2 快速启动
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.3.1" data-path="../dependencies/dependencies.html">
-            
-                <a href="../dependencies/dependencies.html">
-            
-                    
-                    2.1 依赖
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.3.2" data-path="../maturity/maturity.html">
-            
-                <a href="../maturity/maturity.html">
-            
-                    
-                    2.2 成熟度
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4" >
-            
-                <span>
-            
-                    
-                    3 配置
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.4.1" data-path="../configuration/xml.html">
-            
-                <a href="../configuration/xml.html">
-            
-                    
-                    3.1 XML配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.2" data-path="../configuration/properties.html">
-            
-                <a href="../configuration/properties.html">
-            
-                    
-                    3.2 属性配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.3" data-path="../configuration/api.html">
-            
-                <a href="../configuration/api.html">
-            
-                    
-                    3.3 API配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.4.4" data-path="../configuration/annotation.html">
-            
-                <a href="../configuration/annotation.html">
-            
-                    
-                    3.4 注解配置
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5" >
-            
-                <span>
-            
-                    
-                    4 示例
-            
-                </span>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.5.1" data-path="../demos/启动时检查.html">
-            
-                <a href="../demos/启动时检查.html">
-            
-                    
-                    4.1 启动时检查
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.2" data-path="../demos/集群容错.html">
-            
-                <a href="../demos/集群容错.html">
-            
-                    
-                    4.2 集群容错
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.3" data-path="../demos/负载均衡.html">
-            
-                <a href="../demos/负载均衡.html">
-            
-                    
-                    4.3 负载均衡
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.4" data-path="../demos/线程模型.html">
-            
-                <a href="../demos/线程模型.html">
-            
-                    
-                    4.4 线程模型
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.5" data-path="../demos/直连提供者.html">
-            
-                <a href="../demos/直连提供者.html">
-            
-                    
-                    4.5 直连提供者
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.6" data-path="../demos/只订阅.html">
-            
-                <a href="../demos/只订阅.html">
-            
-                    
-                    4.6 只订阅
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.7" data-path="../demos/只注册.html">
-            
-                <a href="../demos/只注册.html">
-            
-                    
-                    4.7 只注册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.8" data-path="../demos/静态服务.html">
-            
-                <a href="../demos/静态服务.html">
-            
-                    
-                    4.8 静态服务
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.9" data-path="../demos/多协议.html">
-            
-                <a href="../demos/多协议.html">
-            
-                    
-                    4.9 多协议
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.10" data-path="../demos/多注册中心.html">
-            
-                <a href="../demos/多注册中心.html">
-            
-                    
-                    4.10 多注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.11" data-path="../demos/服务分组.html">
-            
-                <a href="../demos/服务分组.html">
-            
-                    
-                    4.11 服务分组
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.12" data-path="../demos/多版本.html">
-            
-                <a href="../demos/多版本.html">
-            
-                    
-                    4.13 多版本
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.13" data-path="../demos/分组聚合.html">
-            
-                <a href="../demos/分组聚合.html">
-            
-                    
-                    4.14 分组聚合
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.14" data-path="../demos/参数验证.html">
-            
-                <a href="../demos/参数验证.html">
-            
-                    
-                    4.15 参数验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.15" data-path="../demos/结果缓存.html">
-            
-                <a href="../demos/结果缓存.html">
-            
-                    
-                    4.16 结果缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.16" data-path="../demos/泛化引用.html">
-            
-                <a href="../demos/泛化引用.html">
-            
-                    
-                    4.17 泛化引用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.17" data-path="../demos/泛化实现.html">
-            
-                <a href="../demos/泛化实现.html">
-            
-                    
-                    4.18 泛化实现
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.18" data-path="../demos/回声测试.html">
-            
-                <a href="../demos/回声测试.html">
-            
-                    
-                    4.19 回声测试
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.19" data-path="../demos/上下文信息.html">
-            
-                <a href="../demos/上下文信息.html">
-            
-                    
-                    4.20 上下文信息
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.20" data-path="../demos/隐式传参.html">
-            
-                <a href="../demos/隐式传参.html">
-            
-                    
-                    4.21 隐式参数
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.21" data-path="../demos/异步调用.html">
-            
-                <a href="../demos/异步调用.html">
-            
-                    
-                    4.22 异步调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.22" data-path="../demos/本地调用.html">
-            
-                <a href="../demos/本地调用.html">
-            
-                    
-                    4.23 本地调用
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.23" data-path="../demos/参数回调.html">
-            
-                <a href="../demos/参数回调.html">
-            
-                    
-                    4.24 参数回调
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.24" data-path="../demos/事件通知.html">
-            
-                <a href="../demos/事件通知.html">
-            
-                    
-                    4.25 事件通知
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.25" data-path="../demos/本地存根.html">
-            
-                <a href="../demos/本地存根.html">
-            
-                    
-                    4.26 本地存根
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.26" data-path="../demos/本地伪装.html">
-            
-                <a href="../demos/本地伪装.html">
-            
-                    
-                    4.27 本地伪装
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.27" data-path="../demos/延迟暴露.html">
-            
-                <a href="../demos/延迟暴露.html">
-            
-                    
-                    4.28 延迟暴露
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.28" data-path="../demos/并发控制.html">
-            
-                <a href="../demos/并发控制.html">
-            
-                    
-                    4.29 并发控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.29" data-path="../demos/连接控制.html">
-            
-                <a href="../demos/连接控制.html">
-            
-                    
-                    4.30 连接控制
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.30" data-path="../demos/延迟连接.html">
-            
-                <a href="../demos/延迟连接.html">
-            
-                    
-                    4.31 延迟连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.31" data-path="../demos/粘滞连接.html">
-            
-                <a href="../demos/粘滞连接.html">
-            
-                    
-                    4.32 粘滞连接
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.32" data-path="../demos/令牌验证.html">
-            
-                <a href="../demos/令牌验证.html">
-            
-                    
-                    4.33 令牌验证
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.33" data-path="../demos/路由规则.html">
-            
-                <a href="../demos/路由规则.html">
-            
-                    
-                    4.34 路由规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.34" data-path="../demos/配置规则.html">
-            
-                <a href="../demos/配置规则.html">
-            
-                    
-                    4.35 配置规则
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.35" data-path="../demos/服务降级.html">
-            
-                <a href="../demos/服务降级.html">
-            
-                    
-                    4.36 服务降级
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.36" data-path="../demos/优雅停机.html">
-            
-                <a href="../demos/优雅停机.html">
-            
-                    
-                    4.37 优雅停机
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.37" data-path="../demos/主机绑定.html">
-            
-                <a href="../demos/主机绑定.html">
-            
-                    
-                    4.38 主机绑定
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.38" data-path="../demos/日志适配.html">
-            
-                <a href="../demos/日志适配.html">
-            
-                    
-                    4.39 日志适配
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.39" data-path="../demos/访问日志.html">
-            
-                <a href="../demos/访问日志.html">
-            
-                    
-                    4.40 访问日志
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.40" data-path="../demos/服务容器.html">
-            
-                <a href="../demos/服务容器.html">
-            
-                    
-                    4.41 服务容器
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.41" data-path="../demos/ReferenceConfig缓存.html">
-            
-                <a href="../demos/ReferenceConfig缓存.html">
-            
-                    
-                    4.42 Reference Config缓存
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.5.42" data-path="../demos/分布式事务.html">
-            
-                <a href="../demos/分布式事务.html">
-            
-                    
-                    4.43 分布式事务
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.6" data-path="../reference-apiconf/api.html">
-            
-                <a href="../reference-apiconf/api.html">
-            
-                    
-                    5 API参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter active" data-level="1.7" data-path="introduction.html">
-            
-                <a href="introduction.html">
-            
-                    
-                    6 schema配置参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.7.1" data-path="dubbo-service.html">
-            
-                <a href="dubbo-service.html">
-            
-                    
-                    6.1 dubbo:service
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.2" data-path="dubbo-reference.html">
-            
-                <a href="dubbo-reference.html">
-            
-                    
-                    6.2 dubbo:reference
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.3" data-path="dubbo-protocol.html">
-            
-                <a href="dubbo-protocol.html">
-            
-                    
-                    6.3 dubbo:protocol
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.4" data-path="dubbo-registry.html">
-            
-                <a href="dubbo-registry.html">
-            
-                    
-                    6.4 dubbo:registry
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.5" data-path="dubbo-monitor.html">
-            
-                <a href="dubbo-monitor.html">
-            
-                    
-                    6.5 dubbo:monitor
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.6" data-path="dubbo-application.html">
-            
-                <a href="dubbo-application.html">
-            
-                    
-                    6.6 dubbo:application
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.7" data-path="dubbo-module.html">
-            
-                <a href="dubbo-module.html">
-            
-                    
-                    6.7 dubbo:module
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.8" data-path="dubbo-provider.html">
-            
-                <a href="dubbo-provider.html">
-            
-                    
-                    6.8 dubbo:provider
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.9" data-path="dubbo-consumer.html">
-            
-                <a href="dubbo-consumer.html">
-            
-                    
-                    6.9 dubbo:consumer
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.10" data-path="dubbo-method.html">
-            
-                <a href="dubbo-method.html">
-            
-                    
-                    6.10 dubbo:method
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.11" data-path="dubbo-argument.html">
-            
-                <a href="dubbo-argument.html">
-            
-                    
-                    6.11 dubbo:argument
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.7.12" data-path="dubbo-parameter.html">
-            
-                <a href="dubbo-parameter.html">
-            
-                    
-                    6.12 dubbo:parameter
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8" data-path="../reference-protocol/introduction.html">
-            
-                <a href="../reference-protocol/introduction.html">
-            
-                    
-                    7 协议参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.8.1" data-path="../reference-protocol/dubbo.html">
-            
-                <a href="../reference-protocol/dubbo.html">
-            
-                    
-                    7.1 dubbo://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.2" data-path="../reference-protocol/rmi.html">
-            
-                <a href="../reference-protocol/rmi.html">
-            
-                    
-                    7.2 rmi//
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.3" data-path="../reference-protocol/hessian.html">
-            
-                <a href="../reference-protocol/hessian.html">
-            
-                    
-                    7.3 hessian://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.4" data-path="../reference-protocol/http.html">
-            
-                <a href="../reference-protocol/http.html">
-            
-                    
-                    7.4 http://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.5" data-path="../reference-protocol/webservice.html">
-            
-                <a href="../reference-protocol/webservice.html">
-            
-                    
-                    7.5 webservice://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.6" data-path="../reference-protocol/thrift.html">
-            
-                <a href="../reference-protocol/thrift.html">
-            
-                    
-                    7.6 thrift://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.7" data-path="../reference-protocol/memcached.html">
-            
-                <a href="../reference-protocol/memcached.html">
-            
-                    
-                    7.7 memcached://
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.8.8" data-path="../reference-protocol/redis.html">
-            
-                <a href="../reference-protocol/redis.html">
-            
-                    
-                    7.8 redis://
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9" data-path="../reference-registry/introduction.html">
-            
-                <a href="../reference-registry/introduction.html">
-            
-                    
-                    8 注册中心参考手册
-            
-                </a>
-            
-
-            
-            <ul class="articles">
-                
-    
-        <li class="chapter " data-level="1.9.1" data-path="../reference-registry/multicast.html">
-            
-                <a href="../reference-registry/multicast.html">
-            
-                    
-                    8.1 Multicast注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.2" data-path="../reference-registry/zookeeper.html">
-            
-                <a href="../reference-registry/zookeeper.html">
-            
-                    
-                    8.2 Zookeeper注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.3" data-path="../reference-registry/redis.html">
-            
-                <a href="../reference-registry/redis.html">
-            
-                    
-                    8.3 Redis注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.9.4" data-path="../reference-registry/simple.html">
-            
-                <a href="../reference-registry/simple.html">
-            
-                    
-                    8.4 Simple注册中心
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-            </ul>
-            
-        </li>
-    
-        <li class="chapter " data-level="1.10" data-path="../reference-telnet/telnet.html">
-            
-                <a href="../reference-telnet/telnet.html">
-            
-                    
-                    9 telnet命令参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.11" data-path="../reference-maven/maven.html">
-            
-                <a href="../reference-maven/maven.html">
-            
-                    
-                    10 maven插件参考手册
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.12" data-path="../best-practice.html">
-            
-                <a href="../best-practice.html">
-            
-                    
-                    11 服务化最佳实践
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.13" data-path="../recommend.html">
-            
-                <a href="../recommend.html">
-            
-                    
-                    12 推荐用法
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.14" data-path="../capacity-plan.html">
-            
-                <a href="../capacity-plan.html">
-            
-                    
-                    13 容量规划
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.15" data-path="../benchmark.html">
-            
-                <a href="../benchmark.html">
-            
-                    
-                    14 基准测试工具包
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.16" data-path="../perf-test.html">
-            
-                <a href="../perf-test.html">
-            
-                    
-                    15 性能测试报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-        <li class="chapter " data-level="1.17" data-path="../coveragence.html">
-            
-                <a href="../coveragence.html">
-            
-                    
-                    16 测试覆盖率报告
-            
-                </a>
-            
-
-            
-        </li>
-    
-
-    
-
-    <li class="divider"></li>
-
-    <li>
-        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
-            Published with GitBook
-        </a>
-    </li>
-</ul>
-
-
-                </nav>
-            
-        
-    </div>
-
-    <div class="book-body">
-        
-            <div class="body-inner">
-                
-                    
-
-<div class="book-header" role="navigation">
-    
-
-    <!-- Title -->
-    <h1>
-        <i class="fa fa-circle-o-notch fa-spin"></i>
-        <a href=".." >6 schema配置参考手册</a>
-    </h1>
-</div>
-
-
-
-
-                    <div class="page-wrapper" tabindex="-1" role="main">
-                        <div class="page-inner">
-                            
-<div id="book-search-results">
-    <div class="search-noresults">
-    
-                                <section class="normal markdown-section">
-                                
-                                <blockquote>
-<p><img src="../sources/images/check.gif" alt="warning">&#x8FD9;&#x91CC;&#x4EE5;Xml Config&#x4E3A;&#x51C6;&#xFF0C;&#x5217;&#x4E3E;&#x6240;&#x6709;&#x914D;&#x7F6E;&#x9879;&#xFF0C;&#x5176;&#x5B83;&#x914D;&#x7F6E;&#x65B9;&#x5F0F;&#xFF0C;&#x8BF7;&#x53C2;&#x89C1;&#x76F8;&#x5E94;&#x8F6C;&#x6362;&#x5173;&#x7CFB;&#xFF1A;Properties Config&#xFF0C;Annotation Config&#xFF0C;API Config</p>
-<p><img src="../sources/images/warning-3.gif" alt="warning">&#x6CE8;&#x610F;&#xFF1A;&#x53EA;&#x6709;group&#xFF0C;interface&#xFF0C;version&#x662F;&#x670D;&#x52A1;&#x7684;&#x5339;&#x914D;&#x6761;&#x4EF6;&#xFF0C;&#x4E09;&#x8005;&#x51B3;&#x5B9A;&#x662F;&#x4E0D;&#x662F;&#x540C;&#x4E00;&#x4E2A;&#x670D;&#x52A1;&#xFF0C;&#x5176;&#x5B83;&#x914D;&#x7F6E;&#x9879;&#x5747;&#x4E3A;&#x8C03;&#x4F18;&#x548C;&#x6CBB;&#x7406;&#x53C2;&#x6570;&#x3002;</p>
-</blockquote>
-<p>&#x6240;&#x6709;&#x914D;&#x7F6E;&#x9879;&#x5206;&#x4E3A;&#x4E09;&#x5927;&#x7C7B;&#xFF0C;&#x53C2;&#x89C1;&#x4E0B;&#x8868;&#x4E2D;&#x7684;&quot;&#x4F5C;&#x7528;&quot;&#x4E00;&#x5217;&#x3002;</p>
-<ul>
-<li>&#x670D;&#x52A1;&#x53D1;&#x73B0;&#xFF1A;&#x8868;&#x793A;&#x8BE5;&#x914D;&#x7F6E;&#x9879;&#x7528;&#x4E8E;&#x670D;&#x52A1;&#x7684;&#x6CE8;&#x518C;&#x4E0E;&#x53D1;&#x73B0;&#xFF0C;&#x76EE;&#x7684;&#x662F;&#x8BA9;&#x6D88;&#x8D39;&#x65B9;&#x627E;&#x5230;&#x63D0;&#x4F9B;&#x65B9;&#x3002;</li>
-<li>&#x670D;&#x52A1;&#x6CBB;&#x7406;&#xFF1A;&#x8868;&#x793A;&#x8BE5;&#x914D;&#x7F6E;&#x9879;&#x7528;&#x4E8E;&#x6CBB;&#x7406;&#x670D;&#x52A1;&#x95F4;&#x7684;&#x5173;&#x7CFB;&#xFF0C;&#x6216;&#x4E3A;&#x5F00;&#x53D1;&#x6D4B;&#x8BD5;&#x63D0;&#x4F9B;&#x4FBF;&#x5229;&#x6761;&#x4EF6;&#x3002;</li>
-<li>&#x6027;&#x80FD;&#x8C03;&#x4F18;&#xFF1A;&#x8868;&#x793A;&#x8BE5;&#x914D;&#x7F6E;&#x9879;&#x7528;&#x4E8E;&#x8C03;&#x4F18;&#x6027;&#x80FD;&#xFF0C;&#x4E0D;&#x540C;&#x7684;&#x9009;&#x9879;&#x5BF9;&#x6027;&#x80FD;&#x4F1A;&#x4EA7;&#x751F;&#x5F71;&#x54CD;&#x3002;</li>
-<li>&#x6240;&#x6709;&#x914D;&#x7F6E;&#x6700;&#x7EC8;&#x90FD;&#x5C06;&#x8F6C;&#x6362;&#x4E3A;URL&#x8868;&#x793A;&#xFF0C;&#x5E76;&#x7531;&#x670D;&#x52A1;&#x63D0;&#x4F9B;&#x65B9;&#x751F;&#x6210;&#xFF0C;&#x7ECF;&#x6CE8;&#x518C;&#x4E2D;&#x5FC3;&#x4F20;&#x9012;&#x7ED9;&#x6D88;&#x8D39;&#x65B9;&#xFF0C;&#x5404;&#x5C5E;&#x6027;&#x5BF9;&#x5E94;URL&#x7684;&#x53C2;&#x6570;&#xFF0C;&#x53C2;&#x89C1;&#x914D;&#x7F6E;&#x9879;&#x4E00;&#x89C8;&#x8868;&#x4E2D;&#x7684;&quot;&#x5BF9;&#x5E94;URL&#x53C2;&#x6570;&quot;&#x5217;&#x3002;</li>
-</ul>
-<p>URL&#x683C;&#x5F0F;&#xFF1A;  </p>
-<blockquote>
-<p>protocol://username:password@host:port/path?key=value&amp;key=value</p>
-</blockquote>
-<p>Schema: <a href="http://code.alibabatech.com/schema/dubbo/dubbo.xsd" target="_blank">http://code.alibabatech.com/schema/dubbo/dubbo.xsd</a></p>
-
-                                
-                                </section>
-                            
-    </div>
-    <div class="search-results">
-        <div class="has-results">
-            
-            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
-            <ul class="search-results-list"></ul>
-            
-        </div>
-        <div class="no-results">
-            
-            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
-            
-        </div>
-    </div>
-</div>
-
-                        </div>
-                    </div>
-                
-            </div>
-
-            
-                
-                <a href="../reference-apiconf/api.html" class="navigation navigation-prev " aria-label="Previous page: 5 API参考手册">
-                    <i class="fa fa-angle-left"></i>
-                </a>
-                
-                
-                <a href="dubbo-service.html" class="navigation navigation-next " aria-label="Next page: 6.1 dubbo:service">
-                    <i class="fa fa-angle-right"></i>
-                </a>
-                
-            
-        
-    </div>
-
-    <script>
-        var gitbook = gitbook || [];
-        gitbook.push(function() {
-            gitbook.page.hasChanged({"page":{"title":"6 schema配置参考手册","level":"1.7","depth":1,"next":{"title":"6.1 dubbo:service","level":"1.7.1","depth":2,"path":"reference-xmlconf/dubbo-service.md","ref":"reference-xmlconf/dubbo-service.md","articles":[]},"previous":{"title":"5 API参考手册","level":"1.6","depth":1,"path":"reference-apiconf/api.md","ref":"reference-apiconf/api.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":[],"pluginsConfig":{"highlight":{},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"fontsettings":{"theme":"white","family":"sans","size":2},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"}},"file":{"path":"reference-xmlconf/introduction.md","mtime":"2017-08-02T06:13:39.000Z","type":"markdown"},"gitbook":{"version":"3.2.2","time":"2017-08-02T07:44:23.983Z"},"basePath":"..","book":{"language":""}});
-        });
-    </script>
-</div>
-
-        
-    <script src="../gitbook/gitbook.js"></script>
-    <script src="../gitbook/theme.js"></script>
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search-engine.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-search/search.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-sharing/buttons.js"></script>
-        
-    
-        
-        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
-        
-    
-
-    </body>
-</html>
-
diff --git a/user-guide/search_index.json b/user-guide/search_index.json
deleted file mode 100644
index 3d90db6..0000000
--- a/user-guide/search_index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["introduct","如果你正依赖dubbo作为你业务工程的rpc通信框架,这里可以作为你的参考手册","这篇文档详细讲解了dubbo的使用,基本涵盖dubbo的所有功能特性。"],"preface/background.html":["1.1","分布式服务架构","单一应用架构","垂直应用架构``","当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。","当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。","当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。","当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。","此时,用于加速前端页面开发的web框架(mvc)是关键。","此时,用于提高业务复用及整合的分布式服务框架(rpc)是关键。","此时,用于提高机器利用率的资源调度和治理中心(soa)是关键。","此时,用于简化增删改查工作量的数据访问框架(orm)是关键。","流动计算架构","背景","随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。"],"preface/requirements.html":["(1)","1.2","govern","http://code.alibabatech.com/blog/experience_1402/servic","process.html","以上是dubbo最基本的几个需求,更多服务治理问题参见:","其次,要可以动态调整权重,在线上,将某台机器的权重一直加大,并在加大的过程中记录响应时间的变化,直到响应时间到达阀值,记录此时的访问量,再以此访问量乘以机器数反推总容量。","在大规模服务化之前,应用可能只是通过rmi或hessian等工具,简单的暴露和引用远程服务,通过配置服务的url地址进行调用,通过f5等硬件进行负载均衡。","并通过在消费方获取服务提供方地址列表,实现软负载均衡和failover,降低对f5硬件负载均衡器的依赖,也能减少部分成本。(2)","当服务越来越多时,服务url配置管理变得非常困难,f5硬件负载均衡器的单点压力也越来越大。此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。","当进一步发展,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整的描述应用的架构关系。这时,需要自动画出应用间的依赖关系图,以帮助架构师理清理关系。(3)","接着,服务的调用量越来越大,服务的容量问题就暴露出来,这个服务需要多少机器支撑?什么时候该加机器?为了解决这些问题,第一步,要将服务现在每天的调用量,响应时间,都统计出来,作为容量规划的参考指标。","需求"],"preface/architacture.html":["(1)","(2)","(3)","(4)","1.3","admin:","consumer:","container:","deployer:","monitor:","provider:","registry:","repository:","scheduler:","仓库用于存储服务应用发布包。","伸缩性:","健状性:","升级性:","当服务集群规模进一步扩大,带动it治理结构进一步升级,需要实现动态部署,进行流动计算,现有分布式服务架构不会带来阻力:","数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务","暴露服务的服务提供方","服务容器负责启动,加载,运行服务提供者。","服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复","服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销","服务提供者在启动时,向注册中心注册自己提供的服务。","服务提供者无状态,任意一台宕掉后,不影响使用","服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者","服务注册与发现的注册中心。","服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销","服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。","服务消费者在启动时,向注册中心订阅自己所需的服务。","服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。","服务运行容器。","架构","注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心","注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯","注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表","注册中心和监控中心都是可选的,服务消费者可以直连服务提供者","注册中心对等集群,任意一台宕掉后,将自动切换到另一台","注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小","注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。","注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者","注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外","监控中心宕掉不影响使用,只是丢失部分采样数据","监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示","统一管理控制台。","统计服务的调用次调和调用时间的监控中心。","自动部署服务的本地代理。","节点角色说明:","调度中心基于访问压力自动增减服务提供者。","调用关系说明:","调用远程服务的服务消费方。","连通性:"],"preface/usage.html":["\"","\"hello","(demoservice)context.getbean(\"demoservice\");",");","+","//","1.4","=","args)","class","classpathxmlapplicationcontext","classpathxmlapplicationcontext(new","com.alibaba.dubbo.demo.demoservice;","com.alibaba.dubbo.demo.provider;","com.alibaba.dubbo.demo;","consum","consumer.java","consumer.xml","context","context.start();","demoservic","demoservice.java","demoservice.sayhello(\"world\");","demoserviceimpl","demoserviceimpl.java","dubbo采用全spring配置方式,透明化接入应用,对应用没有任何api侵入,只需用spring加载dubbo的配置即可,dubbo基于spring的schema扩展进行加载。","except","hello","implement","import","interfac","main(string[]","name)","name);","name;","new","org.springframework.context.support.classpathxmlapplicationcontext;","packag","provid","provider.java","provider.xml","public","return","sayhello(str","spring","static","string","string[]","system.in.read();","system.out.println(","throw","void","{","{\"http://10.20.160.198/wiki/display/dubbo/consumer.xml\"});","{\"http://10.20.160.198/wiki/display/dubbo/provider.xml\"});","}","也可以使用ioc注入","加载spring配置","加载spring配置,并调用远程服务","在服务提供方实现接口","如果不想使用spring配置,而希望通过api的方式进行调用(不推荐),请参见:api配置","完整安装步骤,请参见:示例提供者安装","完整安装步骤,请参见:示例消费者安装","定义服务接口","对服务消费方隐藏实现","执行远程方法","按任意键退出","显示调用结果","服务提供者","服务消费者","用","用法","获取远程服务代理","该接口需单独打包,在服务提供方和消费方共享","通过spring配置引用远程服务","配置声明暴露服务"],"dependencies/dependencies.html":["+","0.1","0.4","0.8.0","1.0.0.ga","1.0.13","1.1.10","1.1.7","1.1.8","1.3.6","1.4.1","2.0.0","2.1","2.1.4","2.5","2.6.1","3.1","3.2.1","3.3.3","4.0.7","4.1.2","4.2.0.final","6.1.26",">","[info]","\\","api:","bsf:","com.alibaba:dubbo:jar:2.1.2:compil","common","curator:","cxf:","dep.log命令分析,dubbo缺省依赖以下三方库:","dependency:tre","fastjson:","fix","ga:compil","grizzly:","hessian:","hessian_lite:","hibern","httpclient:","javassist.jar","jcache:","jdk1.5+","jedis:","jee:","jetty:","jfreechart:","log4j.jar和common","log4j:log4j:jar:1.2.16:compil","logging.jar日志输出包。","logging:common","logging:jar:1.1.1:compil","logging,则不能去掉。","mina:","netty.jar","org.javassist:javassist:jar:3.15.0","org.jboss.netty:netty:jar:3.2.5.final:compil","org.springframework:spring:jar:2.5.6.sec03:compil","servlet:","spring.jar","thrift:","valid","validator:","xmemcached:","xstream:","zkclient:","zookeeper:","|","以下依赖,在主动配置使用相应实现策略时用到,需自行加入依赖。","但如果其它三方库比如spring.jar间接依赖common","依赖","可以直接去掉,dubbo本身的日志会自动切换为jdk的java.util.logging输出。","如果或,以及,则不需要。","如果或,则换成mina.jar或grizzly.jar。","如果用serviceconfig和referenceconfig的api调用,则不需要。","如果,则不需要。可选依赖","字节码生成。","必须依赖","理论上dubbo可以只依赖jdk,不依赖于任何三方库运行,只需配置使用jdk相关实现策略。","缺省依赖","网络传输。","这里所有依赖都是换照dubbo缺省配置选的,这些缺省值是基于稳定性和性能考虑的。","通过mvn","配置解析。"],"maturity/maturity.html":["2.2","2.3.3以上版本(推荐使用)","advis","alibaba","broadcast","cluster","consistenthash","contain","dogfooding,注册中心本身也是一个标准的rpc服务","dubbo","dubbo协议","failback","failfast","failov","failsaf","featur","fork","grizzli","hessian","hessian协议","hessian的各版本兼容性不好,可能和应用使用的hessian冲突,dubbo内嵌了hessian3.2.1的源码","inf/spring目录下的所有spring配置","java","javassist","java原生支持","jboss的nio框架,性能较好(推荐使用)","jdk","jdk原生支持","jetti","json","jta/xa三阶段提交事务","laiwang","leastact","loadbal","log4j","matur","mina","monitor","multicast注册中心","netti","problem","proxyfactori","random","redis注册中心","registri","research","rmi协议","roundrobin","serial","simple注册中心","simple监控中心","spring","stabl","strength","sun的nio框架,应用于glassfish服务器中","test","transport","user","xx:permsize=128m","zookeeper注册中心","一次请求派发两种事件,需屏蔽无用事件","一致性hash,相同参数的请求总是发到同一提供者,当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动","不可用","不可靠异步调用","不可靠,重启丢失","不支持权重,在容量规划时,不能通过权重把压力导向一台机器压测容量","不稳定","事件通知","事件通知,在远程调用执行前后触发","令牌验证","令牌验证,用于服务授权","伪造返回结果,可在失败时执行,或直接执行,用于服务降级","依赖于javassist.jar包,占用jvm的perm内存,perm可能要设大一些:java","依赖于zookeeper的稳定性","依赖于网络拓普和路由,跨机房有风险","偶尔会连接失败,需重建stub","分布式事务","分组聚合","分组聚合返回值,用于菜单聚合等服务","功能成熟度","动态下发配置,实现功能的开关","动态决定调用关系","压力分摊不均","去中心化,不需要安装注册中心","参数回调","参数验证","参数验证,jsr303验证框架集成","可与原生hessian互操作,基于http协议","可与原生rmi互操作,基于tcp协议","可用于生产环境","启动一个内嵌jetty,用于汇报状态","回声测试","在一个截面上碰撞的概率高,重试时,可能出现瞬间压力不均","在大文件传输时,单一连接会成为瓶颈","在客户端执行部分逻辑","基于条件表达式的路由规则,功能简单易用","基于脚本引擎的路由规则,功能强大","大量访问页面时,会影响服务器的线程和内存","失败安全,出现异常时,直接忽略,通常用于写入审计日志等操作","失败自动切换,当出现失败,重试其它服务器,通常用于读操作(推荐使用)","失败自动恢复,后台记录失败请求,定时重发,通常用于消息通知操作","如果有机器正在重启,可能会出现调用失败","存在慢的机器累积请求问题,极端情况可能产生雪崩","对性能有影响","小规模应用或开发测试环境","并发控制","并行调用多个服务器,只要一个成功即返回,通常用于实时性要求较高的读操作","广播调用所有提供者,逐个调用,任意一台报错则报错,通常用于更新提供方本地状态","延迟建立连接,调用时建立","延迟暴露","延迟暴露服务,用于等待应用加载warmup数据,或等待spring加载完成","延迟连接","异步调用","当参数对象增加字段时,需外部文件声明","待发送消息队列派发不及时,大压力下,会出现fullgc","快速失败,只发起一次调用,失败立即报错,通常用于非幂等性的写操作","性能较好,多语言支持(推荐使用)","性能较差","成熟度","支持jfreechart统计报表","支持基于客户端双写的集群方式,性能高","支持基于网络的集群方式,有广泛周边开源产品,建议使用dubbo","最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差,使慢的机器收到更少请求","有些复杂多分支条件情况,规则很难描述","本地伪装","本地存储,影响性能,受磁盘大小限制","本地存根","本地调用","条件路由规则","没有运行沙箱,脚本能力过于强大,可能成为后门","没有集群支持,可能单点故障","没有集群支持,可能单点故障,但故障后不影响rpc运行","泛化实现","泛化实现,无需业务接口类实现任意接口,用于mock平台","泛化引用","泛化调用,无需业务接口类进行远程调用,用于测试平台,开放网关桥接等","测试环境使用","点对点直连服务提供方,用于测试","特殊场景使用","用户不能控制log4j的配置,不灵活","直连提供者","策略成熟度","粘滞连接","粘滞连接,总是向同一个提供方发起请求,除非此提供方挂掉,再切换到另一台","纯文本,可跨语言解析,缺省采用fastjson解析","线程池不可扩展,filter不能拦截下一filt","结果缓存","结果缓存,用于加速请求","老牌nio框架,稳定","脚本路由规则","自动加载meta","自动配置log4j的配置,在多进程启动时,自动给日志文件按进程分目录","要求服务器时间同步,用于检查心跳过期脏数据","访问日志","访问日志,用于记录调用信息","试用","调用信息丢失","路由规则","轮循,按公约后的权重设置轮循比率","连接控制","连接数控制","通过不传送pojo的类元信息,在大量pojo传输时,性能较好","通过字节码生成代替反射,性能比较好(推荐使用)","速度慢,任意一台报错则报错","配置规则","采用nio复用单一长连接,并使用线程池并发处理请求,减少握手和加大并发效率,性能较好(推荐使用)","重试会带来更长延迟","附加参数","随机,按权重设置随机概率(推荐使用)","隐式传参","需hessian.jar支持,http短连接的开销大","需注册中心支持","需要浪费更多服务资源"],"configuration/xml.html":["3.1","actives等类似。","api使用说明如果不想使用spring配置,而希望通过api的方式进行调用,请参见:api配置","configur","loadbalance,","override:","provider.xml","providerconfig均可以缺省配置。","relation:","xml配置","上图中以timeout为例,显示了配置的查找顺序,其它retries,","其中,服务提供方配置,通过url经由注册中心传递给消费方。","协议配置,用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受。","如果级别一样,则消费方优先,提供方次之。","如:","应用配置,用于配置当前应用信息,不管该应用是提供者还是消费者。","建议由服务提供方设置超时,因为一个方法需要执行多长时间,服务提供方更清楚,如果一个消费方同时引用多个服务,就不需要关心每个服务的超时设置。","引用配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心。","或:(2.1.0开始支持)","所有标签者支持自定义参数,用于不同扩展点实现的特殊配置。","提供方的缺省值,当protocolconfig和serviceconfig某属性没有配置时,采用此缺省值,可选。","方法级优先,接口级次之,全局配置再次之。","方法配置,用于serviceconfig和referenceconfig指定方法级的配置信息。","服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。","模块配置,用于配置当前模块信息,可选。","注册中心配置,用于配置连接注册中心相关信息。","注意声明:xmlns:p=\"http://www.springframework.org/schema/p\"","消费方缺省配置,当referenceconfig某属性没有配置时,采用此缺省值,可选。","理论上referenceconfig的非服务标识配置,在consumerconfig,serviceconfig,","用于指定方法参数配置。","监控中心配置,用于配置连接监控中心相关信息,可选。","示例:","配置使用说明想知道如何使用配置,请参见:tutori","配置项说明详细配置项,请参见:配置参考手册"],"configuration/properties.html":["3.2","ddubbo.properties.file=xxx.properti","dubbo.application.name=foo","dubbo.application.owner=bar","dubbo.properti","dubbo.registry.address=10.20.153.10:9090","dubbo将自动加载classpath根目录下的dubbo.properties,可以通过jvm启动参数:","d参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口。","jvm启动","properties最后,相当于缺省值,只有xml没有配置时,dubbo.properties的相应配置项才会生效,通常用于共享公共配置,比如应用名。","xml次之,如果在xml中有配置,则dubbo.properties中的相应配置项无效。","典型配置如:","如果classpath根目录下存在多个dubbo.properties,比如多个jar包中有dubbo.properties,dubbo会任意加载,并打印error日志,后续可能改为抛异常。","如果xml有多行同名标签配置,可用id号区分,如果没有id号将对所有同名标签生效:","如果公共配置很简单,没有多注册中心,多协议等情况,或者想多个spring容器想共享配置,可以使用dubbo.properties作为缺省配置。","将xml配置的标签名,加属性名,用点分隔,多个属性拆成多行:","属性配置","改变缺省配置位置。","映射规则:","比如:dubbo.application.name=foo等价于","比如:dubbo.protocol.rmi.port=1234等价于(协议的id没配时,缺省使用协议名作为id)","比如:dubbo.registry.address=10.20.153.10:9090等价于","比如:dubbo.registry.china.address=10.20.153.10:9090等价于","覆盖策略:"],"configuration/api.html":["(1).","(2).","(3).","(3.1).","(3.2).","...","//","3.3","=","api使用范围api仅用于openapi,","api属性含义参考api属性与配置项一对一,各属性含义,请参见:,比如:applicationconfig.setname(\"xxx\")","api配置","applic","application.setname(\"xxx\");","application.setname(\"yyy\");","applicationconfig","applicationconfig();","arraylist();","com.alibaba.dubbo.rpc.config.applicationconfig;","com.alibaba.dubbo.rpc.config.consumerconfig;","com.alibaba.dubbo.rpc.config.providerconfig;","com.alibaba.dubbo.rpc.config.referenceconfig;","com.alibaba.dubbo.rpc.config.registryconfig;","com.alibaba.dubbo.rpc.config.serviceconfig;","com.xxx.xxxservice;","com.xxx.xxxserviceimpl;","esb,","import","list","method","method.setname(\"createxxx\");","method.setretries(0);","method.settimeout(10000);","methodconfig","methodconfig();","methods.add(method);","mock等系统集成,普通服务提供方或消费方,请采用配置方式使用dubbo,请参见:","new","protocol","protocol.setname(\"dubbo\");","protocol.setport(12345);","protocol.setthreads(200);","protocolconfig","protocolconfig();","refer","reference.get();","reference.setapplication(application);","reference.setinterface(xxxservice.class);","reference.setmethods(methods);","reference.setregistry(registry);","reference.seturl(\"dubbo://10.20.130.230:20880/com.xxx.xxxservice\");","reference.setversion(\"1.0.0\");","referenceconfig","referenceconfig();","registri","registry.setaddress(\"10.20.130.230:9090\");","registry.setpassword(\"bbb\");","registry.setusername(\"aaa\");","registryconfig","registryconfig();","servic","service.export();","service.setapplication(application);","service.setinterface(xxxservice.class);","service.setprotocol(protocol);","service.setref(xxxservice);","service.setregistry(registry);","service.setversion(\"1.0.0\");","serviceconfig","serviceconfig();","test,","xxxservic","xxxserviceimpl();","其中,协议对应provider.setprotocol()的值,端口对应provider.setport()的值,","和本地bean一样使用xxxservic","多个协议可以用setprotocols()","多个注册中心可以用setregistries()","如果点对点直连,可以用reference.seturl()指定目标地址,设置url后将绕过注册中心,","对应","引用远程服务","当前应用配置","方法级设置","方法级配置","暴露及注册服务","服务实现","服务提供者","服务提供者协议配置","服务提供者暴露服务配置","服务消费者","此实例很重,封装了与注册中心的连接以及与提供者的连接,请自行缓存,否则可能造成内存和连接泄漏","此实例很重,封装了与注册中心的连接,请自行缓存,否则可能造成内存和连接泄漏","注意:referenceconfig为重对象,内部封装了与注册中心的连接,以及与服务提供方的连接","注意:serviceconfig为重对象,内部封装了与注册中心的连接,以及开启服务端口","注意:此代理对象内部封装了所有通讯细节,对象较重,请缓存复用","注:下面只列出不同的地方,其它参见上面的写法","点对点直连","特殊场景","设置方法级配置","路径对应service.setpath()的值,如果未设置path,缺省path为接口名","连接注册中心配置"],"configuration/annotation.html":["......","//","2.2.1以上版本支持","3.4","@compon","@reference(version=\"1.0.0\")","@service(version=\"1.0.0\")","baract","class","com.alibaba.dubbo.config.annotation.reference;","com.alibaba.dubbo.config.annotation.service;","fooservic","fooservice;","fooserviceimpl","implement","import","org.springframework.stereotype.component;","privat","public","scan,如果用的是spring2.0及以前版本,需配置:","spring2.5及以后版本支持compon","{","}","也可以使用:(等价于前面的:)","服务提供方注解:","服务提供方配置:","服务消费方注解:","服务消费方配置:","注解配置"],"demos/启动时检查.html":["4.1","check=\"false\"","check=\"false\",总是会返回引用,当服务恢复时,能自动连上。","check=\"tr\bue\"。","ddubbo.consumer.check=fals","ddubbo.reference.check=fals","ddubbo.reference.com.foo.barservice.check=fals","ddubbo.registry.check=fals","dubbo.consumer.check=fals","dubbo.consumer.check=false,是设置check的缺省值,如果配置中有显式的声明,如:,不会受影响。","dubbo.reference.check=fals","dubbo.reference.check=false,强制改变所有reference的check值,就算配置中有声明,也会被覆盖。","dubbo.reference.com.foo.barservice.check=fals","dubbo.registry.check=fals","dubbo.registry.check=false,前面两个都是指订阅成功,但提供者列表是否为空是否报错,如果注册订阅失败时,也允许启动,需使用此选项,将在后台定时重试。","dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止spring初始化完成,以便上线时,能及早发现问题,默认","d参数","java","也可以用","也可以用dubbo.properties配置","关闭所有服务的启动时检查:","关闭某个服务的启动时检查:","关闭检查,比如,测试时,有些服务不关心,或者出现了循环依赖,必须有一方先启动。","关闭注册中心启动时检查:","可以通过","启动时检查","如果你的spring容器是懒加载的,或者通过api编程延迟引用服务,请关闭check,否则服务临时不可用时,会抛出异常,拿到null引用,如果","如果需要饥饿加载,即没有人引用也立即生成动态代理,可以配置:","引用缺省是延迟初始化的,只有引用被注入到其它bean,或被getbean()获取,才会初始化。","没有提供者时报错","注册订阅失败时报错","注意区别"],"demos/集群容错.html":["(failover集群模式生效)","4.2","broadcast","cluster","cluster将directory中的多个invoker伪装成一个invoker,对上层透明,伪装过程包含了容错逻辑,调用失败后,重试另一个。","directory代表多个invoker,可以把它看成list,但与list不同的是,它的值可能是动态变化的,比如注册中心推送变更。","failback","failfast","failov","failsaf","fork","forks=\"2\"","loadbalance负责从多个invoker中选出具体的一个用于本次调用,选的过程包含了负载均衡算法,调用失败后,需要重选","retries=\"2\"","router负责从多个invoker中按路由规则选出子集,比如读写分离,应用隔离等。","可以自行扩展集群容错策略,参见:集群扩展","可通过","各节点关系:","在集群调用失败时,dubbo提供了多种容错方案,缺省为failover重试。","失败安全,出现异常时,直接忽略。","失败自动切换,当出现失败,重试其它服务器。(缺省)","失败自动恢复,后台记录失败请求,定时重发。","并行调用多个服务器,只要一个成功即返回。","广播调用所有提供者,逐个调用,任意一台报错则报错。(2.1.0开始支持)","快速失败,只发起一次调用,失败立即报错。","或","来设置最大并行数。","来设置重试次数(不含第一次)。","这里的invoker是provider的一个可调用service的抽象,invoker封装了provider地址及service接口信息。","通常用于写入审计日志等操作。","通常用于实时性要求较高的读操作,但需要浪费更多服务资源。","通常用于消息通知操作。","通常用于读操作,但重试会带来更长延迟。","通常用于通知所有提供者更新缓存或日志等本地资源信息。","通常用于非幂等性的写操作,比如新增记录。","重试次数配置如:","集群容错","集群容错模式","集群模式配置如:"],"demos/负载均衡.html":["4.3","consistenthash","leastact","loadbal","random","roundrobin","一致性hash,相同参数的请求总是发到同一提供者。","使慢的提供者收到更少请求,因为越慢的提供者的调用前后计数差会越大。","在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。","在集群负载均衡时,dubbo提供了多种均衡策略,缺省为random随机调用。可以自行扩展负载均衡策略,参见:负载均衡扩展","存在慢的提供者累积请求的问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。","当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。","或","最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差。","算法参见:http://en.wikipedia.org/wiki/consistent_hashing。","缺省只对第一个参数hash,如果要修改,请配置","缺省用160份虚拟节点,如果要修改,请配置","负载均衡","轮循,按公约后的权重设置轮循比率。","配置如:","随机,按权重设置随机概率。"],"demos/线程模型.html":["4.4","cach","connect","direct","dispatch","execut","fix","limit","messag","threadpool","事件处理线程说明","但如果事件处理逻辑较慢,或者需要发起新的io请求,比如需要查询数据库,则必须派发到线程池,否则io线程阻塞,将导致不能接收其它请求。","只有请求响应消息派发到线程池,其它连接断开事件,心跳等消息,直接在io线程上执行。","只请求消息派发到线程池,不含响应,响应和其它连接断开事件,心跳等消息,直接在io线程上执行。","可伸缩线程池,但池中的线程数只会增长不会收缩。(为避免收缩时突然来了大流量引起的性能问题)。","固定大小线程池,启动时建立线程,不关闭,一直持有。(缺省)","在io线程上,将连接断开事件放入队列,有序逐个执行,其它消息派发到线程池。","如果事件处理的逻辑能迅速完成,并且不会发起新的io请求,比如只是在内存中记个标识,则直接在io线程上处理更快,因为减少了线程池调度。","如果用io线程处理事件,又在事件处理过程中发起新的io请求,比如在连接事件中发起登录请求,会报“可能引发死锁”异常,但不会真死锁。","所有消息都不派发到线程池,全部在io线程上直接执行。","所有消息都派发到线程池,包括请求,响应,连接事件,断开事件,心跳等。","线程模型","缓存线程池,空闲一分钟自动删除,需要时重建。","配置如下:"],"demos/直连提供者.html":["1.0.6及以上版本支持","2.0以上版本自动加载${user.home}/dubbo","4.5","com.alibaba.xxx.xxxservice=dubbo://localhost:20890","dcom.alibaba.xxx.xxxservice=dubbo://localhost:20890","ddubbo.resolve.file=xxx.properti","ddubbo.resolve.file指定映射文件路径,此配置优先级高于中的配置,1.0.15及以上版本支持","d参数映射服务地址,如:","java","key为服务名,value为服务提供者url,此配置优先级最高,1.0.15及以上版本支持","resolve.properties文件,不需要配置","中配置url指向提供者,将绕过注册中心,多个地址用分号隔开,配置如下:","在jvm启动参数中加入","在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连,点对点直联方式,将以服务接口为单位,忽略注册中心的提供者列表,a接口配置点对点,不影响b接口从注册中心获取列表。","如果是线上需求需要点对点,可在","如果服务比较多,也可以用文件映射,如:","注意为了避免复杂化线上环境,不要在线上使用这个功能,只应在测试阶段使用。","然后在映射文件xxx.properties中加入:(key为服务名,value为服务提供者url)","用","直连提供者"],"demos/只订阅.html":["4.6","只订阅","或者","禁用注册配置","解决方案可以让服务提供者开发方,只订阅服务(开发的服务可能依赖其它服务),而不注册正在开发的服务,通过直连测试正在开发的服务。","问题为方便开发测试,经常会在线下共用一个所有服务可用的注册中心,这时,如果一个正在开发中的服务提供者注册,可能会影响消费者不能正常运行。"],"demos/只注册.html":["4.7","只注册","或者","禁用订阅配置","解决方案可以让服务提供者方,只注册服务到另一注册中心,而不从另一注册中心订阅服务。","问题如果有两个镜像环境,两个注册中心,有一个服务只在其中一个注册中心有部署,另一个注册中心还没来得及部署,而两个注册中心的其它应用都需要依赖此服务,所以需要将服务同时注册到两个注册中心,但却不能让此服务同时依赖两个注册中心的其它服务。"],"demos/静态服务.html":["4.8","=","extensionloader.getextensionloader(registryfactory.class).getadaptiveextension();","registri","registry.register(url.valueof(\"memcached://10.20.153.11/com.foo.barservice?category=providers&dynamic=false&application=foo\"));","registryfactori","registryfactory.getregistry(url.valueof(\"zookeeper://10.20.153.10:2181\"));","如果是一个第三方独立提供者,比如memcached等,可以直接向注册中心写入提供者地址信息,消费者正常使用:","或者","有时候希望人工管理服务提供者的上线和下线,此时需将注册中心标识为非动态管理模式","服务提供者初次注册时为禁用状态,需人工启用,断线时,将不会被自动删除,需人工禁用。","通常由脚本监控中心页面等调用","静态服务"],"demos/多协议.html":["(1)","(2)","4.9","consumer.xml","不同服务不同协议","可以自行扩展协议,参见:协议扩展","多协议","多协议暴露服务","比如:不同服务在性能上适用不同协议进行传输,比如大数据用短连接协议,小数据大并发用长连接协议","比如:需要与http客户端互操作"],"demos/多注册中心.html":["(1)","(2)","(3)","4.10","consumer.xml","不同服务使用不同注册中心","可以自行扩展注册中心,参见:注册中心扩展","多注册中心","多注册中心引用","多注册中心注册","如果只是测试环境临时需要连接两个不同注册中心,使用竖号分隔多个不同注册中心地址:","比如:crm有些服务是专门为国际站设计的,有些服务是专门为中文站设计的。","比如:crm需同时调用中文站和国际站的pc2服务,pc2在中文站和国际站均有部署,接口及版本号都一样,但连的数据库不一样。","比如:中文站有些服务来不及在青岛部署,只在杭州部署,而青岛的其它应用需要引用此服务,就可以将服务同时注册到两个注册中心。"],"demos/服务分组.html":["2.2.0以上版本支持,总是只调一个可用组的实现","4.11","任意组:","引用","当一个接口有多种实现时,可以用group区分。","服务","服务分组"],"demos/多版本.html":["4.13","不区分版本:(2.2.0以上版本支持)","再将所有消费者升级为新版本","在低压力时间段,先升级一半提供者为新版本","多版本","引用新版本","引用老版本","当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用。","新版本服务","然后将剩下的一半提供者升级为新版本","老版本服务"],"demos/分组聚合.html":["4.14","examples/src/main/java/com/alibaba/dubbo/examples/merg","test","test/dubbo","从2.1.0版本开始支持,","代码参见:https://github.com/alibaba/dubbo/tree/master/dubbo","分组聚合","参见:合并结果扩展","合并指定分组","指定合并方法,将调用返回结果的指定方法进行合并,合并方法的参数类型必须是返回结果类型本身","指定合并策略,缺省根据返回值类型自动匹配,如果同一类型有两个合并器时,需指定合并器的名称","指定方法合并结果,其它未指定的方法,将只调用一个group","按组合并返回结果,比如菜单服务,接口一样,但有多种实现,用group区分,现在消费方需从每种group中调用一次返回结果,合并结果返回,这样就可以实现聚合菜单项。","搜索所有分组","某个方法不合并结果,其它都合并结果","配置如:"],"demos/参数验证.html":["\"/valid","\"^\\\\s*\\\\w+(?:\\\\.{0,1}[\\\\w","'/')","(constraintviolationexception)","(rpcexcept","(validationservice)context.getbean(\"validationservice\");","+",".][a","//","1,","1.0.0.ga","2.1.0以上版本支持,","20)","4.15","4.2.0.final","7158911668568000392l;","9]+(?:[","9]+)*\\\\.[a","=","@futur","@groupsequence(update.class)","@interfac","@max(100)","@min(18)","@notnul","@notnull(group","@past","@pattern(regexp","@size(min","]+)*@[a","age)","age;","api","args)","catch","class","classpathxmlapplicationcontext","classpathxmlapplicationcontext(config);","com.alibaba.dubbo.examples.validation.api.validationparameter;","com.alibaba.dubbo.examples.validation.api.validationservice;","com.alibaba.dubbo.rpc.rpcexception;","config","constraintviolationexcept","consumer.xml\";","context","context.start();","date","delete(@min(1)","e)","e.getcause();","email)","email;","error","error\");","examples/src/main/java/com/alibaba/dubbo/examples/valid","except","expirydate)","expirydate;","final","getage()","getemail()","getexpirydate()","getlogindate()","getname()","hibern","id);","implement","import","int","interfac","java.io.serializable;","java.util.date;","javax.valid","javax.validation.constraints.future;","javax.validation.constraints.max;","javax.validation.constraints.min;","javax.validation.constraints.notnull;","javax.validation.constraints.past;","javax.validation.constraints.pattern;","javax.validation.constraints.size;","javax.validation.constraintviolationexception;","javax.validation.groupsequence;","jsr303","logindate)","logindate;","long","main(string[]","max","name)","name;","new","org.hibern","org.springframework.context.support.classpathxmlapplicationcontext;","paramet","parameter);","privat","public","return","save(@notnul","save(validationparamet","save{}","serializ","serialversionuid","set>","setage(int","setemail(str","setexpirydate(d","setlogindate(d","setname(str","static","string","system.out.println(\"valid","system.out.println(violations);","test","test/dubbo","this.ag","this.email","this.expiryd","this.logind","this.nam","throw","tri","update(validationparamet","update{}","valid","validationconsum","validationconsumer.class.getpackage().getname().replace('.',","validationparamet","validationparameter();","validationservic","validationservice.class)","validationservice.save(parameter);","validationservice.save.class)","validationservice.save.class),可选","ve","ve.getconstraintviolations();","violat","void","z0","z]+\\\\s*$\")","za","{","}","不允许为空","与方法同名接口,首字母大写,用于区分验证场景,如:@notnull(group","保存时不允许为空,更新时允许为空","关联验证示例","分组验证示例","参数标注示例","参数验证","参数验证功能是基于","参数验证示例","可以拿到一个验证错误详细信息的集合","同时验证update组规则","在客户端验证参数","在服务器端验证参数","完整示例代码参见:https://github.com/alibaba/dubbo/tree/master/dubbo","实现的,用户只需标识jsr303标准的验证annotation,并通过声明filter来实现验证。","必须为一个未来的时间","必须为一个过去的时间","抛出的是rpcexcept","最大值","最小值","直接对基本类型参数验证","缺省可按服务接口区分验证场景,如:@notnull(group","里面嵌了一个constraintviolationexcept","长度或大小范围","需要加入依赖","验证参数不为空","验证异常信息","验证方式可扩展,参见:验证扩展",",表示不更新该字段"],"demos/结果缓存.html":["2.1.0以上版本支持","4.16","examples/src/main/java/com/alibaba/dubbo/examples/cach","jcach","jsr107","lru","test","test/dubbo","threadloc","与","基于最近最少使用原则删除多余缓存,保持最热的数据被缓存。","当前线程缓存,比如一个页面渲染,用到很多portal,每个portal都要去查用户信息,通过线程缓存,可以减少这种多余访问。","或:","示例代码:https://github.com/alibaba/dubbo/tree/master/dubbo","结果缓存","结果缓存,用于加速热门数据的访问速度,dubbo提供声明式缓存,以减少用户加缓存的工作量。","缓存类型可扩展,参见:cachefactory扩展点","配置如:","集成,可以桥接各种缓存实现。"],"demos/泛化引用.html":["\"com.xxx.personimpl\");","\"java.lang.string\"","\"world\"","\"xxx\");","\"yyy\");","(genericservice)","...","//","4.17","=","applicationcontext.getbean(\"barservice\");","barservic","barservice.$invoke(\"sayhello\",","class","com.alibaba.dubbo.rpc.service.genericservice;","com.xxx;","genericservic","genericservice.$invoke(\"findperson\",","genericservice.$invoke(\"sayhello\",","getname()","getpassword()","hashmap();","implement","import","map","map.put(\"class\",","map.put(\"name\",","map.put(\"password\",","name)","name;","new","object","object[]","object[]{person});","packag","password)","password;","person","person.put(\"name\",","person.put(\"password\",","person.setname(\"xxx\");","person.setpassword(\"yyy\");","personimpl","personimpl();","privat","public","refer","reference.get();","reference.setgeneric(true);","reference.setinterface(\"com.xxx.xxxservice\");","reference.setversion(\"1.0.0\");","referenceconfig","referenceconfig();","result","return","setname(str","setpassword(str","string","string[]","string[]{\"com.xxx.person\"},","this.nam","this.password","void","{","{\"java.lang.string\"},","{\"world\"});","}","});","},","假设存在pojo如:","则pojo数据:","可用下面map表示:","基本类型以及date,list,map等不需要转换,直接调用","声明为泛化接口","如果返回pojo将自动转成map","引用远程服务","弱类型接口名","泛化引用","泛接口调用方式主要用于客户端没有api接口及模型类元的情况,参数及返回值中的所有pojo均用map表示,通常用于框架集成,比如:实现一个通用的服务测试框架,可通过genericservice调用所有服务实现。","注意:如果参数类型是接口,或者list等丢失泛型,可通过class属性指定类型。","用com.alibaba.dubbo.rpc.service.genericservice可以替代所有接口引用","用map表示pojo参数,如果返回值为pojo也将自动转成map","该实例很重量,里面封装了所有与注册中心及服务提供方连接,请缓存"],"demos/泛化实现.html":["\"","\"welcom","$invoke(str","(\"sayhello\".equals(methodname))","+","...","//","4.18","=","args)","args[0];","class","com.foo;","genericexcept","genericservic","implement","methodname,","mygenericservic","new","object","object[]","packag","parametertypes,","public","return","servic","service.export();","service.setinterface(\"com.xxx.xxxservice\");","service.setref(xxxservice);","service.setversion(\"1.0.0\");","serviceconfig","serviceconfig();","string[]","throw","xxxgenericservice();","xxxservic","{","}","弱类型接口名","指向一个通用服务实现","暴露及注册服务","泛化实现","泛接口实现方式主要用于服务器端没有api接口及模型类元的情况,参数及返回值中的所有pojo均用map表示,通常用于框架集成,比如:实现一个通用的远程服务mock框架,可通过实现genericservice接口处理所有服务请求。","用com.alibaba.dubbo.rpc.service.genericservice可以替代所有接口实现","该实例很重量,里面封装了所有与注册中心及服务提供方连接,请缓存"],"demos/回声测试.html":["(echoservice)","//","4.19","=","assert(status.equals(\"ok\"));","ctx.getbean(\"memberservice\");","echoservic","echoservice.$echo(\"ok\");","memberservic","memberservice;","statu","string","回声测试","回声测试可用性","回声测试用于检测服务是否可用,回声测试按照正常请求流程执行,能够测试整个调用是否通畅,可用于监控。","强制转型为echoservic","所有服务自动实现echoservice接口,只需将任意服务引用强制转型为echoservice,即可使用。","远程服务引用"],"demos/上下文信息.html":["(1)","(2)","...","//","4.20","=","applic","boolean","class","clientip","implement","isconsumersid","isprovidersid","public","rpccontext.getcontext().getremotehost();","rpccontext.getcontext().geturl().getparameter(\"application\");","rpccontext.getcontext().isconsumerside();","rpccontext.getcontext().isproviderside();","rpccontext是一个threadlocal的临时状态记录器,当接收到rpc请求,或发起rpc请求时,rpccontext的状态都会变化。","serverip","string","void","xxx()","xxxservic","xxxservice.xxx();","xxxserviceimpl","yyyservice.yyy();","{","}","上下文中存放的是当前调用过程中所需的环境信息。","上下文信息","中的“对应url参数”一列。","所有配置信息都将转换为url的参数,参见","服务提供方","服务方法实现","服务消费方","本端是否为提供端,这里会返回true","本端是否为消费端,这里会返回true","此时本端变成消费端,这里会返回fals","比如:a调b,b再调c,则b机器上,在b调c之前,rpccontext记录的是a调b的信息,在b调c之后,rpccontext记录的是b调c的信息。","注意","注意:每发起rpc调用,上下文状态会变化","获取当前服务配置信息,所有配置信息都将转换为url的参数","获取最后一次调用的提供方ip地址","获取调用方ip地址","远程调用","配置项一览表"],"demos/隐式传参.html":["\"1\");","(1)","(2)","...","//","4.21","=","class","implement","index","public","rpccontext.getcontext().getattachment(\"index\");","rpccontext.getcontext().setattachment(\"index\",","setattachment设置的kv,在完成下面一次远程调用会被清空。即多次远程调用要多次设置。","string","void","xxx()","xxxservic","xxxservice.xxx();","xxxserviceimpl","{","}","服务提供方","服务方法实现","服务消费方","注:","注:path,group,version,dubbo,token,timeout几个key有特殊处理,请使用其它key值。","获取客户端隐式传入的参数,用于框架集成,不建议常规业务使用","远程调用","隐式传参,后面的远程调用都会隐式将这些参数发送到服务器端,类似cookie,用于框架集成,不建议常规业务使用","隐式参数"],"demos/异步调用.html":["//","2.0.6及其以上版本支持","4.22","=","bar","barfutur","barfuture.get();","barservice.findbar(barid);","consumer.xml","foo","foofutur","foofuture.get();","fooservice.findfoo(fooid);","futur","return=\"false\",以减少future对象的创建和管理成本:","rpccontext.getcontext().getfuture();","sent=\"false\"","sent=\"true\"","不等待消息发出,将消息放入io队列,即刻返回。","你也可以设置是否等待消息发出:(异步总是不等待返回)","同理等待bar返回。","基于nio的非阻塞实现并行调用,客户端不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销较小。","如果foo已返回,直接拿到返回值,否则线程wait住,等待foo返回后,线程会被notify唤醒。","如果foo需要5秒返回,bar需要6秒返回,实际只需等6秒,即可获取到foo和bar,进行接下来的处理。","如果你只是想异步,完全忽略返回值,可以配置","异步调用","拿到调用的future引用,当结果返回后,会被通知和设置到此future。","此时findfoo和findbar的请求同时在执行,客户端不需要启动多线程来支持并行,而是借助nio的非阻塞完成。","此调用会立即返回null","等待消息发出,消息发送失败将抛出异常。","调用代码:","配置声明:"],"demos/本地调用.html":["2.2.0","4.23","dubbo","injvm","injvm:","injvm=\"true\"","从","优先使用","协议:","定义","开始,每个服务默认都会在本地暴露。在引用服务的时候,默认优先引用本地服务。如果希望引用远程服务可以使用一下配置强制引用远程服务。","或","本地调用","本地调用,使用了injvm协议,是一个伪协议,它不开启端口,不发起远程调用,只在jvm内直接关联,但执行dubbo的filter链。","注意:服务暴露与服务引用都需要声明","自动暴露、引用本地服务","设置服务协议:","设置默认协议:"],"demos/参数回调.html":["\"","\"changed:","(1)","(2)","(3)","(callbackservice)","(throwabl","+","//","2.0.6及其以上版本支持","4.24",":","=",">","addlistener(str","callbacklisten","callbacklistener(){","callbacklistener.java","callbackservic","callbackservice.addlistener(\"http://10.20.160.198/wiki/display/dubbo/foo.bar\",","callbackservice.java","callbackserviceimpl","callbackserviceimpl()","callbackserviceimpl.java","callbackservicetest.java","catch","changed(str","class","classpathxmlapplicationcontext","classpathxmlapplicationcontext(\"classpath:consumer.xml\");","com.callback.callbacklistener;","com.callback.callbackservice;","com.callback.impl;","com.callback;","concurrenthashmap();","consumer.xml","context","context.getbean(\"callbackservice\");","context.start();","date());","dd","entri","entry.getvalue().changed(getchanged(entry.getkey()));","examples/src/main/java/com/alibaba/dubbo/examples/callback","final","for(map.entri","getchanged(str","hh:mm:ss\").format(new","implement","import","interfac","java.text.simpledateformat;","java.util.concurrent.concurrenthashmap;","java.util.date;","java.util.map;","key)","key,","listen","listener)","listener);","listener.changed(getchanged(key));","listeners.entryset()){","listeners.put(key,","listeners.remove(entry.getkey());","map","mm","msg)","msg);","new","packag","privat","public","return","run()","runnable()","simpledateformat(\"yyyi","string","system.out.println(\"callback1:\"","t","t)","t.printstacktrace();","t.setdaemon(true);","t.start();","test","test/dubbo","thread","thread(new","thread.sleep(5000);","tri","void","while(true)","{","}","});","代码参见:https://github.com/alibaba/dubbo/tree/master/dubbo","共享服务接口","参数回调","参数回调方式与调用本地callback或listener相同,只需要在spring的配置文件中声明哪个参数是callback类型即可,dubbo将基于长连接生成反向代理,这样就可以从服务器端调用客户端逻辑。","发送变更通知","定时触发变更通知","服务接口示例","服务提供者","服务提供者接口实现示例","服务提供者配置示例","服务消费者","服务消费者调用示例","服务消费者配置示例","防御容错"],"demos/事件通知.html":["\"charles`son\",","(1)","(2)","(3)","(4)","(5)","(6)","(idemoservice)","(int","(nofifyimpl)","+","//for","0;","2;","4);","4.25","=","assert.assertequals(null,","async=true,表示结果是否马上返回.","callback与async功能正交分解:","case","class","consumer.xml","context.getbean(\"democallback\");","context.getbean(\"demoservice\");","demoservic","demoservice.get(requestid);","demoserviceimpl.java","error","errors.put(id,","ex);","ex,","get(int","hashmap();","id)","id);","idemoservic","idemoservice.java","implement","int","integ","interfac","map","msg);","msg,","new","nofifyimpl","normaldemoservic","notifi","notify.java","notifyimpl","notifyimpl.java","onreturn","onreturn(person","onreturn,","onreturn=\"xxx\"","onthrow(throw","onthrow三个事件,可以配置当事件发生时,通知哪个类的哪个方法。","person","person(id,","provider.xml","public","requestid","ret","ret);","ret.put(id,","return","system.out.println(\"onreturn:\"","test","test.java","test:只是用来说明callback正常被调用,业务具体实现自行决定.","void","{","}","事件通知","同步回调模式:async=fals","同步无回调","在调用之前,调用之后,出现异常时,会触发oninvoke,","异步回调模式:async=tru","异步无回调","支持版本:2.0.7之后","服务提供者与消费者共享服务接口","服务提供者实现","服务提供者配置","服务消费者callback接口及实现","组合情况:(async=fals","表示是否需要回调.","默认)",":async=fals",":async=tru"],"demos/本地存根.html":["\"容错数据\";","(barservic","(except","//","4.26","=","api.jar:","barservic","barservice)","barservice.sayhello(name);","barservice;","barservicestub","catch","class","com.foo.barservic","com.foo.barservicestub","com.foo;","e)","final","implement","name)","packag","privat","public","return","sayhello(str","string","stub必须有可传入proxy的构造函数。","this.barservic","tri","{","}","你可以在客户端做threadlocal本地缓存,或预先验证参数是否合法,等等","你可以容错,可以做任何aop拦截事项","在api旁边放一个stub实现,它实现barservice接口,并有一个传入远程barservice实例的构造函数","或","本地存根","构造函数传入真正的远程代理对象","此代码在客户端执行","远程服务后,客户端通常只剩下接口,而实现全在服务器端,但提供方有些时候想在客户端也执行部分逻辑,比如:做threadlocal缓存,提前验证参数,调用失败后伪造容错数据等等,此时就需要在api中带上stub,客户端生成proxy实例,会把proxy通过构造函数传给stub,然后把stub暴露组给用户,stub可以决定要不要去调proxy。"],"demos/本地伪装.html":["\"容错数据\";","(rpcexcept","//","4.27","=","api.jar:","barservic","barservicemock","catch","catch捕获异常,如:","class","com.foo.barservic","com.foo.barservicemock","com.foo;","e)","implement","logger.error(e);","mock是stub的一个子集,便于服务提供方在客户端执行容错逻辑,因经常需要在出现rpcexception(比如网络失败,超时等)时进行容错,而在出现业务异常(比如登录用户名密码错误)时不需要容错,如果用stub,可能就需要捕获并依赖rpcexception类,而用mock就可以不依赖rpcexception,因为它的约定就是只有出现rpcexception时才执行。","mock通常用于服务降级,比如某验权服务,当服务提供方全部挂掉后,客户端不抛出异常,而是通过mock数据返回授权失败。","name)","null;","null。","offer","offerservice.findoffer(offerid);","packag","public","return","sayhello(str","string","tri","{","}","你可以伪造容错数据,此方法只在出现rpcexception时被执行","在api旁边放一个mock实现,它实现barservice接口,并有一个无参构造函数","如果只是想简单的忽略异常,在2.0.11以上版本可用:","如果服务的消费方经常需要tri","或","本地伪装","请考虑改为mock实现,并在mock中return"],"demos/延迟暴露.html":["!1.","!在spring解析到时,就已经向外暴露了服务,而spring还在接着初始化其它bean。!如果这时有请求进来,并且服务的实现类里有调用applicationcontext.getbean()的用法。","4.28","spring2.x初始化死锁问题","如果不想依赖配置顺序,可以使用","如果你的服务需要warmup时间,比如初始化缓存,等待相关资源就位等,可以使用delay进行延迟暴露。","如果大量使用getbean(),相当于已经把spring退化为工厂模式在用,可以将dubbo的服务隔离单独的spring容器。","如果实在要调getbean(),可以将dubbo的配置放在spring的最后加载。","延迟5秒暴露服务","延迟到spring初始化完成后,再暴露服务:(基于spring的contextrefreshedevent事件触发暴露)","延迟暴露","强烈建议不要在服务的实现类中有applicationcontext.getbean()的调用,全部采用ioc注入的方式使用spring的bean。","而spring初始化线程,因不需要判断bean的存在,直接同步beandefinitionmap进行初始化,并同步singletonobjects写入bean实例缓存。","规避办法","请求线程的applicationcontext.getbean()调用,先同步singletonobjects判断bean是否存在,不存在就同步beandefinitionmap进行初始化,并再次同步singletonobjects写入bean实例缓存。2.","这样就导致getbean线程,先锁singletonobjects,再锁beandefinitionmap,再次锁singletonobjects。而spring初始化线程,先锁beandefinitionmap,再锁singletonobjects。反向锁导致线程死锁,不能提供服务,启动不了。",",使dubbo在spring容器初始化完后,再暴露服务。"],"demos/并发控制.html":["4.29","balanc","load","优先,参见:配置的覆盖策略。","和","均衡","如果","并发控制","或","都配了actives,","配置服务的客户端的loadbalance属性为leastactive,此loadbalance会调用并发数最小的provider(consumer端并发数)。","限制com.foo.barservice的sayhello方法,服务器端并发执行(或占用线程池线程数)不能超过10个:","限制com.foo.barservice的sayhello方法,每客户端并发执行(或占用连接的请求数)不能超过10个:","限制com.foo.barservice的每个方法,服务器端并发执行(或占用线程池线程数)不能超过10个:","限制com.foo.barservice的每个方法,每客户端并发执行(或占用连接的请求数)不能超过10个:"],"demos/连接控制.html":["4.30","优先,参见:配置的覆盖策略","和","如果","或","连接控制","都配了connections,","限制客户端服务使用连接连接数:(如果是长连接,比如dubbo协议,connections表示该服务对每个提供者建立的长连接数)","限制服务器端接受的连接不能超过10个:(因为连接在server上,所以配置在provider上)"],"demos/延迟连接.html":["4.31","只对使用长连接的dubbo协议生效。","延迟连接","延迟连接,用于减少长连接数,当有调用发起时,再创建长连接。"],"demos/粘滞连接.html":["4.32","参见:延迟连接","粘滞连接","粘滞连接将自动开启延迟连接,以减少长连接数,","粘滞连接用于有状态服务,尽可能让客户端总是向同一提供者发起调用,除非该提供者挂了,再连另一台。"],"demos/令牌验证.html":["4.33","也可在服务级别设置:","令牌验证","可以全局设置开启令牌验证","在注册中心控制权限,以决定要不要下发令牌给消费者","注册中心可灵活改变授权方式,而不需修改或升级提供者","还可在协议级别设置:","防止消费者绕过注册中心访问提供者"],"demos/路由规则.html":["!=","\"));","\"=>\"之前的为消费者匹配条件,所有参数和消费者的url进行对比,当消费者满足匹配条件时,对该消费者执行后面的过滤规则。","\"=>\"之后为提供者地址列表的过滤条件,所有参数和提供者的url进行对比,消费者最终只拿到过滤后的地址列表。","\"script://0.0.0.0/com.foo.barservice?category=routers&dynamic=false&rule=\"","$","$host","(i","(invokers)\")","(暂不支持参数路由)","*","+",",","...","0.0.0.0","0;","10.20.*","10.20.153.10","10.20.153.10,10.20.153.11","10.20.153.11","10.20.153.11\")","172.22.3.*","172.22.3.1*,172.22.3.2*","172.22.3.91","172.22.3.91,172.22.3.92,172.22.3.93","172.22.3.94,172.22.3.95,172.22.3.96","172.22.3.95,172.22.3.96","172.22.3.97,172.22.3.98","2.2.0以上版本支持,","4.34","=","=>","applic","argument","bop","category=rout","com.foo.barservic","condition://","dynamic=fals","enabled=tru","extensionloader.getextensionloader(registryfactory.class).getadaptiveextension();","find*,list*,get*,is*","force=fals","function","groovi","host","host,","java.util.arraylist(invokers.size());","jruby,","kylin","method","new","organ","port","priority=1","registri","registry.register(url.valueof(\"condition://0.0.0.0/com.foo.barservice?category=routers&dynamic=false&rule=\"","registryfactori","registryfactory.getregistry(url.valueof(\"zookeeper://10.20.153.10:2181\"));","result","route(invokers)","rule=url.encode(\"host","runtime=fals","type=javascript","url.encode(\"funct","url.encode(\"http://10.20.160.198/wiki/display/dubbo/host","url本身的字段,如:protocol,","var","{","}","不等号","为重要应用提供额外的机器:","以及url上的所有参数,如:application,","以星号","以美元符","以逗号","值支持:","其中:","分隔多个值,如:host","前后台分离:","参数支持:","参数设置脚本类型,缺省为javascript。","向注册中心写入路由规则:(通常由监控中心或治理中心的页面完成)","基于条件表达式的路由规则,如:host","基于脚本引擎的路由规则,如:","如果匹配条件为空,表示对所有消费方应用,如:=>","如果用了参数路由,必须设为true,需要注意设置会影响调用的性能,可不填,缺省为flase。","如果过滤条件为空,表示禁止访问,如:host","开头,表示引用消费者参数,如:host","当路由结果为空时,是否强制执行,如果不强制执行,路由结果为空的路由规则将自动失效,可不填,缺省为flase。","排除预发布机:","提供者与消费者部署在同集群内,本机只访问本机的服务:","支持jdk脚本引擎的所有脚本,比如:javascript,","是否在每次调用时执行路由规则,否则只在提供者地址列表变更时预先执行并缓存结果,调用时直接从缓存中获取路由结果。","服务寄宿在应用上,只暴露一部分的机器,防止整个集群挂掉:","服务调用信息,如:method,","条件支持:","条件路由规则","注意:一个服务只能有一条白名单规则,否则两条规则交叉,就都被筛选掉了)","白名单:","示例:","等","等号","等,通过","结尾,表示通配,如:host","脚本没有沙箱约束,可执行任意代码,存在后门风险","脚本路由规则","表示\"不匹配\",如:host","表示\"匹配\",如:host","表示只对指定服务生效,必填。","表示对所有ip地址生效,如果只想对某个ip的生效,请填入具体ip,必填。","表示该数据为动态配置类型,必填。","表示该数据为持久数据,当注册方退出时,数据依然保存在注册中心,必填。","表示路由规则的内容,必填。","表示路由规则的类型,支持条件路由规则和脚本路由规则,可扩展,必填。","表达式:","覆盖规则是否生效,可不填,缺省生效。","规则:","读写分离:","路由规则","路由规则扩展点:路由扩展","路由规则的优先级,用于排序,优先级越大越靠前执行,可不填,缺省为0。","隔离不同机房网段:","黑名单:"],"demos/配置规则.html":["0.0.0.0","2.2.0","4.35","=","application=foo","category=configur","com.foo.barservic","dynamic=fals","enabled=tru","extensionloader.getextensionloader(registryfactory.class).getadaptiveextension();","override://","override://0.0.0.0/com.foo.barservice?category=configurators&dynamic=false&application=foo&mock=force:return+nul","override://10.20.153.10/com.foo.barservice?category=configurators&dynamic=false&disbaled=tru","override://10.20.153.10/com.foo.barservice?category=configurators&dynamic=false&loadbalance=leastact","override://10.20.153.10/com.foo.barservice?category=configurators&dynamic=false&weight=200","registri","registry.register(url.valueof(\"override://0.0.0.0/com.foo.barservice?category=configurators&dynamic=false&application=foo&timeout=1000\"));","registryfactori","registryfactory.getregistry(url.valueof(\"zookeeper://10.20.153.10:2181\"));","timeout=1000","以上版本支持","其中:","向注册中心写入动态配置覆盖规则:(通常由监控中心或治理中心的页面完成)","服务降级:(通常用于临时屏蔽某个出错的非关键服务)","示例:","禁用提供者:(通常用于临时踢除某台提供者机器,相似的,禁止消费者访问请使用路由规则)","表示只对指定应用生效,可不填,表示对所有应用生效。","表示只对指定服务生效,必填。","表示对所有ip地址生效,如果只想覆盖某个ip的数据,请填入具体ip,必填。","表示将满足以上条件的timeout参数的值覆盖为1000。如果想覆盖其它参数,直接加在override的url参数上。","表示数据采用覆盖方式,支持override和absent,可扩展,必填。","表示该数据为动态配置类型,必填。","表示该数据为持久数据,当注册方退出时,数据依然保存在注册中心,必填。","覆盖规则是否生效,可不填,缺省生效。","调整权重:(通常用于容量评估,缺省权重为100)","调整负载均衡策略:(缺省负载均衡策略为random)","配置规则"],"demos/服务降级.html":["2.2.0以上版本支持,","4.36","=","extensionloader.getextensionloader(registryfactory.class).getadaptiveextension();","mock=fail:return+nul","mock=force:return+nul","registri","registry.register(url.valueof(\"override://0.0.0.0/com.foo.barservice?category=configurators&dynamic=false&application=foo&mock=force:return+null\"));","registryfactori","registryfactory.getregistry(url.valueof(\"zookeeper://10.20.153.10:2181\"));","其中:","参见:配置规则","向注册中心写入动态配置覆盖规则:(通过由监控中心或治理中心的页面完成)","容忍不重要服务不稳定时对调用方的影响。","屏蔽不重要服务不可用时对调用方的影响。","服务降级","表示消费方对该服务的方法调用在失败后,再返回null值,不抛异常。","表示消费方对该服务的方法调用都直接返回null值,不发起远程调用。","还可以改为:"],"demos/优雅停机.html":["4.37","9","dubbo是通过jdk的shutdownhook来完成优雅停机的,所以如果用户使用\"kil","pid\"时,才会执行。","pid\"等强制关闭指令,是不会执行优雅停机的,只有通过\"kil","protocolconfig.destroyall();","优雅停机","停止时,不再发起新的调用请求,所有新的调用在客户端即报错。","停止时,先标记为不接收新请求,新请求过来时直接报错,让客户端重试其它机器。","原理","如果shutdownhook不能生效,可以自行调用:","服务提供方","服务消费方","然后,检测有没有请求的响应还没有返回,等待响应返回,除非超时,则强制关闭。","然后,检测线程池中的线程是否正在运行,如果有,等待所有线程执行完成,除非超时,则强制关闭。","设置优雅停机超时时间,缺省超时时间是10秒:(超时则强制关闭)"],"demos/主机绑定.html":["1099","11211","205.182.23.201","20880","4.38","6379","80","dubbo.protocol.dubbo.port=20880","dubbo.protocol.host=205.182.23.201","dubbo:","hessian:","http:","memcached:","redis:","rmi:","test1","webservice:","主机端口配置:","主机绑定","公网ip,比如:","可以在/etc/hosts中加入:机器名","在dubbo.xml中加入主机地址的配置:","如果是127.*等loopback地址,则扫描各网卡,获取网卡ip。","或在dubbo.properties中加入主机地址的配置:","注册的地址如果获取不正确,比如需要注册公网地址,可以:","缺省主机ip查找顺序:","缺省主机端口与协议相关:","通过localhost.getlocalhost()获取本机地址。"],"demos/日志适配.html":["2.2.1以上版本支持","4.39","ddubbo.application.logger=log4j","dubbo.application.logger=log4j","dubbo.properti","dubbo.xml","java","jcl","jdk","log4j","slf4j","可以通过以下方式配置日志输出策略","扩展点:日志适配扩展","日志适配","缺省自动查找:"],"demos/访问日志.html":["4.40","如果你想记录每一次请求信息,可开启访问日志,类似于apache的访问日志。","将访问日志输出到当前应用的log4j日志:","将访问日志输出到指定文件:","此日志量比较大,请注意磁盘容量。","访问日志"],"demos/服务容器.html":["4.41","com.alibaba.dubbo.container.main","contain","ddubbo.container=spring,jetty,log4j","dubbo.container=spring,jetty,log4j","dubbo.jetty.directory=/foo/bar","dubbo.jetty.page=log,status,system","dubbo.jetty.port=8080","dubbo.log4j.file=/foo/bar.log","dubbo.log4j.level=warn","dubbo.log4j.subdirectory=20880","dubbo.properti","d参数或者dubbo.properties中","inf/spr","inf/spring/*.xml","java","jetti","jetty,","log4j","log4j等加载,可通过container扩展点进行扩展,参见:container。配置配在java命令","meta","spring","启动一个内嵌jetty,用于汇报状态。","如:(缺省只加载spring)","容器启动","或:(通过classpath下的dubbo.properties配置传入要加载的容器)","或:(通过jvm启动参数传入要加载的容器)","或:(通过main函数参数传入要加载的容器)","服务容器","服务容器只是一个简单的main方法,并加载一个简单的spring容器,用于暴露服务。","服务容器是一个standalone的启动程序,因为后台服务不需要tomcat或jboss等web容器的功能,如果硬要用web容器去加载服务提供方,增加复杂性,也浪费资源。","服务容器的加载内容可以扩展,内置了spring,","目录下的所有","自动加载","自动配置log4j的配置,在多进程启动时,自动给日志文件按进程分目录。","配置jetty启动端口","配置spring配置加载位置:dubbo.spring.config=classpath*:meta","配置。","配置可通过jetty直接访问的目录,用于存放静态文件","配置日志子目录,用于多进程启动,避免冲突","配置日志文件路径","配置日志级别","配置显示的页面,缺省加载所有页面","配置:"],"demos/ReferenceConfig缓存.html":[");","...","......","//","2.4.0+版本,提供了简单的工具类referenceconfigcache用于缓存referenceconfig实例。","4.42","=","cach","cache.destroy(reference);","cache.get(reference);","cache.get方法中会cach","cache会持有referenceconfig,不要在外部再调用referenceconfig的destroy方法,导致cache内的referenceconfig失效!","config缓存","dubbo","keygener","new","refer","reference.setinterface(xxxservice.class);","reference.setversion(\"1.0.0\");","referenceconfig","referenceconfig();","referenceconfigcach","referenceconfigcache.getcache();","referenceconfigcache.getcache(keygener","referenceconfig实例很重,封装了与注册中心的连接以及与提供者的连接,需要缓存,否则重复生成referenceconfig可能造成性能问题并且会有内存和连接泄漏。api方式编程时,容易忽略此问题。","reference对象,并且调用referenceconfig.get方法启动referenceconfig","xxxservic","xxxservice.sayhello();","使用xxxservice对象","使用方式如下:","可以修改这个策略,在referenceconfigcache.getcache时,传一个keygenerator。详见referenceconfigcache类的方法。","注意!","消除cache中的referenceconfig,销毁referenceconfig并释放对应的资源。","缺省referenceconfigcache把相同服务group、接口、版本的referenceconfig认为是相同,缓存一份。即以服务group、接口、版本为缓存的key。"],"demos/分布式事务.html":["4.43","两阶段提交:","分布式事务","基于jta/xa规范实现。","暂未实现。"],"reference-apiconf/api.html":["&","5","api参考手册","api汇总如下:","com.alibaba.dubbo.common.url","com.alibaba.dubbo.config.annotation.refer","com.alibaba.dubbo.config.annotation.servic","com.alibaba.dubbo.config.applicationconfig","com.alibaba.dubbo.config.argumentconfig","com.alibaba.dubbo.config.consumerconfig","com.alibaba.dubbo.config.methodconfig","com.alibaba.dubbo.config.moduleconfig","com.alibaba.dubbo.config.monitorconfig","com.alibaba.dubbo.config.protocolconfig","com.alibaba.dubbo.config.providerconfig","com.alibaba.dubbo.config.referenceconfig","com.alibaba.dubbo.config.registryconfig","com.alibaba.dubbo.config.serviceconfig","com.alibaba.dubbo.rpc.rpccontext","com.alibaba.dubbo.rpc.rpcexcept","com.alibaba.dubbo.rpc.service.echoservic","com.alibaba.dubbo.rpc.service.genericexcept","com.alibaba.dubbo.rpc.service.genericservic","dubbo中除这里声明以外的接口或类,都是内部接口或扩展接口,普通用户请不要直接依赖,否则升级版本可能出现不兼容。","dubbo的常规功能,都保持零侵入,但有些功能不得不用api侵入才能实现。","上下文api","对方地址","异步调用","服务api","模型api","泛化实现","注解api","详细参见:api配置","详细参见:上下文信息","详细参见:回声测试","详细参见:泛化引用","详细参见:注解配置","配置api","隐式传参"],"reference-xmlconf/introduction.html":["6","config","config为准,列举所有配置项,其它配置方式,请参见相应转换关系:properti","config,annot","config,api","http://code.alibabatech.com/schema/dubbo/dubbo.xsd","protocol://username:password@host:port/path?key=value&key=valu","schema:","schema配置参考手册","url格式:","性能调优:表示该配置项用于调优性能,不同的选项对性能会产生影响。","所有配置最终都将转换为url表示,并由服务提供方生成,经注册中心传递给消费方,各属性对应url的参数,参见配置项一览表中的\"对应url参数\"列。","所有配置项分为三大类,参见下表中的\"作用\"一列。","服务发现:表示该配置项用于服务的注册与发现,目的是让消费方找到提供方。","服务治理:表示该配置项用于治理服务间的关系,或为开发测试提供便利条件。","注意:只有group,interface,version是服务的匹配条件,三者决定是不是同一个服务,其它配置项均为调优和治理参数。","这里以xml"],"reference-xmlconf/dubbo-service.html":["(注意:1.0不支持自定义路径,总是使用接口名,如果有1.0调2.0,配置服务路径可能不兼容)","+","0","0.0.0","1.0.0以上版本","1.0.12以上版本","1.0.14以上版本","1.0.7以上版本","100","1000","1时,表示延迟到spring容器初始化完成时暴露服务","2","2.0.0以上版本","2.0.5以上版本","2.0.7以上版本","2.0.8以上版本","6.1","accesslog","activ","async","boolean","class","class/boolean","cluster","connect","default","delay","deprec","document","dubbo:servic","dynam","execut","exporter.listen","failov","fals","filter","group","int","interfac","javassist","layer","listen","loadbal","local后缀,服务接口客户端本地代理类名,用于在客户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象,构造函数如:publ","mock","mock后缀,服务接口调用失败mock实现类,该mock类必须有一个无参构造函数,与local的区别在于,local总是被执行,而mock只在出现非业务异常(比如超时,网络异常等)时执行,local在远程调用之前执行,mock在远程调用后执行。","object","owner","path","protocol","provid","proxi","random","ref","regist","registri","retri","service.filt","string","string/boolean","stub","timeout","token","true","version","weight","xxxservice)","xxxservicelocal(xxxservic","令牌验证,为空表示不开启,如果为true,表示随机生成动态令牌,否则使用静态令牌,令牌的作用是防止消费者绕过注册中心直接访问,保证注册中心的授权功能有效,如果使用点对点调用,需关闭令牌功能","作用","使用指定的协议暴露服务,在多协议时使用,值为的id属性,多个协议id用逗号分隔","兼容性","可选","向指定注册中心注册,在多个注册中心时使用,值为的id属性,多个注册中心id用逗号分隔,如果不想将该服务注册到任何registry,可将值设为n/a","对应url参数","对每个提供者的最大连接数,rmi、http、hessian等短连接协议表示限制连接数,dubbo等长连接协表示建立的长连接个数","属性","延迟注册服务时间(毫秒)","必填","性能调优","指定provider,值为的id属性","描述","是否必填","是否缺省异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程","服务分组,当一个接口有多个实现,可以用分组区分","服务发现","服务对象实现引用","服务接口名","服务提供方导出服务监听器名称,多个名称用逗号分隔","服务提供方远程调用过程拦截器名称,多个名称用逗号分隔","服务提供者所在的分层。如:biz、dao、intl:web、china:acton。","服务提供者暴露服务配置:配置类:com.alibaba.dubbo.config.serviceconfig","服务提供者每服务每方法最大可并行执行请求数","服务文档url","服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。","服务是否过时,如果设为true,消费方引用时将打印服务过时警告error日志","服务权重","服务治理","服务版本,建议使用两位数字版本,如:1.0,通常在接口不兼容时版本号才需要升级","服务负责人,用于服务治理,请填写负责人公司邮箱前缀","服务路径","标签","每服务消费者每服务每方法最大并发调用数","生成动态代理方式,可选:jdk/javassist","类型","缺使用第一个provider配置","缺省为接口名","缺省值","缺省向所有registry注册","设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件","设为true,表示使用缺省mock类名,即:接口名","设为true,表示使用缺省代理类名,即:接口名","该协议的服务是否注册到注册中心","负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用","远程服务调用超时时间(毫秒)","远程服务调用重试次数,不包括第一次调用,不需要重试请设为0","配置关联","集群方式,可选:failover/failfast/failsafe/failback/fork",",设为"],"reference-xmlconf/dubbo-reference.html":["0","1.0.0以上版本","1.0.5以上版本","1.0.6以上版本","1.0.7以上版本","2.0.0以上版本","2.0.10以上版本","2.0.2以上版本","2.0.5以上版本","2.0.7以上版本","2.2.0以上版本","6.2","activ","async","boolean","cach","check","class","class/boolean","client","cluster","connect","default","dubbo1.0.13及其以上版本支持","dubbo2.0.0以上版本支持","dubbo2.1.0及其以上版本支持","dubbo:refer","failov","fals","filter","gener","group","id","init","int","interfac","invoker.listen","javassist","jcache等","jdk","layer","listen","loadbal","long","mock","owner","protocol","proxi","reference.filt","registri","retri","string","string/boolean","stub","threadlocal,","timeout","url","valid","version","xxxservice)","xxxservicelocal(xxxservic","从指定注册中心注册获取服务列表,在多个注册中心时使用,值为","以调用参数为key,缓存返回结果,可选:lru,","作用","兼容性","只调用指定协议的服务提供方,其它协议忽略。","可选","启动时检查提供者是否存在,true报错,false忽略","客户端传输类型设置,如dubbo协议的netty或mina。","对应url参数","对每个提供者的最大连接数,rmi、http、hessian等短连接协议表示限制连接数,dubbo等长连接协表示建立的长连接个数","属性","必填","性能调优","描述","是否启用jsr303标准注解验证,如果启用,将对方法参数上的注解进行校验","是否在afterpropertiesset()时饥饿初始化引用,否则等到有人注入或引用该实例时再初始化。","是否异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程","是否必填","是否缺省泛化接口,如果为泛化接口,将返回genericservic","服力治理","服务分组,当一个接口有多个实现,可以用分组区分,必需和服务提供方一致","服务发现","服务引用beanid","服务接口名","服务接口客户端本地代理类名,用于在客户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象,构造函数如:public","服务接口调用失败mock实现类名,该mock类必须有一个无参构造函数,与local的区别在于,local总是被执行,而mock只在出现非业务异常(比如超时,网络异常等)时执行,local在远程调用之前执行,mock在远程调用后执行。","服务方法调用超时时间(毫秒)","服务治理","服务消费方引用服务监听器名称,多个名称用逗号分隔","服务消费方远程调用过程拦截器名称,多个名称用逗号分隔","服务消费者引用服务配置:配置类:com.alibaba.dubbo.config.referenceconfig","服务版本,与服务提供者的版本一致","服务调用者所在的分层。如:biz、dao、intl:web、china:acton。","每服务消费者每服务每方法最大并发调用数","点对点直连服务提供者地址,将绕过注册中心","的async","的check","的connect","的gener","的id属性,多个注册中心id用逗号分隔","的loadbal","的retri","的timeout","签","类型","缺省使用","缺省值","缺省将从所有注册中心获服务列表后合并结果","调用服务负责人,用于服务治理,请填写负责人公司邮箱前缀","负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用","远程服务调用重试次数,不包括第一次调用,不需要重试请设为0","选择动态代理实现策略,可选:javassist,","配置关联","集群方式,可选:failover/failfast/failsafe/failback/fork"],"reference-xmlconf/dubbo-protocol.html":["0","1","100","2.0.10以上版本","2.0.5以上版本","2.0.6以上版本","2.0.8以上版本","2.1.0以上版本","2.4.0+,分配的端口在协议缺省端口的基础上增长,确保端口段可控。","6.3","8","8192","88388608(=8m)","accept","accesslog","boolean","buffer","charset","client","codec","connection等","contextpath","cpu个数+1","direct,","dispatch","dubbo","dubbo:protocol","dubbo协议缺省为al","dubbo协议缺省为hessian2,rmi协议缺省为java,http协议缺省为json","dubbo协议缺省为netti","dubbo协议缺省为netty,http协议缺省为servlet","dubbo协议缺省端口为20880,rmi协议缺省端口为1099,http和hessian协议缺省端口为80","execution,","fix","heartbeat","host","id","int","iothread","io线程池大小(固定大小)","message,","name","path","payload","port","queue","regist","serial","server","string","string/boolean","telnet","thread","threadpool","transport","true","utf","中引用此id,如果id不填,缺省和name属性值一样,重复则在name后加序号。","作用","兼容性","协议beanid,可以在","协议名称","协议序列化方式,当协议支持多种序列化方式时使用,比如:dubbo协议的dubbo,hessian2,java,compactedjava,以及http协议的json等","协议的客户端实现类型,比如:dubbo协议的mina,netty等","协议的服务器端实现类型,比如:dubbo协议的mina,netty等,http协议的jetty,servlet等","协议的服务端和客户端实现类型,比如:dubbo协议的mina,netty等,可以分拆为server和client配置","协议的消息派发方式,用于指定线程模型,比如:dubbo协议的all,","协议编码方式","可选","如果配置为","对应url参数","属性","序列化编码","建议不要配置,让dubbo自动获取本机ip","心跳间隔,对于长连接,当物理层断开时,比如拔网线,tcp的fin消息来不及发送,对方收不到断开事件,此时需要心跳来帮助检查连接是否已断开","必填","性能调优","或者","所支持的telnet命令,多个命令用逗号分隔","描述","提供者上下文路径,为服务path的前缀","是否必填","服务主机名,多网卡选择或指定vip及域名时使用,为空则自动查找本机ip,","服务发现","服务提供方最大可接受连接数","服务提供者协议配置:配置类:com.alibaba.dubbo.config.protocolconfig说明:如果需要支持多协议,可以声明多个|标签,并在|中通过protocol属性指定使用的协议。","服务治理","服务端口","服务线程池大小(固定大小)","标签","没有配置port,则会分配一个没有被占用的端口。dubbo","类型","线程池类型,可选:fixed/cach","线程池队列大小,当线程池满时,排队等待执行的队列大小,建议不要设置,当线程程池时应立即失败,重试其它服务提供机器,而不是排队,除非有特殊需求。","缺省为空串","缺省值","网络读写缓冲区大小","自动查找本机ip","设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件","该协议的服务是否注册到注册中心","请求及响应数据包大小限制,单位:字节","配置关联"],"reference-xmlconf/dubbo-registry.html":["0","1.0.16以上版本","2.0.0以上版本","2.0.5以上版本","2.1.0以上版本","5000","6.4","60000","9090","address","boolean","check","dubbo","dubbo:registri","dynam","file","http,","id","int","local三种协议,分别表示,dubbo地址,http地址,本地注册中心","netti","password","port","protocol","regist","registry.fil","registry.sess","registry.timeout","registry.transport","registry.wait","session","string","subscrib","timeout","transport","true","usernam","wait","中引用此id","作用","使用文件缓存注册中心地址列表及服务提供者列表,应用重启时将基于此文件恢复,注意:两个注册中心不能使用同一文件存储","停止时等待通知完成时间(毫秒)","兼容性","可选","对应url参数","属性","必填","性能调优","或","描述","是否向此注册中心注册服务,如果设为false,将只订阅,不注册","是否向此注册中心订阅服务,如果设为false,将只注册,不订阅","是否必填","服务发现","服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。","服务治理","标签","注册中心不存在时,是否报错","注册中心会话超时时间(毫秒),用于检测提供者非正常断线后的脏数据,比如用心跳检测的实现,此时间就是心跳间隔,不同注册中心实现不一样。","注册中心引用beanid,可以在","注册中心服务器地址,如果地址没有端口缺省为9090,同一集群内的多个地址用逗号分隔,如:ip:port,ip:port,不同集群的注册中心,请配置多个","注册中心缺省端口,当address没有带端口时使用此端口做为缺省值","注册中心请求超时时间(毫秒)","注册中心配置:配置类:com.alibaba.dubbo.config.registryconfig说明:如果有多个不同的注册中心,可以声明多个|标签,并在|或|的registry属性指定使用的注册中心。","注同中心地址协议,支持dubbo,","登录注册中心密码,如果注册中心不需要验证可不填","登录注册中心用户名,如果注册中心不需要验证可不填","类型","缺省值","网络传输方式,可选mina,netti","配置关联"],"reference-xmlconf/dubbo-monitor.html":["1.0.16以上版本","2.0.9以上版本","6.5",">","address","dubbo","dubbo:monitor","n/a","protocol","string","作用","兼容性","可选","对应url参数","属性","描述","是否必填","服务治理","标签","监控中心协议,如果为protocol=\"registry\",表示从注册中心发现监控中心地址,否则直连监控中心。","监控中心配置:配置类:com.alibaba.dubbo.config.monitorconfig","直连监控中心服务器地址,address=\"10.20.130.230:12080\"","类型","缺省值"],"reference-xmlconf/dubbo-application.html":["1.0.16以上版本","2.0.0以上版本","2.0.5以上版本","2.0.7以上版本","2.1.0以上版本","2.2.0以上版本","6.6","applic","application.vers","architectur","compil","dubbo:appl","environ","javassist","java字节码编译器,用于动态类的生成,可选:jdk或javassist","logger","name","organ","owner","slf4j","string","version","作用","兼容性","可选","对应url参数","属性","应用信息配置:配置类:com.alibaba.dubbo.config.applicationconfig","应用环境,如:develop/test/product,不同环境使用不同的缺省值,以及作为只用于开发测试功能的限制条件","应用负责人,用于服务治理,请填写负责人公司邮箱前缀","当前应用名称,用于注册中心计算应用间依赖关系,注意:消费者和提供者应用名不要一样,此参数不是匹配条件,你当前项目叫什么名字就填什么,和提供者消费者角色无关,比如:kylin应用调用了morgan应用的服务,则kylin项目配成kylin,morgan项目配成morgan,可能kylin也提供其它服务给别人使用,但kylin项目永远配成kylin,这样注册中心将显示kylin依赖于morgan","当前应用的版本","必填","性能优化","描述","日志输出方式,可选:slf4j,jcl,log4j,jdk","是否必填","服务治理","标签","用于服务分层对应的架构。如,intl、china。不同的架构使用不同的分层。","类型","组织名称(bu或部门),用于注册中心区分服务来源,此配置项建议不要使用autoconfig,直接写死在配置中,比如china,intl,itu,crm,asc,dw,aliexpress等","缺省值"],"reference-xmlconf/dubbo-module.html":["2.2.0以上版本","6.7","dubbo:modul","modul","module.vers","name","organ","owner","string","version","作用","兼容性","可选","对应url参数","属性","当前模块名称,用于注册中心计算模块间依赖关系","当前模块的版本","必填","描述","是否必填","服务治理","标签","模块信息配置:","模块负责人,用于服务治理,请填写负责人公司邮箱前缀","类型","组织名称(bu或部门),用于注册中心区分服务来源,此配置项建议不要使用autoconfig,直接写死在配置中,比如china,intl,itu,crm,asc,dw,aliexpress等","缺省值","配置类:com.alibaba.dubbo.config.moduleconfig"],"reference-xmlconf/dubbo-provider.html":["+","0","0.0.0","1","1.0.16以上版本","100","1000","1时,表示延迟到spring容器初始化完成时暴露服务","2","2.0.0以上版本","2.0.5以上版本","2.0.6以上版本","2.0.7以上版本","6.8","8","8192","88388608(=8m)","accept","accesslog","activ","async","boolean","buffer","charset","client","cluster","codec","connect","contextpath","cpu","default","default.act","default.async","default.clust","default.connect","default.loadbal","default.retri","default.timeout","delay","deprec","document","dubbo","dubbo:provid","dubbo协议缺省为hessian2,rmi协议缺省为java,http协议缺省为json","dubbo协议缺省为netti","dubbo协议缺省为netty,http协议缺省为servlet","dynam","execut","exporter.listen","failov","fals","filter","fix","group","host","id","int","iothread","io线程池,接收网络读写中断,以及序列化和反序列化,不处理业务,业务线程池参见threads配置,此线程池和cpu相关,不建议配置。","javassist","layer","listen","loadbal","local后缀。","mock","mock后缀。","owner","path","payload","protocol","proxi","queue","random","registri","retri","serial","server","service.filt","string","string/boolean","stub","telnet","thread","threadpool","timeout","token","true","utf","version","weight","中引用此id","令牌验证,为空表示不开启,如果为true,表示随机生成动态令牌","作用","兼容性","协议beanid,可以在","协议名称","协议序列化方式,当协议支持多种序列化方式时使用,比如:dubbo协议的dubbo,hessian2,java,compactedjava,以及http协议的json,xml等","协议的客户端实现类型,比如:dubbo协议的mina,netty等","协议的服务器端实现类型,比如:dubbo协议的mina,netty等,http协议的jetty,servlet等","协议编码方式","可选","向指定注册中心注册,在多个注册中心时使用,值为","对应url参数","对每个提供者的最大连接数,rmi、http、hessian等短连接协议表示限制连接数,dubbo等长连接协表示建立的长连接个数","属性","序列化编码","延迟注册服务时间(毫秒)","性能调优","所支持的telnet命令,多个命令用逗号分隔","描述","提供者上下文路径,为服务path的前缀","是否为缺省协议,用于多协议","是否必填","是否缺省异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程","服务主机名,多网卡选择或指定vip及域名时使用,为空则自动查找本机ip,建议不要配置,让dubbo自动获取本机ip","服务分组,当一个接口有多个实现,可以用分组区分","服务发现","服务提供方导出服务监听器名称,多个名称用逗号分隔","服务提供方远程调用过程拦截器名称,多个名称用逗号分隔","服务提供者所在的分层。如:biz、dao、intl:web、china:acton。","服务提供者最大可接受连接数","服务提供者每服务每方法最大可并行执行请求数","服务提供者缺省值配置:配置类:com.alibaba.dubbo.config.providerconfig说明:该标签为|和|标签的缺省值设置。","服务文档url","服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。","服务是否过时,如果设为true,消费方引用时将打印服务过时警告error日志","服务权重","服务治理","服务版本,建议使用两位数字版本,如:1.0,通常在接口不兼容时版本号才需要升级","服务线程池大小(固定大小)","服务负责人,用于服务治理,请填写负责人公司邮箱前缀","标签","每服务消费者每服务每方法最大并发调用数","生成动态代理方式,可选:jdk/javassist","的id属性,多个注册中心id用逗号分隔,如果不想将该服务注册到任何registry,可将值设为n/a","类型","线程池类型,可选:fixed/cach","线程池队列大小,当线程池满时,排队等待执行的队列大小,建议不要设置,当线程程池时应立即失败,重试其它服务提供机器,而不是排队,除非有特殊需求。","缺省为空串","缺省值","缺省向所有registry注册","网络读写缓冲区大小","自动查找本机ip","设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件","设为true,表示使用缺省mock类名,即:接口名","设为true,表示使用缺省代理类名,即:接口名","请求及响应数据包大小限制,单位:字节","负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用","远程服务调用超时时间(毫秒)","远程服务调用重试次数,不包括第一次调用,不需要重试请设为0","配置关联","集群方式,可选:failover/failfast/failsafe/failback/fork",",设为"],"reference-xmlconf/dubbo-consumer.html":["0","1.0.16以上版本","100","1000","2","2.0.0以上版本","2.0.10以上版本","2.0.5以上版本","2.0.7以上版本","6.9","activ","async","boolean","cach","check","cluster","connect","default.act","default.async","default.clust","default.connect","default.loadbal","default.retri","default.timeout","dubbo2.1.0及其以上版本支持","dubbo:consum","failov","fals","filter","gener","init","int","invoker.listen","javassist","jcache等","layer","listen","loadbal","owner","proxi","random","reference.filt","registri","retri","string","string/boolean","threadlocal,","timeout","true","valid","以调用参数为key,缓存返回结果,可选:lru,","作用","兼容性","可选","向指定注册中心注册,在多个注册中心时使用,值为","启动时检查提供者是否存在,true报错,false忽略","对应url参数","属性","性能调优","描述","是否启用jsr303标准注解验证,如果启用,将对方法参数上的注解进行校验","是否在afterpropertiesset()时饥饿初始化引用,否则等到有人注入或引用该实例时再初始化。","是否必填","是否缺省异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程","是否缺省泛化接口,如果为泛化接口,将返回genericservic","服务治理","服务消费方引用服务监听器名称,多个名称用逗号分隔","服务消费方远程调用过程拦截器名称,多个名称用逗号分隔","服务消费者缺省值配置:配置类:com.alibaba.dubbo.config.consumerconfig说明:该标签为|标签的缺省值设置。","服务调用者所在的分层。如:biz、dao、intl:web、china:acton。","标签","每个服务对每个提供者的最大连接数,rmi、http、hessian等短连接协议支持此配置,dubbo协议长连接不支持此配置","每服务消费者每服务每方法最大并发调用数","生成动态代理方式,可选:jdk/javassist","的id属性,多个注册中心id用逗号分隔,如果不想将该服务注册到任何registry,可将值设为n/a","类型","缺省值","缺省向所有registry注册","调用服务负责人,用于服务治理,请填写负责人公司邮箱前缀","负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用","远程服务调用超时时间(毫秒)","远程服务调用重试次数,不包括第一次调用,不需要重试请设为0","配置关联","集群方式,可选:failover/failfast/failsafe/failback/fork"],"reference-xmlconf/dubbo-method.html":[".activ",".async",".cach",".deprec",".execut",".loadbal",".retri",".return",".sent",".sticki",".timeout",".valid","0","1.0.8以上版本","1.0.9以上版本","2.0.0以上版本","2.0.5以上版本","2.0.6以上版本","6.10","activ","async","attribute属性,不在url中体现","boolean","cach","deprec","dubbo2.1.0及其以上版本支持","dubbo:method","execut","fals","int","jcache等","loadbal","name","oninvok","onreturn","onthrow","retri","return","sent","sticki","string","string/boolean","threadlocal,","timeout","true","valid","以调用参数为key,缓存返回结果,可选:lru,","作为","作用","兼容性","可选","子标签时有效","对应url参数","属性","异步调用时,标记sent=true时,表示网络已发出数据","必填","性能调优","描述","方法名","方法执行前拦截","方法执行有异常拦截","方法执行返回后拦截","方法级配置:配置类:com.alibaba.dubbo.config.methodconfig说明:该标签为|或|的子标签,用于控制到方法级,","方法调用是否需要返回值,async设置为true时才生效,如果设置为true,则返回future,或回调onreturn等方法,如果设置为false,则请求发送成功后直接返回nul","方法调用超时时间(毫秒)","是否启用jsr303标准注解验证,如果启用,将对方法参数上的注解进行校验","是否异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程","是否必填","服务方法是否过时,此属性只在","服务治理","标签","标识","每服务每方法最大使用线程数限制","每服务消费者最大并发调用限制","比如:","的async","的retri","类型","缺省为","缺省为的loadbal","缺省为的timeout","缺省值","设置true","该接口上的所有方法使用同一个provider.如果需要更复杂的规则,请使用用路由","负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用","远程服务调用重试次数,不包括第一次调用,不需要重试请设为0",",此属性只在"],"reference-xmlconf/dubbo-argument.html":[".retri","/&gt;","2.0.6以上版本","6.11","boolean","callback","callback=\"true\"","dubbo:argu","index","index=\"0\"","int","name=\"findxxx\"","retries=\"2\"&gt;","string","timeout=\"3000\"","type","|&lt;dubbo:argu","|&lt;dubbo:method","|&lt;dubbo:method&gt;","与index二选一","作用","兼容性","参数是否为callback接口,如果为callback,服务提供方将生成反向代理,可以从服务提供方反向调用消费方,通常用于事件推送.","可选","对应url参数","属性","必填","描述","方法参数配置:配置类:com.alibaba.dubbo.config.argumentconfig说明:该标签为|的子标签,用于方法参数的特征描述,比如:","方法名","是否必填","服务治理","标签","标识","类型","缺省值","通过参数类型查找参数的index"],"reference-xmlconf/dubbo-parameter.html":["2.0.0以上版本","6.12","dubbo:paramet","key","string","valu","也可以:","作用","兼容性","对应url参数","属性","必填","描述","是否必填","服务治理","标签","比如:","类型","缺省值","路由参数值","路由参数键","选项参数配置:配置类:java.util.map说明:该标签为|或|或|或|或|的子标签,用于配置自定义参数,该配置项将作为扩展点设置自定义参数使用。"],"reference-protocol/introduction.html":["7","协议参考手册","各协议的性能情况,请参见:性能测试报告","性能测试报告","推荐使用dubbo协议"],"reference-protocol/dubbo.html":["(1)","(2)","/","14。如果能接受,可以考虑使用,否则网络将成为瓶颈。","262。单个消费者调用单个服务提供者的tps(每秒处理事务数)最大为:7mbyte","500kbyte","7.1","=",">b","all,","a和b的属性","cach","calendar等接口,只能用jdk自带的实现,因为hessian会做特殊处理,自定义实现类中的属性值都会丢失。","connect","date,","direct,","dispatcher:","dubbo,","dubbo.properti","dubbo.service.protocol=dubbo","dubbo://","dubbo协议缺省每服务每提供者每消费者使用单一长连接,如果数据量较大,可以使用多个连接。","dubbo缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。","dubbo缺省协议采用单一长连接和nio异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。","execution,","fixed,","grizzi","hessian2,","hessian序列化,只传成员属性值和值的类型,不传方法或静态变量,兼容情况:(由吴亚军提供)","java,","json","map,","message,","mina,","netty,","number,","serialid","serialization:","threadpool:","transporter:","|","不抛异常,a多的那","不抛异常,b正常接","不相同","个属性的值,b没有,","为什么不能传大包?","为什么要消费者比提供者个数多?","为什么采用异步单一长连接?","为防止被大量连接撑挂,可在服务提供方限制大接收连接数,以实现服务提供方自我保护。","传输协议:tcp","传输方式:nio异步传输","其他正常","出来的枚举进行传输","参数及返回值不能自定义实现list,","参数及返回值需实现serializable接口","名相同,但类型不相同","因dubbo协议采用单一长连接,假设网络为千兆网卡(1024mbit=128mbyte),根据测试经验数据每条连接最多只能压满7mbyte(不同的环境可能不一样,供参考),理论上1个服务提供者需要20个服务消费者才能压满网卡。","因dubbo协议采用单一长连接,如果每次请求的数据包大小为500kbyte,假设网络为千兆网卡(1024mbit=128mbyte),每条连接最大7mbyte(不同的环境可能不一样,供参考),单个服务提供者的tps(每秒处理事务数)最大为:128mbyt","因为服务的现状大都是服务提供者少,通常只有几台机器,而服务的消费者多,可能整个网站都在访问该服务,比如morgan的提供者只有6台提供者,却有上百台消费者,每天有1.5亿次调用,如果采用常规的hessian服务,服务提供者很容易就被压跨,通过单一连接,保证单一消费者不会压死提供者,长连接,减少连接握手验证等,并使用异步io,复用线程池,防止c10k问题。","多出来的枚举进行传输","多端口:","属性(或者说类b少一种","属性)|","序列化:hessian二进制序列化","总结:会抛异常的情况:枚举值一边多一种,一边少一种,正好使用了差别的那种,或者属性名相同,类型不同","总结:服务器端和客户端对领域对象并不需要完全一致,而是按照最大匹配原则。","情况","或","抛异常","接口增加方法,对客户端无影响,如果该方法不是客户端需要的,客户端不需要重新部署。输入参数和结果集中增加属性,对客户端无影响,如果客户端并不需要新属性,不用重新部署。","收数据","数据通讯","枚举a多一种","枚举(或者说b少一种","枚举),a不使用","枚举),a使用多","正常传输","类a多一种","约束:","结果","缺省协议,使用基于mina1.1.7+hessian3.2.1的tbremoting交互。","表示该服务使用jvm共享长连接。(缺省)","表示该服务使用独立两条长连接。","表示该服务使用独立长连接。","设置服务协议:","设置默认协议:","输入参数和结果集属性名变化,对客户端序列化无影响,但是如果客户端不重新部署,不管输入还是输出,属性名变化的属性值是获取不到的。","连接个数:单连接","连接方式:长连接","适用场景:常规远程服务方法调用","适用范围:传入传出参数数据包较小(建议小于100k),消费者比提供者个数多,单一消费者无法压满提供者,尽量不要用dubbo协议传输大文件或超大字符串。","配置:"],"reference-protocol/rmi.html":["(1)","(2)","(3)","3.2.2版本","4.1版本新版本的common","7.2","collections3","collections4","collections包(dubbo不会依赖这个包,请排查自己的应用有没有使用)的情况下,存在反序列化安全风险。","collections解决了该问题","dsun.rmi.transport.tcp.responsetimeout=3000","dsun.rmi.transport.tcp.responsetimeout=3000,参见下面的rmi配置","dubbo.properti","dubbo.service.protocol=rmi","dubbo配置中的超时时间对rmi无效,需使用java启动参数设置:","http://download.oracle.com/docs/cd/e17409_01/javase/6/docs/technotes/guides/rmi/sunrmiproperties.html","java","java标准的远程调用协议","rmi","rmi//","rmi协议采用jdk标准的java.rmi.*实现,采用阻塞式短连接和jdk标准序列化方式。","rmi配置:","spring","传输协议:tcp","传输方式:同步传输","但如果设置了","兼容性:","协议:","参数及返回值需实现serializable接口","多端口:","如果服务接口没有继承java.rmi.remote接口","如果服务接口继承了java.rmi.remote接口,可以和原生rmi互操作,即:","如果正在使用rmi提供服务给外部访问(公司内网环境应该不会有攻击风险),同时应用里依赖了老的common","定义","将common","序列化:java标准二进制序列化","或者提供方用标准rmi暴露服务,消费方用dubbo的rmi协议调用。","提供者用dubbo的rmi协议暴露服务,消费者直接用标准rmi接口调用,","更多rmi优化参数请查看:","约束:","缺省dubbo将自动生成一个com.xxx.xxxservice$remote的接口,并继承java.rmi.remote接口,并以此接口暴露服务,","设置服务协议:","设置默认协议:","请升级到","请检查应用:","连接个数:多连接","连接方式:短连接","适用场景:常规远程服务方法调用,与原生rmi服务互操作","适用范围:传入传出参数数据包大小混合,消费者与提供者个数差不多,可传文件。","配置:",",将不生成$remote接口,而使用spring的rmiinvocationhandler接口暴露服务,和spring兼容。"],"reference-protocol/hessian.html":["(1)","(2)","4.0.7","7.3","calendar等接口,只能用jdk自带的实现,因为hessian会做特殊处理,自定义实现类中的属性值都会丢失。","com.caucho","date,","hessian","hessian://","hessian协议用于集成hessian的服务,hessian底层采用http通讯,采用servlet暴露服务,dubbo缺省内嵌jetty作为服务器实现。","map,","number,","rpc","servic","传输协议:http","传输方式:同步传输","依赖:","协议:","参数及返回值不能自定义实现list,","参数及返回值需实现serializable接口","可以和原生hessian服务互操作,即:","基于hessian的远程调用协议。","多端口:","定义","序列化:hessian二进制序列化","或者提供方用标准hessian暴露服务,消费方用dubbo的hessian协议调用。","提供者用dubbo的hessian协议暴露服务,消费者直接用标准hessian接口调用,","是caucho开源的一个","框架,其通讯效率高于webservice和java自带的序列化。","直连:","约束:","设置","设置默认协议:","连接个数:多连接","连接方式:短连接","适用场景:页面传输,文件传输,或与原生hessian服务互操作","适用范围:传入传出参数数据包较大,提供者比消费者个数多,提供者压力较大,可传文件。","配置:"],"reference-protocol/http.html":["(1)","(2)","(default)","(recommend)","/*","1","2.3.0以上版本支持","7.4","bridg","com.alibaba.dubbo.remoting.http.servlet.dispatcherservlet","dubbo","dubbo.xml:","h4.","http://","jetti","server:","servlet","web.xml:","传输协议:http","传输方式:同步传输","协议的上下文路径必须与servlet应用的上下文路径相同。","协议的端口必须与servlet容器的端口相同,","参数及返回值需符合bean规范","基于http表单的远程调用协议。参见:http协议使用说明","序列化:表单序列化","注意,如果使用servlet派发请求:","约束:","连接个数:多连接","连接方式:短连接","适用场景:需同时给应用程序和浏览器js使用的服务。","适用范围:传入传出参数数据包大小混合,提供者比消费者个数多,可用浏览器查看,可用表单或url传入参数,暂不支持传文件。","配置:","采用spring的httpinvoker实现"],"reference-protocol/webservice.html":["(1)","(2)","(default)","(recommend)","/*","1","2.3.0以上版本支持。","2.6.1","7.5","bridg","com.alibaba.dubbo.remoting.http.servlet.dispatcherservlet","cxf","cxf是apache开源的一个rpc框架:http://cxf.apache.org,由xfire和celtix合并而来","default","defin","directli","dubbo","frontend","h4.","hessian","http","http实现。","jetti","multi","org.apache.cxf","port:","protocol:","provider:","rt","server:","servic","servlet","set","simpl","simple和transport","transport","web.xml:","webservice://","wsdl:http://10.20.153.10:8080/com.foo.helloworld?wsdl","。","传输协议:http","传输方式:同步传输","依赖:","协议的上下文路径必须与servlet应用的上下文路径相同。","协议的端口必须与servlet容器的端口相同,","参数及返回值需实现serializable接口","参数尽量使用基本类型和pojo。","可以和原生webservice服务互操作,即:","基于cxf的frontend","基于webservice的远程调用协议:","序列化:soap文本序列化","或者提供方用标准webservice暴露服务,消费方用dubbo的webservice协议调用。","提供者用dubbo的webservice协议暴露服务,消费者直接用标准webservice接口调用,","注意,如果使用servlet派发请求:","约束:","连接个数:多连接","连接方式:短连接","适用场景:系统集成,跨语言调用。","配置:"],"reference-protocol/thrift.html":["(不能在协议中传递null值)","0.8.0","2.3.0以上版本支持。","7.6","compiler编译生成相应的java代码,后续版本中会在这方面做一些增强。","dubbo","libthrift","name,mag","number等。使用dubbo","org.apache.thrift","rpc","rpc/dubbo","thrift","thrift/src/test/java/com/alibaba/dubbo/rpc/protocol/thrift/exampl","thrift://","thrift不支持数据类型:null值","thrift协议同样需要使用thrift的idl","依赖:","协议是对","原生协议的扩展,在原生协议的基础上添加了一些额外的头信息,比如servic","当前","所有服务共用一个端口:(与原生thrift不兼容)","支持的","是facebook捐给apache的一个rpc框架","示例:https://github.com/alibaba/dubbo/tree/master/dubbo"],"reference-protocol/memcached.html":["2.3.0以上版本支持。","7.7","=","delete(key)。","extensionloader.getextensionloader(registryfactory.class).getadaptiveextension();","memcach","memcached://","registri","registry.register(url.valueof(\"memcached://10.20.153.11/com.foo.barservice?category=providers&dynamic=false&application=foo&group=member&loadbalance=consistenthash\"));","registryfactori","registryfactory.getregistry(url.valueof(\"zookeeper://10.20.153.10:2181\"));","set(key,","value),","也可以使用自定义接口:","可以通过脚本或监控中心手工填写表单注册memcached服务的地址:","如果方法名和memcached的标准方法名不相同,则需要配置映射关系:(其中\"p:xxx\"为spring的标准p标签)","或者,点对点直连:","方法名建议和memcached的标准方法名相同,即:get(key),","是一个高效的kv缓存服务器。","然后在客户端使用时,不需要感知memcached的地址:"],"reference-protocol/redis.html":["2.3.0以上版本支持。","7.8","=","delet(key)。","extensionloader.getextensionloader(registryfactory.class).getadaptiveextension();","redi","redis://","registri","registry.register(url.valueof(\"redis://10.20.153.11/com.foo.barservice?category=providers&dynamic=false&application=foo&group=member&loadbalance=consistenthash\"));","registryfactori","registryfactory.getregistry(url.valueof(\"zookeeper://10.20.153.10:2181\"));","set(key,","value),","也可以使用自定义接口:","如果方法名和redis的标准方法名不相同,则需要配置映射关系:(其中\"p:xxx\"为spring的标准p标签)","或者,点对点直连:","方法名建议和redis的标准方法名相同,即:get(key),","是一个高效的kv存储服务器。","然后在客户端使用时,不需要感知redis的地址:"],"reference-registry/introduction.html":["8","推荐使用zookeeper注册中心","注册中心参考手册"],"reference-registry/multicast.html":["224.0.0.0","239.255.255.255","8.1","multicast注册中心","不需要启动任何中心节点,只要广播地址一样,就可以互相发现。","为了减少广播量,dubbo缺省使用单播发送提供者地址信息给消费者,如果一个机器上同时启了多个消费者进程,消费者需声明unicast=false,否则只会有一个消费者能收到消息:","或","提供方启动时广播自己的地址。","提供方收到订阅请求时,单播自己的地址给订阅者,如果设置了unicast=false,则广播给订阅者。","消费方启动时广播订阅请求。","消费方收到提供方地址时,连接该地址进行rpc调用。","组播受网络结构限制,只适合小规模应用或开发阶段使用。组播地址段:"],"reference-registry/zookeeper.html":["*","0.1","1.1.10","2.3.3以上版本的zookeeper注册中心客户端。","3.3.3","8.2","com.github.sgroschupf","com.netflix.cur","curat","dubbo.registry.client=cur","dubbo.registry.client=zkcli","framework","hadoop的子项目,是一个树型的目录服务,支持变更推送,适合作为dubbo服务的注册中心,工业强度较高,可用于生产环境,并推荐使用。","org.apache.zookeep","quick","registri","start","zkclient","zookeep","zookeeper://10.20.153.10:2181?client=cur","zookeeper://10.20.153.10:2181?client=zkcli","zookeeper单机配置:","zookeeper安装安装方式参见:","zookeeper安装手册,只需搭一个原生的zookeep","zookeeper注册中心","zookeeper说明zookeep","zookeeper集群配置:","中provider和consumer里的conf/dubbo.properties中的dubbo.registry.addrss的值改为zookeeper://127.0.0.1:2181即可使用。","从2.2.0版本开始缺省为zkclient实现,以提升zookeeper客户端的健状性。zkclient是datameer开源的一个zookeeper客户端实现,开源比较早,参见:https://github.com/sgroschupf/zkcli","从2.3.0版本开始支持可选curator实现。cur","兼容性声明因2.0.8最初设计的zookeeper存储结构不能扩充不同类型的数据,2.0.9版本做了调整,所以不兼容,需全部改用2.0.9版本才行,以后的版本会保持兼容2.0.9。2.2.0版本改为基于zkclient实现,需增加zkclient的依赖包,2.3.0版本增加了基于curator的实现,作为可选实现策略。","可通过","可靠性声明阿里内部并没有采用zookeeper做为注册中心,而是使用自己实现的基于数据库的注册中心,即:zookeeper注册中心并没有在阿里内部长时间运行的可靠性保障,此zookeeper桥接实现只为开源版本提供,其可靠性依赖于zookeeper本身的可靠性。","号通配符","同一zookeeper,分成多组注册中心:","向/dubbo/com.foo.barservice/providers目录下写入自己的url地址。","在provider和consumer中增加zookeeper客户端jar包依赖:","如果需要改为curator实现,请配置:","建议使用dubbo","当会话过期时,能自动恢复注册数据,以及订阅请求。","当提供者出现断电等异常停机时,注册中心能自动删除提供者信息。","当注册中心重启时,能自动恢复注册数据,以及订阅请求。","当设置","或直接下载:http://repo1.maven.org/maven2/com/github/sgroschupf/zkcli","或直接下载:http://repo1.maven.org/maven2/com/netflix/curator/cur","或直接下载:http://repo1.maven.org/maven2/org/apache/zookeeper/zookeep","或:","支持","支持zkclient和curator两种zookeeper客户端实现:","支持以下功能:","时,记录失败注册和订阅请求,后台定时重试。","是apacah","是netflix开源的一个zookeeper客户端实现,比较活跃。","服务器,并将","服务提供者启动时:","服务消费者启动时:","流程说明:","监控中心启动时:","缺省配置:","订阅/dubbo/com.foo.barservice/providers目录下的提供者url地址。并向/dubbo/com.foo.barservice/consumers目录下写入自己的url地址。","订阅/dubbo/com.foo.barservice目录下的所有提供者和消费者url地址。","设置zookeeper登录信息。","设置zookeeper的根节点,不设置将使用无根树。","需依赖:",",可订阅服务的所有分组和所有版本的提供者。"],"reference-registry/redis.html":["8.3","failover:","map中的key为url地址。","map中的value为过期时间,用于判断脏数据,脏数据由监控中心删除。(注意:服务器时间必需同步,否则过期检测会不准确)","quick","redi","redis安装手册,只需搭一个原生的redis服务器,并将","redis注册中心","redis过期数据","registri","replicate:","start","subscribe,","unregister,","unregister事件。","unsubscribe。","中provider和consumer里的conf/dubbo.properties中的dubbo.registry.addrss的值改为redis://127.0.0.1:6379即可使用。","主key为服务名和类型。","从2.1.0版本开始支持","使用redis的key/map结构存储数据","使用redis的publish/subscribe事件通知数据变更","只写入和读取任意一台,失败时重试另一台,需要服务器端自行配置数据同步。","可通过","可靠性声明","在客户端同时写入所有服务器,只读取单台,服务器端不需要同步,注册中心集群增大,性能压力也会更大。","并向channel:/dubbo/com.foo.barservice/providers发送register事件。","并向key:/dubbo/com.foo.barservice/providers下,添加当前消费者的地址。","或","数据结构:","是一个高效的kv存储服务器。安装方式参见:","普通消费者直接订阅指定服务提供者的key,只会收到指定服务的register,","服务提供方启动时,向key:/dubbo/com.foo.barservice/providers下,添加当前提供者的地址。","服务消费方启动时,从channel:/dubbo/com.foo.barservice/providers订阅register和unregister事件。","服务消费方收到register和unregister事件后,从key:/dubbo/com.foo.barservice/providers下获取提供者地址列表。","服务监控中心启动时,从channel:/dubbo/*订阅register和unregister,以及subscribe和unsubsribe事件。","服务监控中心收到register和unregister事件后,从key:/dubbo/com.foo.barservice/providers下获取提供者地址列表。","服务监控中心收到subscribe和unsubsribe事件后,从key:/dubbo/com.foo.barservice/consumers下获取消费者地址列表。","监控中心通过psubscribe功能订阅/dubbo/*,会收到所有服务的所有变更事件。","设置redis中key的前缀,缺省为dubbo。","设置redis集群策略,缺省为failover。","调用过程:","选项:","通过事件的值区分事件类型:register,","通过心跳的方式检测脏数据,服务器时间必须相同,并且对服务器有一定压力。","配置","阿里内部并没有采用redis做为注册中心,而是使用自己实现的基于数据库的注册中心,即:redis注册中心并没有在阿里内部长时间运行的可靠性保障,此redis桥接实现只为开源版本提供,其可靠性依赖于redis本身的可靠性。"],"reference-registry/simple.html":["8.4","dogfooding注册中心本身就是一个普通的dubbo服务,可以减少第三方依赖,使整体通讯方式一致。","export","or:","refer","registri","service:","simpl","simple注册中心","适用性说明此simpleregistryservice只是简单实现,不支持集群,可作为自定义注册中心的参考,但不适合直接用于生产环境。"],"reference-telnet/telnet.html":["\"value\"}):","(chang","(list","(print","/:","1","100:","10:","2.0.6以上版本支持","20880","20880:","9","cd","clear","clear:","connections)","count","debug:","default","dubbo2.0.5以上版本服务提供端口支持telnet命令,","echo","exit","exit:","help","help:","invok","l","l:","localhost","log","logger的日志级别","logger的最后100字符的日志","ls","ls:","methods)","nc","port","ps","ps:","pwd","pwd:","server","servic","service)","statu","status:","status命令所检查的资源也可以扩展,参见:扩展参考手册。","telnet","telnet命令参考手册","telnet命令可以扩展,参见:扩展参考手册。","trace","work","xxx:","xxxmethod","xxxmethod({\"prop\":","xxxmethod:","xxxservic","xxxservice.xxxmethod({\"prop\":","xxxservice:","|","使用如:","修改dubbo","取消缺省服务。","或者:","改变缺省服务,当设置了缺省服务,凡是需要输入服务名作为参数的命令,都可以省略服务参数。","显示telnet命帮助信息。","显示xxx命令的详细帮助信息。","显示当前缺省服务。","显示服务列表。","显示服务地址列表。","显示服务的方法列表。","显示服务的方法详细信息列表。","显示服务端口列表。","显示服务详细信息列表。","显示汇总状态,该状态将汇总所有资源的状态,当全部ok时则显示ok,只要有一个error则显示error,只要有一个warn则显示warn。","显示状态列表。","显示端口上的连接信息。","显示端口上的连接详细信息。","查看file","清除屏幕上的内容。","清除屏幕上的指定行数的内容。","统计10次服务任意方法的调用情况。","统计10次服务方法的调用情况。","统计1次服务任意方法的调用情况。","统计1次服务方法的调用情况。","调用服务的方法(自动查找包含此方法的服务)。","调用服务的方法。","跟踪10次服务任意方法的调用情况。","跟踪10次服务方法的调用情况。","跟踪1次服务任意方法的调用情况。","跟踪1次服务方法的调用情况","退出当前telnet命令行。"],"reference-maven/maven.html":["(尚未发布)","10","dapplication=xxx","dpackage=com.alibaba.xxx","dport=9099","dservice=xxxservice,yyyservic","dubbo:cr","dubbo:registri","dversion=1.0.0","maven插件参考手册","mvn","以缺省的9090端口启动一个简易注册中心","样例:以指定的9099端口启动一个简易注册中心","样例:生成指定接口和版本的服务提供者应用","生成demo服务提供者应用"],"best-practice.html":["11","catch应该加上合适的回滚边界上。","catch起来。tri","disable。","query(map),这样的接口没有明确语义,会给后期维护带来不便。","reference.xml","不建议使用过于抽象的通用接口,如:map","不要只是因为是dubbo调用,而把调用tri","兼容性","分包","各协议的兼容性不同,参见:","如果担心性能问题,在必要时,可以通过override掉异常类的fillinstacktrace()方法为空方法,使其不拷贝栈信息,","如果是业务种类,以后明显会有类型增加,不建议用enum,可以用string代替。","如果是在传入参数中用了enum,并新增了enum值,建议先升级服务提供方,这样服务消费方不会传入新值。","如果是在返回值中用了enum,并新增了enum值,建议先升级服务消费方,这样服务提供方不会返回新值。","如果是完备集,可以用enum,比如:enable,","如果需要,也可以考虑在api包中放置一份spring的引用配置,这样使用方,只需在spring加载过程中引用此配置即可,配置建议放在模块的包目录下,以免冲突,如:com/alibaba/china/xxx/dubbo","对于输入参数的校验逻辑在provider端要有。如有性能上的考虑,服务实现者可以考虑在api包上加上服务stub类来完成检验。","序列化","建议使用两位版本号,因为第三位版本号通常表示兼容升级,只有不兼容时才需要变更服务版本。","建议使用异常汇报错误,而不是返回错误码,异常信息能携带更多信息,以及语义更友好,","建议将服务接口,服务模型,服务异常等均放在api包中,因为服务模型及异常也是api的一部分,同时,这样做也符合分包原则:重用发布等价原则(rep),共同重用原则(crp)","异常","当不兼容时,先升级一半提供者为新版本,再将消费者全部升为新版本,然后将剩下的一半提供者升为新版本。","服务化最佳实践","服务协议","服务参数及返回值不建议使用接口,因为数据模型抽象的意义不大,并且序列化需要接口实现类的元信息,并不能起到隐藏实现的意图。","服务参数及返回值建议使用pojo对象,即通过set,get方法表示属性的对象。","服务参数及返回值都必需是byvalue的,而不能是byref的,消费方和提供方的参数或返回值引用并不是同一个,只是值相同,dubbo不支持引用远程对象。","服务接口增加方法,或服务模型增加字段,可向后兼容,删除方法或删除字段,将不兼容,枚举类型新增字段也不兼容,需通过变更版本号升级。","服务接口尽可能大粒度,每个服务方法应代表一个功能,而不是某功能的一个步骤,否则将面临分布式事务问题,dubbo暂未提供分布式事务支持。","服务接口建议以业务场景为单位划分,并对相近业务做抽象,防止接口数量爆炸","服务提供方不应将dao或sql等异常抛给消费方,应在服务实现中对消费方不关心的异常进行包装,否则可能出现消费方无法反序列化相应异常。","枚举值","查询方法不建议抛出checked异常,否则调用方在查询时将过多的try...catch,并且不能进行有效处理,","每个接口都应定义版本号,为后续不兼容升级提供可能,如:","版本","粒度","调用"],"recommend.html":["((echoservice)memberservice).$echo(“ok”));","1","12","2)","20880","activ","asserteqauls(“ok”,","code的配置值(见dubbo配置参考手册)","consumer端配置","dragoon监控服务在注册中心上的状态:http://dubbo","dubbo.properti","dubbo2中所有的配置项都可以spring配置中,并且可以针对单个服务配置。","dubbo:service、dubbo:reference没有配置负责人,则使用dubbo:application设置的负责人。","dubbo配置参考手册","execut","fail","grep","hard","loadbal","l,其中的20880为服务端口","nc","ok","provid","provider上可以配置的provider端属性有:","provider上尽量多配置consumer端的属性,让provider实现者一开始就思考provider服务特点、服务质量的问题。","provider上配置合理的provider端属性","ps:","reference配置负责人","reg1.hst.xyi.cn.alidc.net:8080/status/com.alibaba.morgan.member.memberservice:1.0.5","retri","service配置负责人","statu","thread","timeout","timeout可以在多处设置,配置项及覆盖规则详见:","wc","|","一个服务提供者并行执行请求上限,即当provider对一个服务的并发调用到上限后,新调用会wait(consumer可能到超时)。在方法上配置(dubbo:method","不要使用dubbo.properties文件配置,推荐使用对应xml配置","中的key名alibaba.intl.commons.dubbo.service.allow.no.provid","中的key名dubbo.service.max.thread.threads.s","中的说明。","优于","优于全局配置,最后是dubbo","作服务的提供者,比服务使用方更清楚服务性能参数,如调用的超时时间,合理的重试次数,等等","使用dragoon的http监控项监控注册中心上服务提供方","使用固定端口暴露服务,而不要使用随机端口","全局配置项值,对应dubbo.properties中的key名dubbo.service.invoke.timeout","其它的参数(retries、loadbalance、actives等)的覆盖策略也一样。","原因如下:","可以在多个配置项设置超时,由上至下覆盖(即上面的优先),示例如下:","在dubbo1中需要在dubbo.properties文件中的配置项,dubbo2中配置示例如下:","在provider上尽量多配置consumer端属性","在provider可以配置的consumer端属性有:","在provider配置后,consumer不配置则会使用provider的配置值,即provider配置可以作为consumer的缺省值。否则,consumer会使用consumer端的全局设置,这对于provider不可控的,并且往往是不合理的。","在方法上配置(dubbo:method","失败重试次数,缺省是2(表示加上第一次调用,会调用3次)","如","如完全不配置使用dubbo缺省值,参见","如果有多个应用进程注意不要使用同一个文件,避免内容被覆盖。","对应","对应dubbo.properties中的key名dubbo.application.nam","对应dubbo.properties中的key名dubbo.registry.address","对应dubbo.properties中的key名dubbo.service.protocol、dubbo.service.server.port","应用名","应用配置负责人、组织","推荐用法","提供者列表缓存文件","提供者端特定接口的配置","提供者端特定方法的配置","文件的路径,应用可以根据需要调整,保证这个文件不会在发布过程中被清除。","方法级配置别优于接口级别,即小scope优先","方法调用超时","有了这项配置后,当应用重启过程中,dubbo注册中心不可用时则应用会从这个缓存文件读取服务提供者列表的信息,进一步保证应用可靠性。","服务提供方,使用dragoon的telnet或shell监控项","服务提供者列表","服务提供者协议、服务的监听端口","服务消费方,通过将服务强制转型为echoservice,并调用$echo()测试该服务的提供者是可用","服务线程池大小","注册中心地址","注册中心的列表","注意:","消费者启动时,没有提供者是否抛异常fast","消费者端,最大并发调用限制,即当consumer对一个服务的并发调用到上限后,新调用会wait直到超时。","监控服务提供者端口状态:echo","监控配置","目前有负责人信息和组织信息(用于区分站点)。有问题时便于的找到服务的负责人,至少写两个人以便备份。负责人和组织的信息可以在注册中心的上看到。","确保注册中心上有该服务的存在。","示例:","详细配置说明参见:dubbo配置参考手册","调用超时","负载均衡算法(有多个provider时,如何挑选provider调用),缺省是随机(random)。还可以有轮询(roundrobin)、最不活跃优先(leastactive,指从consumer端并发调用最好的provider,可以减少的反应慢的provider的调用,因为反应更容易累积并发的调用)","这个文件会缓存:","这样在注册中心推送有延迟的情况下,消费者通过缓存列表也能调用到原地址,保证调用成功。","配置","配置上dubbo缓存文件","配置上管理信息","配置方法如下:","配置的覆盖规则:1)",")则并发限制针对方法,在接口上配置(dubbo:service),则并发限制针对服务。"],"capacity-plan.html":["13","以下数据供参考:","使用12台网站标配机器提供服务(8核cpu,8g内存)","使用8台网站标配机器提供服务(8核cpu,8g内存)","使用dubbo的产品授权服务项目","使用dubbo的会员服务项目","容量规划","平均响应时间1.4到2.8毫秒,网络开销约占1.0到1.1毫秒(和数据包大小有关)","平均响应时间2.3到2.5毫秒,网络开销约占1.5到1.6毫秒(和数据包大小有关)","平均负载在1以下(对于8核cpu负载很低)","每天接收3亿次远程调用","每天接收4亿次远程调用"],"benchmark.html":["(demoservice)","14","=","benchmark压缩包,并解压","demoservic","demoservice.sendrequest(\"hello\");","invoke(servicefactori","object","public","return","servicefactory)","servicefactory.get(demoservice.class);","{","}","下载","和服务的api包放到dubbo.benchmark/lib目录下","基准测试工具包","如想测试dubbo的不同版本,直接替换lib下的dubbo的jar包即可。","实现invoke方法,通过servicefactory创建本地接口代理,并实现自己的业务逻辑,如下","实现父类的构造函数","导入自己服务的接口api包和dubbo.benchmark.jar(解压dubbo.benchmark.tar.gz,在lib目录下)","将demo.benchmark.jar","将自己的benchmark工程打成jar包,如demo.benchmark.jar","新建一个benchmark工程,如demo.benchmark","新建一个类,实现abstractclientrunn","运行run.bat(windows)或run.sh(linux)","配置duubo.properti","阅读readme.txt(内容如下,请以压缩包内的为准)"],"perf-test.html":["\"1.6.0_18\"","(build","(dubbo序列化+netty)","(hessian2序列化+mina)","(hessian2序列化+netty)","/dev/sda:","/user","0.6","0.64","0.67","0.79","0.79m","0.8","0.81","0.9","0.9m","1.04","1.15","1.37","1.6.0_18","10.75","10.92","1000","10000","100000","1000000","1011.97","1024","1031.28","10813.5","11.94","11136.02","11426.83","11940","11994","12.22","128","128.el5xen","1293","13.56","13620","14402","15","15.19","15.83","15096","16","16.0","17.51","180","1925.33","1962.7","1966","1k","1k数据","2.0.61","2.0和1.0默认对比百分比","2.0性能不低于1.0,2.0和1.0互调用的性能无明显下降。","2.27ghz","2.6.18","2.9","20.00","20.62","200k","2417.7","2461.79","25","27.49","3","30.8","324.2","3247.1","3349.88","34.12","36.30","362.92","4","4.0.5.ga","4.1","4.82","4096mb","5","5.03","5.1","5.13","50k","52.05","52.68","56.92","569.5","597.9","6.25","628.06","64","6g","7.68","75","8179.08","8192","8919.27","9.61","9.79",":","@","b07)","b13,","bh620","bit","cach","cpu","cpu、内存、网络、磁盘、文件句柄占用平稳。通过","dubbo1","dubbo1(hessian2序列化+mina","dubbo1(hessian2序列化+mina)","dubbo2","dubbo2.0的性能测试结论为通过,从性能、内存占用和稳定性上都有了提高和改进。由其是内存管理由于将mina换成netty,大大减少了1.0版本在高并发大数据下的内存大锯齿。如下图:","dubbo2.0相比较dubbo1.0(默认使用的都是hessian2序列化)性能均有提升(除了50k","dubbo序列化相比hessian2序列化百分比","dubbo的设计目的是为了满足高并发小数据量的rpc调用,在大数据量下的性能表现并不好,建议使用rmi或http协议。","duplex.","e5520","environ","eth0:","full","gb","guide/images/50kres.png","hardwar","hessian","hotspot(tm)","httpd","http(json序列化)","info:","intel(r)","java","java(tm)","jboss","jvm内存运行稳定,无oom,堆内存中无不合理的大对象的占用。通过","kb","keepal","keepalivetimeout","link","maxclient","maxkeepaliverequest","maxrequestsperchild","maxsparethread","mbps,","memori","memory:","minsparethread","mix","mode)","model","name","peth0:","pojo","pojo(嵌套的复杂person对象),不做任何处理,原样返回","processor_count","respons","rmi","runtim","se","server","serverlimit","size","size:","startserv","string","string其余皆通过","string场景","string),详见第五章的性能数据。","system","tecal","threadlimit","threadsperchild","total","tp","tps成功平均值","up","version","vm","x86_64","xeon(r)","xmn256m","xms2g","xmx2g","xss256k","xx:+cmsparallelremarken","xx:+disableexplicitgc","xx:+usecmscompactatfullcollect","xx:+usecmsinitiatingoccupancyonli","xx:+useconcmarksweepgc","xx:+usefastaccessormethod","xx:cmsinitiatingoccupancyfraction=70","xx:largepagesizeinbytes=128m","xx:permsize=128m","上述场景在dubbo1.0\\dubbo2.0(hessian2序列化)\\dubbo2.0(dubbo序列化)\\rmi\\hessian3.2.0\\http(json序列化)进行10分钟的性能测试。","业务线程负载均衡。通过","主要考察序列化和网络io的性能,因此服务端无任何业务逻辑。取10并发是考虑到http协议在高并发下对cpu的使用率较高可能会先打到瓶颈。","传入1k","传入1kstring,不做任何处理,原样返回","传入1kstring,在服务器段循环1w次,每次重新生成一个随机数然后进行拼装。考察业务线程是否能够分配到每个cpu上。","传入200kstring,不做任何处理,原样返回","传入50kstring,不做任何处理,原样返回","关键参数","内存","内核","出于兼容性考虑默认的序列化方式和1.0保持一致使用hessian2,如对性能有更高要求可以使用dubbo序列化,由其是在处理复杂对象时,在大数据量下能获得50%的提升(但此时已不建议使用dubbo协议)。","同时调用1个参数为string(5k)方法,1个参数为person对象的方法,1个参数为map(值为3个person)的方法,持续运行50小时。","响应时间","响应时间成功平均值(ms)","在稳定性场景的基础上,将提供者和消费者布置成均为2台(一台机器2个实例),且string的参数从20byte到200k,每隔10分钟随机变换。","场景","场景名称","场景名称:1k","场景名称:200k","场景名称:50k","场景名称:pojo","存在的问题:在50k数据的时候2.0性能不如1.0,怀疑可能是缓冲区设置的问题,下版本会进一步确认。","实际值","对应指标名称","并发场景(20并发)","性能分析评估","性能对比分析(新旧环境、不同数据量级等)","性能测试场景(10并发)","性能测试报告","整体性能相比1.0有了提升,平均提升10%,使用dubbo2.0新增的dubbo序列化还能获得10%~50%的性能提升,详见下面的性能数据。","无频繁线程锁,线程数平稳。通过","是","是否满足期望(是/否)","期望值范围","期望性能指标(量化)","期望运行状况(非量化,可选)","本次性能测试考察的是dubbo本身的性能,实际使用过程中的性能有待应用来验证。","本次性能测试,测试了dubbo2.0所有支持的协议在不同大小和数据类型下的表现,并与dubbo1.0进行了对比。","机型","测试分析","测试局限性分析(可选)","测试环境","测试目的","测试结果","测试脚本","测试说明","由于dubbo本身的性能占用都在毫秒级,占的基数很小,性能提升可能对应用整体的性能变化不大。","由于邮件篇幅所限没有列出所有的监控图,如需获得可在大力神平台上查询。","硬件部署与参数调整","磁盘","稳定性场景(20并发)","稳定性测试中由于将底层通信框架从mina换成netty,old区对象的增长大大减少,50小时运行,增长不到200m,无fullgc。(可以确认为mina在高并发下的设计缺陷)","网络","软件名称及版本","软件架构","除了50k","高压力场景(20并发)"],"coveragence.html":["(2.0.12)","02","03","16","2012","测试覆盖率报告","统计于"]},"length":89},"tokenStore":{"root":{"0":{"2":{"docs":{"coveragence.html":{"ref":"coveragence.html","tf":0.16666666666666666}}},"3":{"docs":{"coveragence.html":{"ref":"coveragence.html","tf":0.16666666666666666}}},"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.011904761904761904},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.014634146341463415},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.01675977653631285},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.014084507042253521}},".":{"0":{"docs":{},".":{"0":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}},".":{"0":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}},"docs":{}}},"docs":{}}},"1":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464},"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}},"4":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"6":{"4":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"7":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"7":{"9":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}},"m":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}},"8":{"1":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},".":{"0":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464},"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}},"docs":{}}},"9":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},"m":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}},";":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}},"1":{"0":{"0":{"0":{"0":{"0":{"0":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}}},"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.014388489208633094}}}},"1":{"1":{"docs":{},".":{"9":{"7":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{}},"2":{"4":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"3":{"1":{"docs":{},".":{"2":{"8":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{}},"8":{"1":{"3":{"docs":{},".":{"5":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}}},"docs":{}},"docs":{}},"9":{"9":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}},"docs":{}},"docs":{"reference-maven/maven.html":{"ref":"reference-maven/maven.html","tf":5}},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"0":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.02857142857142857}},",":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"1":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.014285714285714285}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"1":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.009523809523809525}},"\"":{"docs":{},")":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.009523809523809525}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"*":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}},"docs":{}},"7":{"5":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"9":{"2":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.02877697841726619}}}},"1":{"1":{"3":{"6":{"docs":{},".":{"0":{"2":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"2":{"1":{"1":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}},"docs":{}},"docs":{}},"4":{"2":{"6":{"docs":{},".":{"8":{"3":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"9":{"4":{"0":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"9":{"4":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}}},"docs":{}},"docs":{}},"docs":{"best-practice.html":{"ref":"best-practice.html","tf":5}},".":{"9":{"4":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"2":{"8":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},".":{"docs":{},"e":{"docs":{},"l":{"5":{"docs":{},"x":{"docs":{},"e":{"docs":{},"n":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}},"docs":{}}}}},"9":{"3":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{"recommend.html":{"ref":"recommend.html","tf":5}},".":{"2":{"2":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"3":{"6":{"2":{"0":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}},"docs":{"capacity-plan.html":{"ref":"capacity-plan.html","tf":5}},".":{"5":{"6":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"4":{"4":{"0":{"2":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}},"docs":{"benchmark.html":{"ref":"benchmark.html","tf":5}},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"能":{"docs":{},"接":{"docs":{},"受":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"网":{"docs":{},"络":{"docs":{},"将":{"docs":{},"成":{"docs":{},"为":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"。":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}},"5":{"0":{"9":{"6":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}},"docs":{"perf-test.html":{"ref":"perf-test.html","tf":5}},".":{"1":{"9":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"8":{"3":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"6":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629},"coveragence.html":{"ref":"coveragence.html","tf":5}},".":{"0":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}}},"7":{"2":{"docs":{},".":{"2":{"2":{"docs":{},".":{"3":{"docs":{},".":{"1":{"docs":{},"*":{"docs":{},",":{"1":{"7":{"2":{"docs":{},".":{"2":{"2":{"docs":{},".":{"3":{"docs":{},".":{"2":{"docs":{},"*":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}},"9":{"1":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}},",":{"1":{"7":{"2":{"docs":{},".":{"2":{"2":{"docs":{},".":{"3":{"docs":{},".":{"9":{"2":{"docs":{},",":{"1":{"7":{"2":{"docs":{},".":{"2":{"2":{"docs":{},".":{"3":{"docs":{},".":{"9":{"3":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"4":{"docs":{},",":{"1":{"7":{"2":{"docs":{},".":{"2":{"2":{"docs":{},".":{"3":{"docs":{},".":{"9":{"5":{"docs":{},",":{"1":{"7":{"2":{"docs":{},".":{"2":{"2":{"docs":{},".":{"3":{"docs":{},".":{"9":{"6":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.009523809523809525}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"5":{"docs":{},",":{"1":{"7":{"2":{"docs":{},".":{"2":{"2":{"docs":{},".":{"3":{"docs":{},".":{"9":{"6":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"7":{"docs":{},",":{"1":{"7":{"2":{"docs":{},".":{"2":{"2":{"docs":{},".":{"3":{"docs":{},".":{"9":{"8":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{},"*":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.009523809523809525}}}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{},".":{"5":{"1":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"8":{"0":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"9":{"2":{"5":{"docs":{},".":{"3":{"3":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{}},"6":{"2":{"docs":{},".":{"7":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}}},"6":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}},"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358},"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547},"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},".":{"0":{"4":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{},".":{"0":{"docs":{},".":{"docs":{},"g":{"docs":{},"a":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.011904761904761904},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.013513513513513514}}}}}}},"1":{"2":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968}}}}}}},"3":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"4":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968}}}}}}},"6":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.016129032258064516},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.013966480446927373},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.03333333333333333}}}}}}},"docs":{}},"5":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}},"6":{"docs":{},"及":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"支":{"docs":{},"持":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}}}}}}}},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}},"7":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}},"8":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.014084507042253521}}}}}}},"9":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}},"docs":{}}},"1":{"5":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{"preface/background.html":{"ref":"preface/background.html","tf":5}},".":{"1":{"0":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464},"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}},"docs":{}},"7":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"8":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"docs":{}}},"2":{"docs":{"preface/requirements.html":{"ref":"preface/requirements.html","tf":5}}},"3":{"7":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":5}},".":{"6":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"docs":{}}},"4":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":5}},".":{"1":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"docs":{}}},"6":{"docs":{},".":{"0":{"docs":{},"_":{"1":{"8":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}},",":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}},"时":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"到":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"容":{"docs":{},"器":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},"时":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}},"数":{"docs":{},"据":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}}}}}},"2":{"0":{"0":{"docs":{},"k":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}}}},"1":{"2":{"docs":{"coveragence.html":{"ref":"coveragence.html","tf":0.16666666666666666}}},"docs":{}},"5":{"docs":{},".":{"1":{"8":{"2":{"docs":{},".":{"2":{"3":{"docs":{},".":{"2":{"0":{"1":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"8":{"8":{"0":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333},"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.014388489208633094},"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.014388489208633094}}}},"docs":{}},"docs":{}},"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}},".":{"0":{"0":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"6":{"2":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"2":{"4":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{"reference-registry/multicast.html":{"ref":"reference-registry/multicast.html","tf":0.09090909090909091}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"3":{"9":{"docs":{},".":{"2":{"5":{"5":{"docs":{},".":{"2":{"5":{"5":{"docs":{},".":{"2":{"5":{"5":{"docs":{"reference-registry/multicast.html":{"ref":"reference-registry/multicast.html","tf":0.09090909090909091}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"4":{"1":{"7":{"docs":{},".":{"7":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}}},"docs":{}},"6":{"1":{"docs":{},".":{"7":{"9":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"5":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"6":{"2":{"docs":{},"。":{"docs":{},"单":{"docs":{},"个":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"调":{"docs":{},"用":{"docs":{},"单":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"(":{"docs":{},"每":{"docs":{},"秒":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"务":{"docs":{},"数":{"docs":{},")":{"docs":{},"最":{"docs":{},"大":{"docs":{},"为":{"docs":{},":":{"7":{"docs":{},"m":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"7":{"docs":{},".":{"4":{"9":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}},".":{"0":{"docs":{},".":{"0":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.03968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.036036036036036036},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.07258064516129033},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.029411764705882353},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.013966480446927373},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.013333333333333334},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.014084507042253521},"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.07692307692307693}}}}}}},"1":{"0":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}},"docs":{}},"2":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}},"5":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.047619047619047616},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.02252252252252252},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.0975609756097561},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.024193548387096774},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.0893854748603352},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.04666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.02112676056338028}}}}}}},"6":{"1":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{},"及":{"docs":{},"其":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"支":{"docs":{},"持":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.04225352112676056},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.07894736842105263}},"支":{"docs":{},"持":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}},"7":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}},"8":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}}}}}},"9":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571}}}}}}},"docs":{}},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"自":{"docs":{},"动":{"docs":{},"加":{"docs":{},"载":{"docs":{},"$":{"docs":{},"{":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"}":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"1":{"docs":{},".":{"0":{"docs":{},"默":{"docs":{},"认":{"docs":{},"对":{"docs":{},"比":{"docs":{},"百":{"docs":{},"分":{"docs":{},"比":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.012578616352201259}}}}}}}}}},"docs":{}}},"docs":{}},"性":{"docs":{},"能":{"docs":{},"不":{"docs":{},"低":{"docs":{},"于":{"1":{"docs":{},".":{"0":{"docs":{},",":{"2":{"docs":{},".":{"0":{"docs":{},"和":{"1":{"docs":{},".":{"0":{"docs":{},"互":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"无":{"docs":{},"明":{"docs":{},"显":{"docs":{},"下":{"docs":{},"降":{"docs":{},"。":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}},"1":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":5}},".":{"0":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176}},"支":{"docs":{},"持":{"docs":{"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705}},",":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}},"4":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"docs":{}}},"2":{"7":{"docs":{},"g":{"docs":{},"h":{"docs":{},"z":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}},"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":5}},".":{"0":{"docs":{"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.029411764705882353},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.10256410256410256}},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"总":{"docs":{},"是":{"docs":{},"只":{"docs":{},"调":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"用":{"docs":{},"组":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{"demos/服务分组.html":{"ref":"demos/服务分组.html","tf":0.2}}}}}}}}}}}}}}},",":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.05}}}}}}}}}},"1":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"支":{"docs":{},"持":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353},"demos/日志适配.html":{"ref":"demos/日志适配.html","tf":0.07692307692307693}}}}}}}}},"docs":{}}},"3":{"docs":{},".":{"0":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"支":{"docs":{},"持":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353}},"。":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358},"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04},"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.047619047619047616},"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.05}}}}}}}}}},"3":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"(":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}},"的":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"4":{"docs":{},".":{"0":{"docs":{},"+":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"工":{"docs":{},"具":{"docs":{},"类":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"用":{"docs":{},"于":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"实":{"docs":{},"例":{"docs":{},"。":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"分":{"docs":{},"配":{"docs":{},"的":{"docs":{},"端":{"docs":{},"口":{"docs":{},"在":{"docs":{},"协":{"docs":{},"议":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"端":{"docs":{},"口":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"上":{"docs":{},"增":{"docs":{},"长":{"docs":{},",":{"docs":{},"确":{"docs":{},"保":{"docs":{},"端":{"docs":{},"口":{"docs":{},"段":{"docs":{},"可":{"docs":{},"控":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"5":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"6":{"docs":{},".":{"1":{"8":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.029850746268656716}}},"docs":{}}},"9":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},";":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}},")":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}},"3":{"0":{"docs":{},".":{"8":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}}},"2":{"4":{"7":{"docs":{},".":{"1":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}}},"docs":{},".":{"2":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}}},"docs":{}},"3":{"4":{"9":{"docs":{},".":{"8":{"8":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"4":{"docs":{},".":{"1":{"2":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"6":{"2":{"docs":{},".":{"9":{"2":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{},".":{"3":{"0":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},".":{"1":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464},"configuration/xml.html":{"ref":"configuration/xml.html","tf":5}}},"2":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":5}},".":{"1":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"2":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}},"docs":{}}},"3":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":5}},".":{"3":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464},"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}},"docs":{}}},"4":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":5}}},"docs":{}}},"4":{"0":{"9":{"6":{"docs":{},"m":{"docs":{},"b":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}},"docs":{}},"docs":{}},"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},".":{"0":{"docs":{},".":{"5":{"docs":{},".":{"docs":{},"g":{"docs":{},"a":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}},"7":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}},"docs":{}}},"1":{"0":{"docs":{"demos/多注册中心.html":{"ref":"demos/多注册中心.html","tf":5}}},"1":{"docs":{"demos/服务分组.html":{"ref":"demos/服务分组.html","tf":5}}},"3":{"docs":{"demos/多版本.html":{"ref":"demos/多版本.html","tf":5}}},"4":{"docs":{"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":5}}},"5":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":5}}},"6":{"docs":{"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":5}}},"7":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":5}}},"8":{"docs":{"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":5}}},"9":{"docs":{"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":5}}},"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":5},"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},".":{"2":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"docs":{}},"版":{"docs":{},"本":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}},"2":{"0":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":5}}},"1":{"docs":{"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":5}}},"2":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":5}}},"3":{"docs":{"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":5}}},"4":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":5}}},"5":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":5}}},"6":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":5}}},"7":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":5}}},"8":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":5}}},"9":{"docs":{"demos/并发控制.html":{"ref":"demos/并发控制.html","tf":5}}},"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":5}},".":{"0":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}},"docs":{}}},"3":{"0":{"docs":{"demos/连接控制.html":{"ref":"demos/连接控制.html","tf":5}}},"1":{"docs":{"demos/延迟连接.html":{"ref":"demos/延迟连接.html","tf":5}}},"2":{"docs":{"demos/粘滞连接.html":{"ref":"demos/粘滞连接.html","tf":5}}},"3":{"docs":{"demos/令牌验证.html":{"ref":"demos/令牌验证.html","tf":5}}},"4":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":5}}},"5":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":5}}},"6":{"docs":{"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":5}}},"7":{"docs":{"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":5}}},"8":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":5}}},"9":{"docs":{"demos/日志适配.html":{"ref":"demos/日志适配.html","tf":5}}},"docs":{"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":5}}},"4":{"0":{"docs":{"demos/访问日志.html":{"ref":"demos/访问日志.html","tf":5}}},"1":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":5}}},"2":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":3.333333333333333}}},"3":{"docs":{"demos/分布式事务.html":{"ref":"demos/分布式事务.html","tf":5}}},"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":5}}},"5":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":5}}},"6":{"docs":{"demos/只订阅.html":{"ref":"demos/只订阅.html","tf":5}}},"7":{"docs":{"demos/只注册.html":{"ref":"demos/只注册.html","tf":5}}},"8":{"2":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{"demos/静态服务.html":{"ref":"demos/静态服务.html","tf":5}}},"9":{"docs":{"demos/多协议.html":{"ref":"demos/多协议.html","tf":5}}},"docs":{}},")":{"docs":{},";":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}},"5":{"0":{"0":{"0":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}},"docs":{},"k":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.017543859649122806}}}}}}}},"docs":{},"k":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}}}},"2":{"docs":{},".":{"0":{"5":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"6":{"8":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"6":{"9":{"docs":{},".":{"5":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}}},"docs":{},".":{"9":{"2":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"9":{"7":{"docs":{},".":{"9":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}}},"docs":{}},"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":5},"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},".":{"0":{"3":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"1":{"3":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}}},"6":{"0":{"0":{"0":{"0":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}},"docs":{}},"docs":{}},"docs":{}},"2":{"8":{"docs":{},".":{"0":{"6":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{}},"3":{"7":{"9":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}},"docs":{}},"docs":{}},"4":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}}},"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":5}},".":{"1":{"0":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":5}}},"1":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":5}}},"2":{"docs":{"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":5}}},"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":5}},".":{"2":{"6":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"docs":{}},"docs":{}}},"2":{"5":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":5}}},"3":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":5}}},"4":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":5}}},"5":{"docs":{"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":5}}},"6":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":5}}},"7":{"docs":{"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":5}}},"8":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":5}}},"9":{"docs":{"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":5}}},"docs":{}},"g":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"7":{"1":{"5":{"8":{"9":{"1":{"1":{"6":{"6":{"8":{"5":{"6":{"8":{"0":{"0":{"0":{"3":{"9":{"2":{"docs":{},"l":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"5":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{"reference-protocol/introduction.html":{"ref":"reference-protocol/introduction.html","tf":5}},".":{"1":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":5}}},"2":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":5}}},"3":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":5}}},"4":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":5}}},"5":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":5}}},"6":{"8":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":5}}},"7":{"docs":{"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":5}}},"8":{"docs":{"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":5}}},"docs":{}}},"8":{"0":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.1}}},"1":{"7":{"9":{"docs":{},".":{"0":{"8":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{}},"9":{"2":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}},"8":{"3":{"8":{"8":{"6":{"0":{"8":{"docs":{},"(":{"docs":{},"=":{"8":{"docs":{},"m":{"docs":{},")":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}},"docs":{}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"9":{"1":{"9":{"docs":{},".":{"2":{"7":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-registry/introduction.html":{"ref":"reference-registry/introduction.html","tf":5}},".":{"1":{"docs":{"reference-registry/multicast.html":{"ref":"reference-registry/multicast.html","tf":5}}},"2":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":5}}},"3":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":5}}},"4":{"docs":{"reference-registry/simple.html":{"ref":"reference-registry/simple.html","tf":5}}},"docs":{}}},"9":{"0":{"9":{"0":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}},"docs":{}},"docs":{}},"docs":{"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":0.07142857142857142},"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":5}},"]":{"docs":{},"+":{"docs":{},"(":{"docs":{},"?":{"docs":{},":":{"docs":{},"[":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}},")":{"docs":{},"*":{"docs":{},"\\":{"docs":{},"\\":{"docs":{},".":{"docs":{},"[":{"docs":{},"a":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}},".":{"6":{"1":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"7":{"9":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.009009009009009009},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.027777777777777776},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.013513513513513514},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.03902439024390244},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.03225806451612903},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.036312849162011177},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.02666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.028169014084507043},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":10}}}}}}}},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.009009009009009009},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.011299435028248588},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.013793103448275862},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}},"g":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.027586206896551724}}},"l":{"docs":{},"(":{"docs":{},"r":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}},"f":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"配":{"docs":{},"置":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}},"/":{"docs":{},"*":{"docs":{},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}},"o":{"docs":{},":":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}},"=":{"docs":{},"\"":{"0":{"docs":{},"\"":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}}}},"docs":{}}}}}},"j":{"docs":{},"v":{"docs":{},"m":{"docs":{"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625}},":":{"docs":{"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625}}},"=":{"docs":{},"\"":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"\"":{"docs":{"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.013333333333333334}}}},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.02158273381294964}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818},"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.013793103448275862},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.032},"configuration/api.html":{"ref":"configuration/api.html","tf":0.05851063829787234},"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.08823529411764706},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.05405405405405406},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.03389830508474576}}}}}}},"d":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}},")":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.020689655172413793}},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.020689655172413793}}}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.020689655172413793}},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.023809523809523808}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}}}}}}}},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"大":{"docs":{},"小":{"docs":{},"(":{"docs":{},"固":{"docs":{},"定":{"docs":{},"大":{"docs":{},"小":{"docs":{},")":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}}}}}}}}},",":{"docs":{},"接":{"docs":{},"收":{"docs":{},"网":{"docs":{},"络":{"docs":{},"读":{"docs":{},"写":{"docs":{},"中":{"docs":{},"断":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"和":{"docs":{},"反":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},",":{"docs":{},"不":{"docs":{},"处":{"docs":{},"理":{"docs":{},"业":{"docs":{},"务":{"docs":{},",":{"docs":{},"业":{"docs":{},"务":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"参":{"docs":{},"见":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"此":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"和":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"相":{"docs":{},"关":{"docs":{},",":{"docs":{},"不":{"docs":{},"建":{"docs":{},"议":{"docs":{},"配":{"docs":{},"置":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},"果":{"docs":{"demos/并发控制.html":{"ref":"demos/并发控制.html","tf":0.06666666666666667},"demos/连接控制.html":{"ref":"demos/连接控制.html","tf":0.14285714285714285}},"你":{"docs":{},"正":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"作":{"docs":{},"为":{"docs":{},"你":{"docs":{},"业":{"docs":{},"务":{"docs":{},"工":{"docs":{},"程":{"docs":{},"的":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"通":{"docs":{},"信":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"可":{"docs":{},"以":{"docs":{},"作":{"docs":{},"为":{"docs":{},"你":{"docs":{},"的":{"docs":{},"参":{"docs":{},"考":{"docs":{},"手":{"docs":{},"册":{"docs":{"./":{"ref":"./","tf":0.5}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"容":{"docs":{},"器":{"docs":{},"是":{"docs":{},"懒":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"编":{"docs":{},"程":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"引":{"docs":{},"用":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"请":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"服":{"docs":{},"务":{"docs":{},"临":{"docs":{},"时":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"需":{"docs":{},"要":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"u":{"docs":{},"p":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"相":{"docs":{},"关":{"docs":{},"资":{"docs":{},"源":{"docs":{},"就":{"docs":{},"位":{"docs":{},"等":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"进":{"docs":{},"行":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"。":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"是":{"docs":{},"想":{"docs":{},"异":{"docs":{},"步":{"docs":{},",":{"docs":{},"完":{"docs":{},"全":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"配":{"docs":{},"置":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"记":{"docs":{},"录":{"docs":{},"每":{"docs":{},"一":{"docs":{},"次":{"docs":{},"请":{"docs":{},"求":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"可":{"docs":{},"开":{"docs":{},"启":{"docs":{},"访":{"docs":{},"问":{"docs":{},"日":{"docs":{},"志":{"docs":{},",":{"docs":{},"类":{"docs":{},"似":{"docs":{},"于":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"的":{"docs":{},"访":{"docs":{},"问":{"docs":{},"日":{"docs":{},"志":{"docs":{},"。":{"docs":{"demos/访问日志.html":{"ref":"demos/访问日志.html","tf":0.25}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"想":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"而":{"docs":{},"希":{"docs":{},"望":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},"(":{"docs":{},"不":{"docs":{},"推":{"docs":{},"荐":{"docs":{},")":{"docs":{},",":{"docs":{},"请":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"配":{"docs":{},"置":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"依":{"docs":{},"赖":{"docs":{},"配":{"docs":{},"置":{"docs":{},"顺":{"docs":{},"序":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":0.06666666666666667}}}}}}}}}}}}}}},"或":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"。":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}},"则":{"docs":{},"换":{"docs":{},"成":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"或":{"docs":{},"g":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"z":{"docs":{},"l":{"docs":{},"y":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"。":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"。":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"线":{"docs":{},"程":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"又":{"docs":{},"在":{"docs":{},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"发":{"docs":{},"起":{"docs":{},"新":{"docs":{},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{},"连":{"docs":{},"接":{"docs":{},"事":{"docs":{},"件":{"docs":{},"中":{"docs":{},"发":{"docs":{},"起":{"docs":{},"登":{"docs":{},"录":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"会":{"docs":{},"报":{"docs":{},"“":{"docs":{},"可":{"docs":{},"能":{"docs":{},"引":{"docs":{},"发":{"docs":{},"死":{"docs":{},"锁":{"docs":{},"”":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"但":{"docs":{},"不":{"docs":{},"会":{"docs":{},"真":{"docs":{},"死":{"docs":{},"锁":{"docs":{},"。":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"参":{"docs":{},"数":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"设":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"意":{"docs":{},"设":{"docs":{},"置":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"可":{"docs":{},"不":{"docs":{},"填":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"。":{"docs":{},"可":{"docs":{},"选":{"docs":{},"依":{"docs":{},"赖":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}}},"有":{"docs":{},"机":{"docs":{},"器":{"docs":{},"正":{"docs":{},"在":{"docs":{},"重":{"docs":{},"启":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"调":{"docs":{},"用":{"docs":{},"失":{"docs":{},"败":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}},"多":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"进":{"docs":{},"程":{"docs":{},"注":{"docs":{},"意":{"docs":{},"不":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"内":{"docs":{},"容":{"docs":{},"被":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"。":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"级":{"docs":{},"别":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"则":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"优":{"docs":{},"先":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"次":{"docs":{},"之":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"存":{"docs":{},"在":{"docs":{},"多":{"docs":{},"个":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"多":{"docs":{},"个":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},"中":{"docs":{},"有":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"会":{"docs":{},"任":{"docs":{},"意":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"并":{"docs":{},"打":{"docs":{},"印":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"日":{"docs":{},"志":{"docs":{},",":{"docs":{},"后":{"docs":{},"续":{"docs":{},"可":{"docs":{},"能":{"docs":{},"改":{"docs":{},"为":{"docs":{},"抛":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"有":{"docs":{},"多":{"docs":{},"行":{"docs":{},"同":{"docs":{},"名":{"docs":{},"标":{"docs":{},"签":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"可":{"docs":{},"用":{"docs":{},"i":{"docs":{},"d":{"docs":{},"号":{"docs":{},"区":{"docs":{},"分":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"没":{"docs":{},"有":{"docs":{},"i":{"docs":{},"d":{"docs":{},"号":{"docs":{},"将":{"docs":{},"对":{"docs":{},"所":{"docs":{},"有":{"docs":{},"同":{"docs":{},"名":{"docs":{},"标":{"docs":{},"签":{"docs":{},"生":{"docs":{},"效":{"docs":{},":":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"公":{"docs":{},"共":{"docs":{},"配":{"docs":{},"置":{"docs":{},"很":{"docs":{},"简":{"docs":{},"单":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"多":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"多":{"docs":{},"协":{"docs":{},"议":{"docs":{},"等":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"想":{"docs":{},"多":{"docs":{},"个":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"容":{"docs":{},"器":{"docs":{},"想":{"docs":{},"共":{"docs":{},"享":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"作":{"docs":{},"为":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"配":{"docs":{},"置":{"docs":{},"。":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"点":{"docs":{},"对":{"docs":{},"点":{"docs":{},"直":{"docs":{},"连":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},"指":{"docs":{},"定":{"docs":{},"目":{"docs":{},"标":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"设":{"docs":{},"置":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"后":{"docs":{},"将":{"docs":{},"绕":{"docs":{},"过":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"饥":{"docs":{},"饿":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"即":{"docs":{},"没":{"docs":{},"有":{"docs":{},"人":{"docs":{},"引":{"docs":{},"用":{"docs":{},"也":{"docs":{},"立":{"docs":{},"即":{"docs":{},"生":{"docs":{},"成":{"docs":{},"动":{"docs":{},"态":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}}}}}},"改":{"docs":{},"为":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"请":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"在":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"包":{"docs":{},"中":{"docs":{},"放":{"docs":{},"置":{"docs":{},"一":{"docs":{},"份":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"引":{"docs":{},"用":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"在":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"加":{"docs":{},"载":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"引":{"docs":{},"用":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"建":{"docs":{},"议":{"docs":{},"放":{"docs":{},"在":{"docs":{},"模":{"docs":{},"块":{"docs":{},"的":{"docs":{},"包":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},",":{"docs":{},"以":{"docs":{},"免":{"docs":{},"冲":{"docs":{},"突":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"/":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"的":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"能":{"docs":{},"迅":{"docs":{},"速":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"不":{"docs":{},"会":{"docs":{},"发":{"docs":{},"起":{"docs":{},"新":{"docs":{},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"只":{"docs":{},"是":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"记":{"docs":{},"个":{"docs":{},"标":{"docs":{},"识":{"docs":{},",":{"docs":{},"则":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"处":{"docs":{},"理":{"docs":{},"更":{"docs":{},"快":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"减":{"docs":{},"少":{"docs":{},"了":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"调":{"docs":{},"度":{"docs":{},"。":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"1":{"2":{"7":{"docs":{},".":{"docs":{},"*":{"docs":{},"等":{"docs":{},"l":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"则":{"docs":{},"扫":{"docs":{},"描":{"docs":{},"各":{"docs":{},"网":{"docs":{},"卡":{"docs":{},",":{"docs":{},"获":{"docs":{},"取":{"docs":{},"网":{"docs":{},"卡":{"docs":{},"i":{"docs":{},"p":{"docs":{},"。":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{},"线":{"docs":{},"上":{"docs":{},"需":{"docs":{},"求":{"docs":{},"需":{"docs":{},"要":{"docs":{},"点":{"docs":{},"对":{"docs":{},"点":{"docs":{},",":{"docs":{},"可":{"docs":{},"在":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"独":{"docs":{},"立":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"等":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"向":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"写":{"docs":{},"入":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"地":{"docs":{},"址":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"正":{"docs":{},"常":{"docs":{},"使":{"docs":{},"用":{"docs":{},":":{"docs":{"demos/静态服务.html":{"ref":"demos/静态服务.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"种":{"docs":{},"类":{"docs":{},",":{"docs":{},"以":{"docs":{},"后":{"docs":{},"明":{"docs":{},"显":{"docs":{},"会":{"docs":{},"有":{"docs":{},"类":{"docs":{},"型":{"docs":{},"增":{"docs":{},"加":{"docs":{},",":{"docs":{},"不":{"docs":{},"建":{"docs":{},"议":{"docs":{},"用":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"代":{"docs":{},"替":{"docs":{},"。":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"传":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"中":{"docs":{},"用":{"docs":{},"了":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},",":{"docs":{},"并":{"docs":{},"新":{"docs":{},"增":{"docs":{},"了":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"值":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"先":{"docs":{},"升":{"docs":{},"级":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"服":{"docs":{},"务":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"不":{"docs":{},"会":{"docs":{},"传":{"docs":{},"入":{"docs":{},"新":{"docs":{},"值":{"docs":{},"。":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"中":{"docs":{},"用":{"docs":{},"了":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},",":{"docs":{},"并":{"docs":{},"新":{"docs":{},"增":{"docs":{},"了":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},"值":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"先":{"docs":{},"升":{"docs":{},"级":{"docs":{},"服":{"docs":{},"务":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"不":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"新":{"docs":{},"值":{"docs":{},"。":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"备":{"docs":{},"集":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"m":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},",":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"比":{"docs":{},"较":{"docs":{},"多":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"文":{"docs":{},"件":{"docs":{},"映":{"docs":{},"射":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}}}}}}}}}}}}}}}},"的":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"经":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"没":{"docs":{},"有":{"docs":{},"继":{"docs":{},"承":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"接":{"docs":{},"口":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}},"继":{"docs":{},"承":{"docs":{},"了":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"互":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"是":{"docs":{},"测":{"docs":{},"试":{"docs":{},"环":{"docs":{},"境":{"docs":{},"临":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"连":{"docs":{},"接":{"docs":{},"两":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"竖":{"docs":{},"号":{"docs":{},"分":{"docs":{},"隔":{"docs":{},"多":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"地":{"docs":{},"址":{"docs":{},":":{"docs":{"demos/多注册中心.html":{"ref":"demos/多注册中心.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"在":{"2":{"docs":{},".":{"0":{"docs":{},".":{"1":{"1":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"可":{"docs":{},"用":{"docs":{},":":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"p":{"docs":{},"o":{"docs":{},"j":{"docs":{},"o":{"docs":{},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"转":{"docs":{},"成":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"已":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"线":{"docs":{},"程":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"住":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"返":{"docs":{},"回":{"docs":{},"后":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"会":{"docs":{},"被":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"唤":{"docs":{},"醒":{"docs":{},"。":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"5":{"docs":{},"秒":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"需":{"docs":{},"要":{"6":{"docs":{},"秒":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"只":{"docs":{},"需":{"docs":{},"等":{"6":{"docs":{},"秒":{"docs":{},",":{"docs":{},"即":{"docs":{},"可":{"docs":{},"获":{"docs":{},"取":{"docs":{},"到":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"和":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"接":{"docs":{},"下":{"docs":{},"来":{"docs":{},"的":{"docs":{},"处":{"docs":{},"理":{"docs":{},"。":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}},"大":{"docs":{},"量":{"docs":{},"使":{"docs":{},"用":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"已":{"docs":{},"经":{"docs":{},"把":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"退":{"docs":{},"化":{"docs":{},"为":{"docs":{},"工":{"docs":{},"厂":{"docs":{},"模":{"docs":{},"式":{"docs":{},"在":{"docs":{},"用":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"单":{"docs":{},"独":{"docs":{},"的":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"容":{"docs":{},"器":{"docs":{},"。":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"在":{"docs":{},"要":{"docs":{},"调":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"放":{"docs":{},"在":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"最":{"docs":{},"后":{"docs":{},"加":{"docs":{},"载":{"docs":{},"。":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"匹":{"docs":{},"配":{"docs":{},"条":{"docs":{},"件":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"对":{"docs":{},"所":{"docs":{},"有":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"=":{"docs":{},">":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"滤":{"docs":{},"条":{"docs":{},"件":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"禁":{"docs":{},"止":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"u":{"docs":{},"t":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"不":{"docs":{},"能":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},":":{"docs":{"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"为":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}}}},"正":{"docs":{},"在":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"提":{"docs":{},"供":{"docs":{},"服":{"docs":{},"务":{"docs":{},"给":{"docs":{},"外":{"docs":{},"部":{"docs":{},"访":{"docs":{},"问":{"docs":{},"(":{"docs":{},"公":{"docs":{},"司":{"docs":{},"内":{"docs":{},"网":{"docs":{},"环":{"docs":{},"境":{"docs":{},"应":{"docs":{},"该":{"docs":{},"不":{"docs":{},"会":{"docs":{},"有":{"docs":{},"攻":{"docs":{},"击":{"docs":{},"风":{"docs":{},"险":{"docs":{},")":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"应":{"docs":{},"用":{"docs":{},"里":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"了":{"docs":{},"老":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"和":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"不":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"配":{"docs":{},"置":{"docs":{},"映":{"docs":{},"射":{"docs":{},"关":{"docs":{},"系":{"docs":{},":":{"docs":{},"(":{"docs":{},"其":{"docs":{},"中":{"docs":{},"\"":{"docs":{},"p":{"docs":{},":":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},"为":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"p":{"docs":{},"标":{"docs":{},"签":{"docs":{},")":{"docs":{"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.047619047619047616}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"不":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"则":{"docs":{},"需":{"docs":{},"要":{"docs":{},"配":{"docs":{},"置":{"docs":{},"映":{"docs":{},"射":{"docs":{},"关":{"docs":{},"系":{"docs":{},":":{"docs":{},"(":{"docs":{},"其":{"docs":{},"中":{"docs":{},"\"":{"docs":{},"p":{"docs":{},":":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},"为":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"p":{"docs":{},"标":{"docs":{},"签":{"docs":{},")":{"docs":{"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"担":{"docs":{},"心":{"docs":{},"性":{"docs":{},"能":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"在":{"docs":{},"必":{"docs":{},"要":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"掉":{"docs":{},"异":{"docs":{},"常":{"docs":{},"类":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},"为":{"docs":{},"空":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"使":{"docs":{},"其":{"docs":{},"不":{"docs":{},"拷":{"docs":{},"贝":{"docs":{},"栈":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}},"(":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"只":{"docs":{},"加":{"docs":{},"载":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},")":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}},"完":{"docs":{},"全":{"docs":{},"不":{"docs":{},"配":{"docs":{},"置":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"值":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}},"想":{"docs":{},"测":{"docs":{},"试":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"不":{"docs":{},"同":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"替":{"docs":{},"换":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"下":{"docs":{},"的":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},"即":{"docs":{},"可":{"docs":{},"。":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"这":{"docs":{},"篇":{"docs":{},"文":{"docs":{},"档":{"docs":{},"详":{"docs":{},"细":{"docs":{},"讲":{"docs":{},"解":{"docs":{},"了":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"基":{"docs":{},"本":{"docs":{},"涵":{"docs":{},"盖":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"功":{"docs":{},"能":{"docs":{},"特":{"docs":{},"性":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.5}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"里":{"docs":{},"所":{"docs":{},"有":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"都":{"docs":{},"是":{"docs":{},"换":{"docs":{},"照":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"配":{"docs":{},"置":{"docs":{},"选":{"docs":{},"的":{"docs":{},",":{"docs":{},"这":{"docs":{},"些":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"值":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{},"和":{"docs":{},"性":{"docs":{},"能":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"的":{"docs":{},"。":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"是":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"可":{"docs":{},"调":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"的":{"docs":{},"抽":{"docs":{},"象":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"地":{"docs":{},"址":{"docs":{},"及":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"接":{"docs":{},"口":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":0.06666666666666667}}}}}}},"样":{"docs":{},"就":{"docs":{},"导":{"docs":{},"致":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"先":{"docs":{},"锁":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},",":{"docs":{},"再":{"docs":{},"锁":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{},"再":{"docs":{},"次":{"docs":{},"锁":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"。":{"docs":{},"而":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"先":{"docs":{},"锁":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},",":{"docs":{},"再":{"docs":{},"锁":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"。":{"docs":{},"反":{"docs":{},"向":{"docs":{},"锁":{"docs":{},"导":{"docs":{},"致":{"docs":{},"线":{"docs":{},"程":{"docs":{},"死":{"docs":{},"锁":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"提":{"docs":{},"供":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"启":{"docs":{},"动":{"docs":{},"不":{"docs":{},"了":{"docs":{},"。":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"推":{"docs":{},"送":{"docs":{},"有":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"通":{"docs":{},"过":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"列":{"docs":{},"表":{"docs":{},"也":{"docs":{},"能":{"docs":{},"调":{"docs":{},"用":{"docs":{},"到":{"docs":{},"原":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"调":{"docs":{},"用":{"docs":{},"成":{"docs":{},"功":{"docs":{},"。":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"会":{"docs":{},"缓":{"docs":{},"存":{"docs":{},":":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"服":{"docs":{},"务":{"docs":{},"架":{"docs":{},"构":{"docs":{"preface/background.html":{"ref":"preface/background.html","tf":0.07692307692307693}}}}}},"事":{"docs":{},"务":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/分布式事务.html":{"ref":"demos/分布式事务.html","tf":5}}}}}},"组":{"docs":{},"聚":{"docs":{},"合":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":5}},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"聚":{"docs":{},"合":{"docs":{},"等":{"docs":{},"服":{"docs":{},"务":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}},"验":{"docs":{},"证":{"docs":{},"示":{"docs":{},"例":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}},"隔":{"docs":{},"多":{"docs":{},"个":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}},"包":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}},"单":{"docs":{},"一":{"docs":{},"应":{"docs":{},"用":{"docs":{},"架":{"docs":{},"构":{"docs":{"preface/background.html":{"ref":"preface/background.html","tf":0.07692307692307693}}}}}}}},"垂":{"docs":{},"直":{"docs":{},"应":{"docs":{},"用":{"docs":{},"架":{"docs":{},"构":{"docs":{},"`":{"docs":{},"`":{"docs":{"preface/background.html":{"ref":"preface/background.html","tf":0.07692307692307693}}}}}}}}}},"当":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"应":{"docs":{},"用":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"多":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"之":{"docs":{},"间":{"docs":{},"交":{"docs":{},"互":{"docs":{},"不":{"docs":{},"可":{"docs":{},"避":{"docs":{},"免":{"docs":{},",":{"docs":{},"将":{"docs":{},"核":{"docs":{},"心":{"docs":{},"业":{"docs":{},"务":{"docs":{},"抽":{"docs":{},"取":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"独":{"docs":{},"立":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"形":{"docs":{},"成":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"使":{"docs":{},"前":{"docs":{},"端":{"docs":{},"应":{"docs":{},"用":{"docs":{},"能":{"docs":{},"更":{"docs":{},"快":{"docs":{},"速":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"多":{"docs":{},"变":{"docs":{},"的":{"docs":{},"市":{"docs":{},"场":{"docs":{},"需":{"docs":{},"求":{"docs":{},"。":{"docs":{"preface/background.html":{"ref":"preface/background.html","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"多":{"docs":{},",":{"docs":{},"容":{"docs":{},"量":{"docs":{},"的":{"docs":{},"评":{"docs":{},"估":{"docs":{},",":{"docs":{},"小":{"docs":{},"服":{"docs":{},"务":{"docs":{},"资":{"docs":{},"源":{"docs":{},"的":{"docs":{},"浪":{"docs":{},"费":{"docs":{},"等":{"docs":{},"问":{"docs":{},"题":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"显":{"docs":{},"现":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"需":{"docs":{},"增":{"docs":{},"加":{"docs":{},"一":{"docs":{},"个":{"docs":{},"调":{"docs":{},"度":{"docs":{},"中":{"docs":{},"心":{"docs":{},"基":{"docs":{},"于":{"docs":{},"访":{"docs":{},"问":{"docs":{},"压":{"docs":{},"力":{"docs":{},"实":{"docs":{},"时":{"docs":{},"管":{"docs":{},"理":{"docs":{},"集":{"docs":{},"群":{"docs":{},"容":{"docs":{},"量":{"docs":{},",":{"docs":{},"提":{"docs":{},"高":{"docs":{},"集":{"docs":{},"群":{"docs":{},"利":{"docs":{},"用":{"docs":{},"率":{"docs":{},"。":{"docs":{"preface/background.html":{"ref":"preface/background.html","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"配":{"docs":{},"置":{"docs":{},"管":{"docs":{},"理":{"docs":{},"变":{"docs":{},"得":{"docs":{},"非":{"docs":{},"常":{"docs":{},"困":{"docs":{},"难":{"docs":{},",":{"docs":{},"f":{"5":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"器":{"docs":{},"的":{"docs":{},"单":{"docs":{},"点":{"docs":{},"压":{"docs":{},"力":{"docs":{},"也":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"大":{"docs":{},"。":{"docs":{},"此":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"动":{"docs":{},"态":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"和":{"docs":{},"发":{"docs":{},"现":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"使":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"位":{"docs":{},"置":{"docs":{},"透":{"docs":{},"明":{"docs":{},"。":{"docs":{"preface/requirements.html":{"ref":"preface/requirements.html","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"集":{"docs":{},"群":{"docs":{},"规":{"docs":{},"模":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"扩":{"docs":{},"大":{"docs":{},",":{"docs":{},"带":{"docs":{},"动":{"docs":{},"i":{"docs":{},"t":{"docs":{},"治":{"docs":{},"理":{"docs":{},"结":{"docs":{},"构":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"升":{"docs":{},"级":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"实":{"docs":{},"现":{"docs":{},"动":{"docs":{},"态":{"docs":{},"部":{"docs":{},"署":{"docs":{},",":{"docs":{},"进":{"docs":{},"行":{"docs":{},"流":{"docs":{},"动":{"docs":{},"计":{"docs":{},"算":{"docs":{},",":{"docs":{},"现":{"docs":{},"有":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"服":{"docs":{},"务":{"docs":{},"架":{"docs":{},"构":{"docs":{},"不":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"阻":{"docs":{},"力":{"docs":{},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"网":{"docs":{},"站":{"docs":{},"流":{"docs":{},"量":{"docs":{},"很":{"docs":{},"小":{"docs":{},"时":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"一":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"功":{"docs":{},"能":{"docs":{},"都":{"docs":{},"部":{"docs":{},"署":{"docs":{},"在":{"docs":{},"一":{"docs":{},"起":{"docs":{},",":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{},"部":{"docs":{},"署":{"docs":{},"节":{"docs":{},"点":{"docs":{},"和":{"docs":{},"成":{"docs":{},"本":{"docs":{},"。":{"docs":{"preface/background.html":{"ref":"preface/background.html","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"量":{"docs":{},"逐":{"docs":{},"渐":{"docs":{},"增":{"docs":{},"大":{"docs":{},",":{"docs":{},"单":{"docs":{},"一":{"docs":{},"应":{"docs":{},"用":{"docs":{},"增":{"docs":{},"加":{"docs":{},"机":{"docs":{},"器":{"docs":{},"带":{"docs":{},"来":{"docs":{},"的":{"docs":{},"加":{"docs":{},"速":{"docs":{},"度":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"小":{"docs":{},",":{"docs":{},"将":{"docs":{},"应":{"docs":{},"用":{"docs":{},"拆":{"docs":{},"成":{"docs":{},"互":{"docs":{},"不":{"docs":{},"相":{"docs":{},"干":{"docs":{},"的":{"docs":{},"几":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"以":{"docs":{},"提":{"docs":{},"升":{"docs":{},"效":{"docs":{},"率":{"docs":{},"。":{"docs":{"preface/background.html":{"ref":"preface/background.html","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"发":{"docs":{},"展":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"间":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},"变":{"docs":{},"得":{"docs":{},"错":{"docs":{},"踪":{"docs":{},"复":{"docs":{},"杂":{"docs":{},",":{"docs":{},"甚":{"docs":{},"至":{"docs":{},"分":{"docs":{},"不":{"docs":{},"清":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"要":{"docs":{},"在":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"应":{"docs":{},"用":{"docs":{},"之":{"docs":{},"前":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"架":{"docs":{},"构":{"docs":{},"师":{"docs":{},"都":{"docs":{},"不":{"docs":{},"能":{"docs":{},"完":{"docs":{},"整":{"docs":{},"的":{"docs":{},"描":{"docs":{},"述":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{},"这":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"自":{"docs":{},"动":{"docs":{},"画":{"docs":{},"出":{"docs":{},"应":{"docs":{},"用":{"docs":{},"间":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},"图":{"docs":{},",":{"docs":{},"以":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"架":{"docs":{},"构":{"docs":{},"师":{"docs":{},"理":{"docs":{},"清":{"docs":{},"理":{"docs":{},"关":{"docs":{},"系":{"docs":{},"。":{"docs":{},"(":{"3":{"docs":{},")":{"docs":{"preface/requirements.html":{"ref":"preface/requirements.html","tf":0.09090909090909091}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},"对":{"docs":{},"象":{"docs":{},"增":{"docs":{},"加":{"docs":{},"字":{"docs":{},"段":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"外":{"docs":{},"部":{"docs":{},"文":{"docs":{},"件":{"docs":{},"声":{"docs":{},"明":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}},"前":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}},"应":{"docs":{},"用":{"docs":{},"配":{"docs":{},"置":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425}}}},"名":{"docs":{},"称":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"计":{"docs":{},"算":{"docs":{},"应":{"docs":{},"用":{"docs":{},"间":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"和":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"应":{"docs":{},"用":{"docs":{},"名":{"docs":{},"不":{"docs":{},"要":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"此":{"docs":{},"参":{"docs":{},"数":{"docs":{},"不":{"docs":{},"是":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"你":{"docs":{},"当":{"docs":{},"前":{"docs":{},"项":{"docs":{},"目":{"docs":{},"叫":{"docs":{},"什":{"docs":{},"么":{"docs":{},"名":{"docs":{},"字":{"docs":{},"就":{"docs":{},"填":{"docs":{},"什":{"docs":{},"么":{"docs":{},",":{"docs":{},"和":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"角":{"docs":{},"色":{"docs":{},"无":{"docs":{},"关":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"k":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"应":{"docs":{},"用":{"docs":{},"调":{"docs":{},"用":{"docs":{},"了":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"则":{"docs":{},"k":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"项":{"docs":{},"目":{"docs":{},"配":{"docs":{},"成":{"docs":{},"k":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"项":{"docs":{},"目":{"docs":{},"配":{"docs":{},"成":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"k":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"也":{"docs":{},"提":{"docs":{},"供":{"docs":{},"其":{"docs":{},"它":{"docs":{},"服":{"docs":{},"务":{"docs":{},"给":{"docs":{},"别":{"docs":{},"人":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"但":{"docs":{},"k":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"项":{"docs":{},"目":{"docs":{},"永":{"docs":{},"远":{"docs":{},"配":{"docs":{},"成":{"docs":{},"k":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"将":{"docs":{},"显":{"docs":{},"示":{"docs":{},"k":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176}}}}}}},"线":{"docs":{},"程":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"一":{"docs":{},"个":{"docs":{},"页":{"docs":{},"面":{"docs":{},"渲":{"docs":{},"染":{"docs":{},",":{"docs":{},"用":{"docs":{},"到":{"docs":{},"很":{"docs":{},"多":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{},"都":{"docs":{},"要":{"docs":{},"去":{"docs":{},"查":{"docs":{},"用":{"docs":{},"户":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"线":{"docs":{},"程":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{},"这":{"docs":{},"种":{"docs":{},"多":{"docs":{},"余":{"docs":{},"访":{"docs":{},"问":{"docs":{},"。":{"docs":{"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"名":{"docs":{},"称":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"计":{"docs":{},"算":{"docs":{},"模":{"docs":{},"块":{"docs":{},"间":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"关":{"docs":{},"系":{"docs":{"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564}}}}}}}},"某":{"docs":{},"一":{"docs":{},"台":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"挂":{"docs":{},"时":{"docs":{},",":{"docs":{},"原":{"docs":{},"本":{"docs":{},"发":{"docs":{},"往":{"docs":{},"该":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"基":{"docs":{},"于":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"平":{"docs":{},"摊":{"docs":{},"到":{"docs":{},"其":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"引":{"docs":{},"起":{"docs":{},"剧":{"docs":{},"烈":{"docs":{},"变":{"docs":{},"动":{"docs":{},"。":{"docs":{"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"有":{"docs":{},"多":{"docs":{},"种":{"docs":{},"实":{"docs":{},"现":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"区":{"docs":{},"分":{"docs":{},"。":{"docs":{"demos/服务分组.html":{"ref":"demos/服务分组.html","tf":0.2}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"出":{"docs":{},"现":{"docs":{},"不":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"升":{"docs":{},"级":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"过":{"docs":{},"渡":{"docs":{},",":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"相":{"docs":{},"互":{"docs":{},"间":{"docs":{},"不":{"docs":{},"引":{"docs":{},"用":{"docs":{},"。":{"docs":{"demos/多版本.html":{"ref":"demos/多版本.html","tf":0.1111111111111111}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"结":{"docs":{},"果":{"docs":{},"为":{"docs":{},"空":{"docs":{},"时":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"强":{"docs":{},"制":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"强":{"docs":{},"制":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"路":{"docs":{},"由":{"docs":{},"结":{"docs":{},"果":{"docs":{},"为":{"docs":{},"空":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"失":{"docs":{},"效":{"docs":{},",":{"docs":{},"可":{"docs":{},"不":{"docs":{},"填":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"为":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"。":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"会":{"docs":{},"话":{"docs":{},"过":{"docs":{},"期":{"docs":{},"时":{"docs":{},",":{"docs":{},"能":{"docs":{},"自":{"docs":{},"动":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"注":{"docs":{},"册":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"出":{"docs":{},"现":{"docs":{},"断":{"docs":{},"电":{"docs":{},"等":{"docs":{},"异":{"docs":{},"常":{"docs":{},"停":{"docs":{},"机":{"docs":{},"时":{"docs":{},",":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"能":{"docs":{},"自":{"docs":{},"动":{"docs":{},"删":{"docs":{},"除":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"重":{"docs":{},"启":{"docs":{},"时":{"docs":{},",":{"docs":{},"能":{"docs":{},"自":{"docs":{},"动":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"注":{"docs":{},"册":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}},"不":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"时":{"docs":{},",":{"docs":{},"先":{"docs":{},"升":{"docs":{},"级":{"docs":{},"一":{"docs":{},"半":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"为":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"再":{"docs":{},"将":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"全":{"docs":{},"部":{"docs":{},"升":{"docs":{},"为":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"将":{"docs":{},"剩":{"docs":{},"下":{"docs":{},"的":{"docs":{},"一":{"docs":{},"半":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"升":{"docs":{},"为":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"时":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"加":{"docs":{},"速":{"docs":{},"前":{"docs":{},"端":{"docs":{},"页":{"docs":{},"面":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"框":{"docs":{},"架":{"docs":{},"(":{"docs":{},"m":{"docs":{},"v":{"docs":{},"c":{"docs":{},")":{"docs":{},"是":{"docs":{},"关":{"docs":{},"键":{"docs":{},"。":{"docs":{"preface/background.html":{"ref":"preface/background.html","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"高":{"docs":{},"业":{"docs":{},"务":{"docs":{},"复":{"docs":{},"用":{"docs":{},"及":{"docs":{},"整":{"docs":{},"合":{"docs":{},"的":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"服":{"docs":{},"务":{"docs":{},"框":{"docs":{},"架":{"docs":{},"(":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},")":{"docs":{},"是":{"docs":{},"关":{"docs":{},"键":{"docs":{},"。":{"docs":{"preface/background.html":{"ref":"preface/background.html","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{},"器":{"docs":{},"利":{"docs":{},"用":{"docs":{},"率":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"调":{"docs":{},"度":{"docs":{},"和":{"docs":{},"治":{"docs":{},"理":{"docs":{},"中":{"docs":{},"心":{"docs":{},"(":{"docs":{},"s":{"docs":{},"o":{"docs":{},"a":{"docs":{},")":{"docs":{},"是":{"docs":{},"关":{"docs":{},"键":{"docs":{},"。":{"docs":{"preface/background.html":{"ref":"preface/background.html","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}},"简":{"docs":{},"化":{"docs":{},"增":{"docs":{},"删":{"docs":{},"改":{"docs":{},"查":{"docs":{},"工":{"docs":{},"作":{"docs":{},"量":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"访":{"docs":{},"问":{"docs":{},"框":{"docs":{},"架":{"docs":{},"(":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},")":{"docs":{},"是":{"docs":{},"关":{"docs":{},"键":{"docs":{},"。":{"docs":{"preface/background.html":{"ref":"preface/background.html","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"端":{"docs":{},"变":{"docs":{},"成":{"docs":{},"消":{"docs":{},"费":{"docs":{},"端":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"和":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"同":{"docs":{},"时":{"docs":{},"在":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"启":{"docs":{},"动":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"来":{"docs":{},"支":{"docs":{},"持":{"docs":{},"并":{"docs":{},"行":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"借":{"docs":{},"助":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"的":{"docs":{},"非":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"完":{"docs":{},"成":{"docs":{},"。":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{},"很":{"docs":{},"重":{"docs":{},",":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"与":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"以":{"docs":{},"及":{"docs":{},"与":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"请":{"docs":{},"自":{"docs":{},"行":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"可":{"docs":{},"能":{"docs":{},"造":{"docs":{},"成":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"连":{"docs":{},"接":{"docs":{},"泄":{"docs":{},"漏":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.015957446808510637}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"请":{"docs":{},"自":{"docs":{},"行":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"可":{"docs":{},"能":{"docs":{},"造":{"docs":{},"成":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"连":{"docs":{},"接":{"docs":{},"泄":{"docs":{},"漏":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"会":{"docs":{},"立":{"docs":{},"即":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.043478260869565216}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"在":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"执":{"docs":{},"行":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}}}}}}}}},"日":{"docs":{},"志":{"docs":{},"量":{"docs":{},"比":{"docs":{},"较":{"docs":{},"大":{"docs":{},",":{"docs":{},"请":{"docs":{},"注":{"docs":{},"意":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"容":{"docs":{},"量":{"docs":{},"。":{"docs":{"demos/访问日志.html":{"ref":"demos/访问日志.html","tf":0.25}}}}}}}}}}}}}}}}}},"流":{"docs":{},"动":{"docs":{},"计":{"docs":{},"算":{"docs":{},"架":{"docs":{},"构":{"docs":{"preface/background.html":{"ref":"preface/background.html","tf":0.07692307692307693}}}}}}},"程":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}},"背":{"docs":{},"景":{"docs":{"preface/background.html":{"ref":"preface/background.html","tf":5}}}},"随":{"docs":{},"着":{"docs":{},"互":{"docs":{},"联":{"docs":{},"网":{"docs":{},"的":{"docs":{},"发":{"docs":{},"展":{"docs":{},",":{"docs":{},"网":{"docs":{},"站":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"规":{"docs":{},"模":{"docs":{},"不":{"docs":{},"断":{"docs":{},"扩":{"docs":{},"大":{"docs":{},",":{"docs":{},"常":{"docs":{},"规":{"docs":{},"的":{"docs":{},"垂":{"docs":{},"直":{"docs":{},"应":{"docs":{},"用":{"docs":{},"架":{"docs":{},"构":{"docs":{},"已":{"docs":{},"无":{"docs":{},"法":{"docs":{},"应":{"docs":{},"对":{"docs":{},",":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"服":{"docs":{},"务":{"docs":{},"架":{"docs":{},"构":{"docs":{},"以":{"docs":{},"及":{"docs":{},"流":{"docs":{},"动":{"docs":{},"计":{"docs":{},"算":{"docs":{},"架":{"docs":{},"构":{"docs":{},"势":{"docs":{},"在":{"docs":{},"必":{"docs":{},"行":{"docs":{},",":{"docs":{},"亟":{"docs":{},"需":{"docs":{},"一":{"docs":{},"个":{"docs":{},"治":{"docs":{},"理":{"docs":{},"系":{"docs":{},"统":{"docs":{},"确":{"docs":{},"保":{"docs":{},"架":{"docs":{},"构":{"docs":{},"有":{"docs":{},"条":{"docs":{},"不":{"docs":{},"紊":{"docs":{},"的":{"docs":{},"演":{"docs":{},"进":{"docs":{},"。":{"docs":{"preface/background.html":{"ref":"preface/background.html","tf":0.07692307692307693}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"机":{"docs":{},",":{"docs":{},"按":{"docs":{},"权":{"docs":{},"重":{"docs":{},"设":{"docs":{},"置":{"docs":{},"随":{"docs":{},"机":{"docs":{},"概":{"docs":{},"率":{"docs":{},"(":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}},"。":{"docs":{"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664}}}}}}}}}}}}}}},"(":{"1":{"docs":{},")":{"docs":{"preface/requirements.html":{"ref":"preface/requirements.html","tf":0.09090909090909091},"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549},"demos/多协议.html":{"ref":"demos/多协议.html","tf":0.1111111111111111},"demos/多注册中心.html":{"ref":"demos/多注册中心.html","tf":0.06666666666666667},"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931},"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564},"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}},".":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}},"2":{"docs":{},")":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549},"demos/多协议.html":{"ref":"demos/多协议.html","tf":0.1111111111111111},"demos/多注册中心.html":{"ref":"demos/多注册中心.html","tf":0.06666666666666667},"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931},"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564},"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}},".":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}},".":{"0":{"docs":{},".":{"1":{"2":{"docs":{},")":{"docs":{"coveragence.html":{"ref":"coveragence.html","tf":0.16666666666666666}}}},"docs":{}},"docs":{}}},"docs":{}}},"3":{"docs":{},")":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549},"demos/多注册中心.html":{"ref":"demos/多注册中心.html","tf":0.06666666666666667},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931},"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}},".":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}},".":{"1":{"docs":{},")":{"docs":{},".":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}},"2":{"docs":{},")":{"docs":{},".":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}},"docs":{}}},"4":{"docs":{},")":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}},"5":{"docs":{},")":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}},"6":{"docs":{},")":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}},"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},")":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"+":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.012578616352201259}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"集":{"docs":{},"群":{"docs":{},"模":{"docs":{},"式":{"docs":{},"生":{"docs":{},"效":{"docs":{},")":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},")":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}},"\"":{"docs":{},"s":{"docs":{},"a":{"docs":{},"y":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"\"":{"docs":{},".":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},")":{"docs":{"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.045454545454545456}}}}}}}}}}}}},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.011299435028248588}}}}}}}}}},"i":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},")":{"docs":{},"\"":{"docs":{},")":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},")":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}}}}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}}}}}}},"暂":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"参":{"docs":{},"数":{"docs":{},"路":{"docs":{},"由":{"docs":{},")":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}},"注":{"docs":{},"意":{"docs":{},":":{"1":{"docs":{},".":{"0":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"总":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"接":{"docs":{},"口":{"docs":{},"名":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"1":{"docs":{},".":{"0":{"docs":{},"调":{"2":{"docs":{},".":{"0":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"服":{"docs":{},"务":{"docs":{},"路":{"docs":{},"径":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"兼":{"docs":{},"容":{"docs":{},")":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}},"不":{"docs":{},"能":{"docs":{},"在":{"docs":{},"协":{"docs":{},"议":{"docs":{},"中":{"docs":{},"传":{"docs":{},"递":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"值":{"docs":{},")":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.014388489208633094}}}}}}},"尚":{"docs":{},"未":{"docs":{},"发":{"docs":{},"布":{"docs":{},")":{"docs":{"reference-maven/maven.html":{"ref":"reference-maven/maven.html","tf":0.05555555555555555}}}}}}},"(":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},".":{"docs":{},"$":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"(":{"docs":{},"“":{"docs":{},"o":{"docs":{},"k":{"docs":{},"”":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"2":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"+":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.012578616352201259}}}}}}}}}}}}},"docs":{}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"preface/requirements.html":{"ref":"preface/requirements.html","tf":0.09090909090909091}}}}}}},"a":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"z":{"docs":{},"l":{"docs":{},"y":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}},"i":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}},"i":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}},"o":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}},"u":{"docs":{},"p":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}}}}},"e":{"docs":{},"p":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.013793103448275862}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.013333333333333334}},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.020134228187919462},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.03636363636363636}},"e":{"docs":{},".":{"docs":{},"$":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"y":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}}}}}}},"b":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"/":{"docs":{},"i":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"5":{"0":{"docs":{},"k":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"n":{"docs":{},"g":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"h":{"4":{"docs":{},".":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.058823529411764705},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.029850746268656716}}}},"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}},":":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}},"/":{"docs":{},"/":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":5}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"b":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"1":{"4":{"0":{"2":{"docs":{},"/":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"preface/requirements.html":{"ref":"preface/requirements.html","tf":0.09090909090909091}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"x":{"docs":{},"s":{"docs":{},"d":{"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"d":{"docs":{},"/":{"docs":{},"e":{"1":{"7":{"4":{"0":{"9":{"docs":{},"_":{"0":{"1":{"docs":{},"/":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"/":{"6":{"docs":{},"/":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"g":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"/":{"docs":{},"s":{"docs":{},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}},",":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}},"d":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"(":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.012578616352201259}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016}}}},"p":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.014388489208633094}},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"2":{"docs":{},",":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}},"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.07692307692307693},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358},"perf-test.html":{"ref":"perf-test.html","tf":0.012578616352201259}},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464},"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}},"/":{"docs":{},"/":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":5}}}}},"_":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}},"协":{"docs":{},"议":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}},"用":{"docs":{},"于":{"docs":{},"集":{"docs":{},"成":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"底":{"docs":{},"层":{"docs":{},"采":{"docs":{},"用":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"通":{"docs":{},"讯":{"docs":{},",":{"docs":{},"采":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"内":{"docs":{},"嵌":{"docs":{},"j":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"作":{"docs":{},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"各":{"docs":{},"版":{"docs":{},"本":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"性":{"docs":{},"不":{"docs":{},"好":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"和":{"docs":{},"应":{"docs":{},"用":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"冲":{"docs":{},"突":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"内":{"docs":{},"嵌":{"docs":{},"了":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"3":{"docs":{},".":{"2":{"docs":{},".":{"1":{"docs":{},"的":{"docs":{},"源":{"docs":{},"码":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},",":{"docs":{},"只":{"docs":{},"传":{"docs":{},"成":{"docs":{},"员":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"和":{"docs":{},"值":{"docs":{},"的":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"不":{"docs":{},"传":{"docs":{},"方":{"docs":{},"法":{"docs":{},"或":{"docs":{},"静":{"docs":{},"态":{"docs":{},"变":{"docs":{},"量":{"docs":{},",":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{},"(":{"docs":{},"由":{"docs":{},"吴":{"docs":{},"亚":{"docs":{},"军":{"docs":{},"提":{"docs":{},"供":{"docs":{},")":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561}}}}}}}}}},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.013422818791946308},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.013793103448275862}}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"o":{"docs":{},"p":{"docs":{},"的":{"docs":{},"子":{"docs":{},"项":{"docs":{},"目":{"docs":{},",":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"树":{"docs":{},"型":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"变":{"docs":{},"更":{"docs":{},"推":{"docs":{},"送":{"docs":{},",":{"docs":{},"适":{"docs":{},"合":{"docs":{},"作":{"docs":{},"为":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"工":{"docs":{},"业":{"docs":{},"强":{"docs":{},"度":{"docs":{},"较":{"docs":{},"高":{"docs":{},",":{"docs":{},"可":{"docs":{},"用":{"docs":{},"于":{"docs":{},"生":{"docs":{},"产":{"docs":{},"环":{"docs":{},"境":{"docs":{},",":{"docs":{},"并":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"d":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}},"h":{"docs":{},":":{"docs":{},"m":{"docs":{},"m":{"docs":{},":":{"docs":{},"s":{"docs":{},"s":{"docs":{},"\"":{"docs":{},")":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.0761904761904762},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}},",":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"t":{"docs":{},"(":{"docs":{},"t":{"docs":{},"m":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"preface/requirements.html":{"ref":"preface/requirements.html","tf":0.09090909090909091}}}}}}},"o":{"docs":{},"r":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"均":{"docs":{},"可":{"docs":{},"以":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"配":{"docs":{},"置":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}},"上":{"docs":{},"可":{"docs":{},"以":{"docs":{},"配":{"docs":{},"置":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"端":{"docs":{},"属":{"docs":{},"性":{"docs":{},"有":{"docs":{},":":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}},"尽":{"docs":{},"量":{"docs":{},"多":{"docs":{},"配":{"docs":{},"置":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"端":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"让":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},"者":{"docs":{},"一":{"docs":{},"开":{"docs":{},"始":{"docs":{},"就":{"docs":{},"思":{"docs":{},"考":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"服":{"docs":{},"务":{"docs":{},"特":{"docs":{},"点":{"docs":{},"、":{"docs":{},"服":{"docs":{},"务":{"docs":{},"质":{"docs":{},"量":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"端":{"docs":{},"属":{"docs":{},"性":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.028795811518324606}}}}}},"x":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.005235602094240838}}}}}}}}}},"i":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.013333333333333334}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"最":{"docs":{},"后":{"docs":{},",":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"值":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"没":{"docs":{},"有":{"docs":{},"配":{"docs":{},"置":{"docs":{},"时":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"的":{"docs":{},"相":{"docs":{},"应":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},"才":{"docs":{},"会":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"共":{"docs":{},"享":{"docs":{},"公":{"docs":{},"共":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"应":{"docs":{},"用":{"docs":{},"名":{"docs":{},"。":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.07142857142857142},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"1":{"2":{"3":{"4":{"5":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},"(":{"2":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.04477611940298507}},"/":{"docs":{},"/":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},":":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"@":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"?":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"=":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"&":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"=":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.018018018018018018},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.013422818791946308},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.011299435028248588},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"=":{"1":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}},"docs":{}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.01694915254237288},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.015015015015015015}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}},")":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.020134228187919462}}}}}}}}},"t":{"docs":{},"h":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.056},"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.058823529411764705},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.04804804804804805},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.03355704697986577},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.03636363636363636},"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.023809523809523808},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.05263157894736842},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.03954802259887006},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.05517241379310345},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.05454545454545454},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.041666666666666664},"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.026845637583892617},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.020689655172413793}},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}},"t":{"docs":{},"h":{"0":{"docs":{},":":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}},":":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}},"j":{"docs":{},"o":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}},"(":{"docs":{},"嵌":{"docs":{},"套":{"docs":{},"的":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},")":{"docs":{},",":{"docs":{},"不":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"原":{"docs":{},"样":{"docs":{},"返":{"docs":{},"回":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"\"":{"docs":{},"时":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":0.07142857142857142}}}}}}}}},"等":{"docs":{},"强":{"docs":{},"制":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"指":{"docs":{},"令":{"docs":{},",":{"docs":{},"是":{"docs":{},"不":{"docs":{},"会":{"docs":{},"执":{"docs":{},"行":{"docs":{},"优":{"docs":{},"雅":{"docs":{},"停":{"docs":{},"机":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"通":{"docs":{},"过":{"docs":{},"\"":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.02877697841726619}},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547},"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}},"w":{"docs":{},"d":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}},"以":{"docs":{},"上":{"docs":{},"是":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"最":{"docs":{},"基":{"docs":{},"本":{"docs":{},"的":{"docs":{},"几":{"docs":{},"个":{"docs":{},"需":{"docs":{},"求":{"docs":{},",":{"docs":{},"更":{"docs":{},"多":{"docs":{},"服":{"docs":{},"务":{"docs":{},"治":{"docs":{},"理":{"docs":{},"问":{"docs":{},"题":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{"preface/requirements.html":{"ref":"preface/requirements.html","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"支":{"docs":{},"持":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}},"下":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"在":{"docs":{},"主":{"docs":{},"动":{"docs":{},"配":{"docs":{},"置":{"docs":{},"使":{"docs":{},"用":{"docs":{},"相":{"docs":{},"应":{"docs":{},"实":{"docs":{},"现":{"docs":{},"策":{"docs":{},"略":{"docs":{},"时":{"docs":{},"用":{"docs":{},"到":{"docs":{},",":{"docs":{},"需":{"docs":{},"自":{"docs":{},"行":{"docs":{},"加":{"docs":{},"入":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"。":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"供":{"docs":{},"参":{"docs":{},"考":{"docs":{},":":{"docs":{"capacity-plan.html":{"ref":"capacity-plan.html","tf":0.09090909090909091}}}}}}}}},"及":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"上":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}}}},"星":{"docs":{},"号":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}},"美":{"docs":{},"元":{"docs":{},"符":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}},"逗":{"docs":{},"号":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}},"调":{"docs":{},"用":{"docs":{},"参":{"docs":{},"数":{"docs":{},"为":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"可":{"docs":{},"选":{"docs":{},":":{"docs":{},"l":{"docs":{},"r":{"docs":{},"u":{"docs":{},",":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}},"缺":{"docs":{},"省":{"docs":{},"的":{"9":{"0":{"9":{"0":{"docs":{},"端":{"docs":{},"口":{"docs":{},"启":{"docs":{},"动":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"易":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{"reference-maven/maven.html":{"ref":"reference-maven/maven.html","tf":0.05555555555555555}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}},"其":{"docs":{},"次":{"docs":{},",":{"docs":{},"要":{"docs":{},"可":{"docs":{},"以":{"docs":{},"动":{"docs":{},"态":{"docs":{},"调":{"docs":{},"整":{"docs":{},"权":{"docs":{},"重":{"docs":{},",":{"docs":{},"在":{"docs":{},"线":{"docs":{},"上":{"docs":{},",":{"docs":{},"将":{"docs":{},"某":{"docs":{},"台":{"docs":{},"机":{"docs":{},"器":{"docs":{},"的":{"docs":{},"权":{"docs":{},"重":{"docs":{},"一":{"docs":{},"直":{"docs":{},"加":{"docs":{},"大":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"加":{"docs":{},"大":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"记":{"docs":{},"录":{"docs":{},"响":{"docs":{},"应":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"直":{"docs":{},"到":{"docs":{},"响":{"docs":{},"应":{"docs":{},"时":{"docs":{},"间":{"docs":{},"到":{"docs":{},"达":{"docs":{},"阀":{"docs":{},"值":{"docs":{},",":{"docs":{},"记":{"docs":{},"录":{"docs":{},"此":{"docs":{},"时":{"docs":{},"的":{"docs":{},"访":{"docs":{},"问":{"docs":{},"量":{"docs":{},",":{"docs":{},"再":{"docs":{},"以":{"docs":{},"此":{"docs":{},"访":{"docs":{},"问":{"docs":{},"量":{"docs":{},"乘":{"docs":{},"以":{"docs":{},"机":{"docs":{},"器":{"docs":{},"数":{"docs":{},"反":{"docs":{},"推":{"docs":{},"总":{"docs":{},"容":{"docs":{},"量":{"docs":{},"。":{"docs":{"preface/requirements.html":{"ref":"preface/requirements.html","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"中":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"经":{"docs":{},"由":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"对":{"docs":{},"应":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"端":{"docs":{},"口":{"docs":{},"对":{"docs":{},"应":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}},":":{"docs":{"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.05}}}},"他":{"docs":{},"正":{"docs":{},"常":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}},"它":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"、":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"、":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},"等":{"docs":{},")":{"docs":{},"的":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"策":{"docs":{},"略":{"docs":{},"也":{"docs":{},"一":{"docs":{},"样":{"docs":{},"。":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"大":{"docs":{},"规":{"docs":{},"模":{"docs":{},"服":{"docs":{},"务":{"docs":{},"化":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"可":{"docs":{},"能":{"docs":{},"只":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"或":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"等":{"docs":{},"工":{"docs":{},"具":{"docs":{},",":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"和":{"docs":{},"引":{"docs":{},"用":{"docs":{},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"配":{"docs":{},"置":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"地":{"docs":{},"址":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"f":{"5":{"docs":{},"等":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"进":{"docs":{},"行":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"。":{"docs":{"preface/requirements.html":{"ref":"preface/requirements.html","tf":0.09090909090909091}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"传":{"docs":{},"输":{"docs":{},"时":{"docs":{},",":{"docs":{},"单":{"docs":{},"一":{"docs":{},"连":{"docs":{},"接":{"docs":{},"会":{"docs":{},"成":{"docs":{},"为":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"实":{"docs":{},"现":{"docs":{},"接":{"docs":{},"口":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}}},"器":{"docs":{},"端":{"docs":{},"验":{"docs":{},"证":{"docs":{},"参":{"docs":{},"数":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"截":{"docs":{},"面":{"docs":{},"上":{"docs":{},"碰":{"docs":{},"撞":{"docs":{},"的":{"docs":{},"概":{"docs":{},"率":{"docs":{},"高":{"docs":{},",":{"docs":{},"重":{"docs":{},"试":{"docs":{},"时":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"出":{"docs":{},"现":{"docs":{},"瞬":{"docs":{},"间":{"docs":{},"压":{"docs":{},"力":{"docs":{},"不":{"docs":{},"均":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}},"但":{"docs":{},"调":{"docs":{},"用":{"docs":{},"量":{"docs":{},"越":{"docs":{},"大":{"docs":{},"分":{"docs":{},"布":{"docs":{},"越":{"docs":{},"均":{"docs":{},"匀":{"docs":{},",":{"docs":{},"而":{"docs":{},"且":{"docs":{},"按":{"docs":{},"概":{"docs":{},"率":{"docs":{},"使":{"docs":{},"用":{"docs":{},"权":{"docs":{},"重":{"docs":{},"后":{"docs":{},"也":{"docs":{},"比":{"docs":{},"较":{"docs":{},"均":{"docs":{},"匀":{"docs":{},",":{"docs":{},"有":{"docs":{},"利":{"docs":{},"于":{"docs":{},"动":{"docs":{},"态":{"docs":{},"调":{"docs":{},"整":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"权":{"docs":{},"重":{"docs":{},"。":{"docs":{"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"执":{"docs":{},"行":{"docs":{},"部":{"docs":{},"分":{"docs":{},"逻":{"docs":{},"辑":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}},"验":{"docs":{},"证":{"docs":{},"参":{"docs":{},"数":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}},"同":{"docs":{},"时":{"docs":{},"写":{"docs":{},"入":{"docs":{},"所":{"docs":{},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"只":{"docs":{},"读":{"docs":{},"取":{"docs":{},"单":{"docs":{},"台":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"同":{"docs":{},"步":{"docs":{},",":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"集":{"docs":{},"群":{"docs":{},"增":{"docs":{},"大":{"docs":{},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"压":{"docs":{},"力":{"docs":{},"也":{"docs":{},"会":{"docs":{},"更":{"docs":{},"大":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"集":{"docs":{},"群":{"docs":{},"调":{"docs":{},"用":{"docs":{},"失":{"docs":{},"败":{"docs":{},"时":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"多":{"docs":{},"种":{"docs":{},"容":{"docs":{},"错":{"docs":{},"方":{"docs":{},"案":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"重":{"docs":{},"试":{"docs":{},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"时":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"多":{"docs":{},"种":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"为":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},"随":{"docs":{},"机":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{},"可":{"docs":{},"以":{"docs":{},"自":{"docs":{},"行":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"扩":{"docs":{},"展":{"docs":{"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"o":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},",":{"docs":{},"将":{"docs":{},"连":{"docs":{},"接":{"docs":{},"断":{"docs":{},"开":{"docs":{},"事":{"docs":{},"件":{"docs":{},"放":{"docs":{},"入":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"有":{"docs":{},"序":{"docs":{},"逐":{"docs":{},"个":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"消":{"docs":{},"息":{"docs":{},"派":{"docs":{},"发":{"docs":{},"到":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"。":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"v":{"docs":{},"m":{"docs":{},"启":{"docs":{},"动":{"docs":{},"参":{"docs":{},"数":{"docs":{},"中":{"docs":{},"加":{"docs":{},"入":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}}}}}}}}}}},"开":{"docs":{},"发":{"docs":{},"及":{"docs":{},"测":{"docs":{},"试":{"docs":{},"环":{"docs":{},"境":{"docs":{},"下":{"docs":{},",":{"docs":{},"经":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"绕":{"docs":{},"过":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"只":{"docs":{},"测":{"docs":{},"试":{"docs":{},"指":{"docs":{},"定":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},"候":{"docs":{},"可":{"docs":{},"能":{"docs":{},"需":{"docs":{},"要":{"docs":{},"点":{"docs":{},"对":{"docs":{},"点":{"docs":{},"直":{"docs":{},"连":{"docs":{},",":{"docs":{},"点":{"docs":{},"对":{"docs":{},"点":{"docs":{},"直":{"docs":{},"联":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"将":{"docs":{},"以":{"docs":{},"服":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{},"为":{"docs":{},"单":{"docs":{},"位":{"docs":{},",":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"的":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"a":{"docs":{},"接":{"docs":{},"口":{"docs":{},"配":{"docs":{},"置":{"docs":{},"点":{"docs":{},"对":{"docs":{},"点":{"docs":{},",":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"b":{"docs":{},"接":{"docs":{},"口":{"docs":{},"从":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"获":{"docs":{},"取":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"低":{"docs":{},"压":{"docs":{},"力":{"docs":{},"时":{"docs":{},"间":{"docs":{},"段":{"docs":{},",":{"docs":{},"先":{"docs":{},"升":{"docs":{},"级":{"docs":{},"一":{"docs":{},"半":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"为":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{"demos/多版本.html":{"ref":"demos/多版本.html","tf":0.1111111111111111}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"出":{"docs":{},"现":{"docs":{},"异":{"docs":{},"常":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"触":{"docs":{},"发":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},",":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"旁":{"docs":{},"边":{"docs":{},"放":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"它":{"docs":{},"实":{"docs":{},"现":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"并":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"传":{"docs":{},"入":{"docs":{},"远":{"docs":{},"程":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"实":{"docs":{},"例":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"它":{"docs":{},"实":{"docs":{},"现":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"并":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"无":{"docs":{},"参":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"控":{"docs":{},"制":{"docs":{},"权":{"docs":{},"限":{"docs":{},",":{"docs":{},"以":{"docs":{},"决":{"docs":{},"定":{"docs":{},"要":{"docs":{},"不":{"docs":{},"要":{"docs":{},"下":{"docs":{},"发":{"docs":{},"令":{"docs":{},"牌":{"docs":{},"给":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{"demos/令牌验证.html":{"ref":"demos/令牌验证.html","tf":0.16666666666666666}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"1":{"docs":{},"中":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"2":{"docs":{},"中":{"docs":{},"配":{"docs":{},"置":{"docs":{},"示":{"docs":{},"例":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"加":{"docs":{},"入":{"docs":{},"主":{"docs":{},"机":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"增":{"docs":{},"加":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},"依":{"docs":{},"赖":{"docs":{},":":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"多":{"docs":{},"配":{"docs":{},"置":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"端":{"docs":{},"属":{"docs":{},"性":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"配":{"docs":{},"置":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"端":{"docs":{},"属":{"docs":{},"性":{"docs":{},"有":{"docs":{},":":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"后":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"配":{"docs":{},"置":{"docs":{},"则":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"值":{"docs":{},",":{"docs":{},"即":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"配":{"docs":{},"置":{"docs":{},"可":{"docs":{},"以":{"docs":{},"作":{"docs":{},"为":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"值":{"docs":{},"。":{"docs":{},"否":{"docs":{},"则":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"会":{"docs":{},"使":{"docs":{},"用":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"端":{"docs":{},"的":{"docs":{},"全":{"docs":{},"局":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"这":{"docs":{},"对":{"docs":{},"于":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"可":{"docs":{},"控":{"docs":{},"的":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"往":{"docs":{},"往":{"docs":{},"是":{"docs":{},"不":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{},"。":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"上":{"docs":{},"配":{"docs":{},"置":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{},"场":{"docs":{},"景":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"上":{"docs":{},",":{"docs":{},"将":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"和":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"布":{"docs":{},"置":{"docs":{},"成":{"docs":{},"均":{"docs":{},"为":{"2":{"docs":{},"台":{"docs":{},"(":{"docs":{},"一":{"docs":{},"台":{"docs":{},"机":{"docs":{},"器":{"2":{"docs":{},"个":{"docs":{},"实":{"docs":{},"例":{"docs":{},")":{"docs":{},",":{"docs":{},"且":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"从":{"2":{"0":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"到":{"2":{"0":{"0":{"docs":{},"k":{"docs":{},",":{"docs":{},"每":{"docs":{},"隔":{"1":{"0":{"docs":{},"分":{"docs":{},"钟":{"docs":{},"随":{"docs":{},"机":{"docs":{},"变":{"docs":{},"换":{"docs":{},"。":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}},"docs":{}},"docs":{}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}},"并":{"docs":{},"通":{"docs":{},"过":{"docs":{},"在":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"获":{"docs":{},"取":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"地":{"docs":{},"址":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"软":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"和":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"降":{"docs":{},"低":{"docs":{},"对":{"docs":{},"f":{"5":{"docs":{},"硬":{"docs":{},"件":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"器":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"也":{"docs":{},"能":{"docs":{},"减":{"docs":{},"少":{"docs":{},"部":{"docs":{},"分":{"docs":{},"成":{"docs":{},"本":{"docs":{},"。":{"docs":{},"(":{"2":{"docs":{},")":{"docs":{"preface/requirements.html":{"ref":"preface/requirements.html","tf":0.09090909090909091}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"发":{"docs":{},"控":{"docs":{},"制":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.005235602094240838},"demos/并发控制.html":{"ref":"demos/并发控制.html","tf":5}}}},"场":{"docs":{},"景":{"docs":{},"(":{"2":{"0":{"docs":{},"并":{"docs":{},"发":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}},"docs":{}},"docs":{}}}}},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},"多":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"一":{"docs":{},"个":{"docs":{},"成":{"docs":{},"功":{"docs":{},"即":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"实":{"docs":{},"时":{"docs":{},"性":{"docs":{},"要":{"docs":{},"求":{"docs":{},"较":{"docs":{},"高":{"docs":{},"的":{"docs":{},"读":{"docs":{},"操":{"docs":{},"作":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},":":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"发":{"docs":{},"送":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"下":{"docs":{},",":{"docs":{},"添":{"docs":{},"加":{"docs":{},"当":{"docs":{},"前":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"着":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"量":{"docs":{},"越":{"docs":{},"来":{"docs":{},"越":{"docs":{},"大":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"容":{"docs":{},"量":{"docs":{},"问":{"docs":{},"题":{"docs":{},"就":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"这":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"需":{"docs":{},"要":{"docs":{},"多":{"docs":{},"少":{"docs":{},"机":{"docs":{},"器":{"docs":{},"支":{"docs":{},"撑":{"docs":{},"?":{"docs":{},"什":{"docs":{},"么":{"docs":{},"时":{"docs":{},"候":{"docs":{},"该":{"docs":{},"加":{"docs":{},"机":{"docs":{},"器":{"docs":{},"?":{"docs":{},"为":{"docs":{},"了":{"docs":{},"解":{"docs":{},"决":{"docs":{},"这":{"docs":{},"些":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"第":{"docs":{},"一":{"docs":{},"步":{"docs":{},",":{"docs":{},"要":{"docs":{},"将":{"docs":{},"服":{"docs":{},"务":{"docs":{},"现":{"docs":{},"在":{"docs":{},"每":{"docs":{},"天":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"量":{"docs":{},",":{"docs":{},"响":{"docs":{},"应":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"都":{"docs":{},"统":{"docs":{},"计":{"docs":{},"出":{"docs":{},"来":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"容":{"docs":{},"量":{"docs":{},"规":{"docs":{},"划":{"docs":{},"的":{"docs":{},"参":{"docs":{},"考":{"docs":{},"指":{"docs":{},"标":{"docs":{},"。":{"docs":{"preface/requirements.html":{"ref":"preface/requirements.html","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"口":{"docs":{},"增":{"docs":{},"加":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"对":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"无":{"docs":{},"影":{"docs":{},"响":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"该":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"是":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"需":{"docs":{},"要":{"docs":{},"的":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"新":{"docs":{},"部":{"docs":{},"署":{"docs":{},"。":{"docs":{},"输":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"和":{"docs":{},"结":{"docs":{},"果":{"docs":{},"集":{"docs":{},"中":{"docs":{},"增":{"docs":{},"加":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"对":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"无":{"docs":{},"影":{"docs":{},"响":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"并":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"新":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"不":{"docs":{},"用":{"docs":{},"重":{"docs":{},"新":{"docs":{},"部":{"docs":{},"署":{"docs":{},"。":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"求":{"docs":{"preface/requirements.html":{"ref":"preface/requirements.html","tf":5}}},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"短":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"开":{"docs":{},"销":{"docs":{},"大":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"支":{"docs":{},"持":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.010471204188481676}}}}}}}},"要":{"docs":{},"浪":{"docs":{},"费":{"docs":{},"更":{"docs":{},"多":{"docs":{},"服":{"docs":{},"务":{"docs":{},"资":{"docs":{},"源":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}},"加":{"docs":{},"入":{"docs":{},"依":{"docs":{},"赖":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}},"依":{"docs":{},"赖":{"docs":{},":":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.02631578947368421}}}}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.028795811518324606}}}}},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.011299435028248588}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571}}}}}}}},"r":{"docs":{},"g":{"docs":{},"s":{"docs":{},")":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}},"[":{"0":{"docs":{},"]":{"docs":{},";":{"docs":{"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}},"docs":{}}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.029411764705882353}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"使":{"docs":{},"用":{"docs":{},"说":{"docs":{},"明":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"想":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"而":{"docs":{},"希":{"docs":{},"望":{"docs":{},"通":{"docs":{},"过":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"请":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"配":{"docs":{},"置":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"范":{"docs":{},"围":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"仅":{"docs":{},"用":{"docs":{},"于":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},",":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{},"含":{"docs":{},"义":{"docs":{},"参":{"docs":{},"考":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"属":{"docs":{},"性":{"docs":{},"与":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},"一":{"docs":{},"对":{"docs":{},"一":{"docs":{},",":{"docs":{},"各":{"docs":{},"属":{"docs":{},"性":{"docs":{},"含":{"docs":{},"义":{"docs":{},",":{"docs":{},"请":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":5}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}},"参":{"docs":{},"考":{"docs":{},"手":{"docs":{},"册":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":5}}}}}},"汇":{"docs":{},"总":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425},"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.023809523809523808},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.014285714285714285},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.049738219895287955}}}}}}},"l":{"docs":{},",":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},"e":{"docs":{},"s":{"docs":{},"等":{"docs":{},"类":{"docs":{},"似":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}}}}}}},"p":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}}}}}}},"g":{"docs":{},"e":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.009009009009009009}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"o":{"docs":{},"k":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"q":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},"“":{"docs":{},"o":{"docs":{},"k":{"docs":{},"”":{"docs":{},",":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"结":{"docs":{},"果":{"docs":{},"是":{"docs":{},"否":{"docs":{},"马":{"docs":{},"上":{"docs":{},"返":{"docs":{},"回":{"docs":{},".":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"不":{"docs":{},"在":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"中":{"docs":{},"体":{"docs":{},"现":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.02112676056338028}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"b":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"demos/多协议.html":{"ref":"demos/多协议.html","tf":0.2222222222222222},"demos/多注册中心.html":{"ref":"demos/多注册中心.html","tf":0.26666666666666666},"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}},"\"":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}},"端":{"docs":{},"配":{"docs":{},"置":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.007853403141361256},"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.05660377358490566}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":0.06666666666666667}},"u":{"docs":{},"r":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.06060606060606061}}}},"缓":{"docs":{},"存":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":3.333333333333333}}}},"为":{"docs":{},"准":{"docs":{},",":{"docs":{},"列":{"docs":{},"举":{"docs":{},"所":{"docs":{},"有":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"配":{"docs":{},"置":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"请":{"docs":{},"参":{"docs":{},"见":{"docs":{},"相":{"docs":{},"应":{"docs":{},"转":{"docs":{},"换":{"docs":{},"关":{"docs":{},"系":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":0.06666666666666667}}}}}},"p":{"docs":{},"i":{"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":0.06666666666666667}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}},"s":{"docs":{},")":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}}}}}},";":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}},"e":{"docs":{},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}},"e":{"docs":{},";":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}}}}}}}},"r":{"docs":{},"g":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.05660377358490566}}}}}}}}}}}}}},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"=":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"2":{"0":{"8":{"9":{"0":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"2":{"docs":{},".":{"1":{"docs":{},".":{"2":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},";":{"docs":{"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}}}}},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.011299435028248588}}}}}}}}},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}}}}},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"s":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"p":{"docs":{},"f":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"x":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.029411764705882353}},"e":{"docs":{},"r":{"docs":{},"编":{"docs":{},"译":{"docs":{},"生":{"docs":{},"成":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"后":{"docs":{},"续":{"docs":{},"版":{"docs":{},"本":{"docs":{},"中":{"docs":{},"会":{"docs":{},"在":{"docs":{},"这":{"docs":{},"方":{"docs":{},"面":{"docs":{},"做":{"docs":{},"一":{"docs":{},"些":{"docs":{},"增":{"docs":{},"强":{"docs":{},"。":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}}},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"值":{"docs":{},"(":{"docs":{},"见":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"配":{"docs":{},"置":{"docs":{},"参":{"docs":{},"考":{"docs":{},"手":{"docs":{},"册":{"docs":{},")":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"3":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}},"4":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}},"docs":{},"包":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"不":{"docs":{},"会":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"这":{"docs":{},"个":{"docs":{},"包":{"docs":{},",":{"docs":{},"请":{"docs":{},"排":{"docs":{},"查":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"应":{"docs":{},"用":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"下":{"docs":{},",":{"docs":{},"存":{"docs":{},"在":{"docs":{},"反":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"安":{"docs":{},"全":{"docs":{},"风":{"docs":{},"险":{"docs":{},"。":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"决":{"docs":{},"了":{"docs":{},"该":{"docs":{},"问":{"docs":{},"题":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.03597122302158273}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.024},"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.058823529411764705},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.006006006006006006},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818},"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.013793103448275862},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}},"\"":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.015706806282722512},"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.13333333333333333},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}},"将":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"的":{"docs":{},"多":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"伪":{"docs":{},"装":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"对":{"docs":{},"上":{"docs":{},"层":{"docs":{},"透":{"docs":{},"明":{"docs":{},",":{"docs":{},"伪":{"docs":{},"装":{"docs":{},"过":{"docs":{},"程":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"容":{"docs":{},"错":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"失":{"docs":{},"败":{"docs":{},"后":{"docs":{},",":{"docs":{},"重":{"docs":{},"试":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}},"i":{"docs":{},"p":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.014388489208633094}},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.02631578947368421}},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}},"x":{"docs":{},"f":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.029850746268656716}},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"是":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"框":{"docs":{},"架":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"c":{"docs":{},"x":{"docs":{},"f":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},",":{"docs":{},"由":{"docs":{},"x":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"和":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"x":{"docs":{},"合":{"docs":{},"并":{"docs":{},"而":{"docs":{},"来":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.016129032258064516},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.013333333333333334}},"=":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"\"":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}},",":{"docs":{},"总":{"docs":{},"是":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"恢":{"docs":{},"复":{"docs":{},"时":{"docs":{},",":{"docs":{},"能":{"docs":{},"自":{"docs":{},"动":{"docs":{},"连":{"docs":{},"上":{"docs":{},"。":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"\b":{"docs":{},"u":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"。":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.011299435028248588}}}}}}}}}},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}}}}}}}},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456},"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.06382978723404255},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.013333333333333334},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"中":{"docs":{},"会":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}}}}}}}}},"会":{"docs":{},"持":{"docs":{},"有":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},",":{"docs":{},"不":{"docs":{},"要":{"docs":{},"在":{"docs":{},"外":{"docs":{},"部":{"docs":{},"再":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"的":{"docs":{},"d":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"y":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"导":{"docs":{},"致":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"内":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"失":{"docs":{},"效":{"docs":{},"!":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.011299435028248588},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}},"捕":{"docs":{},"获":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}}},"应":{"docs":{},"该":{"docs":{},"加":{"docs":{},"上":{"docs":{},"合":{"docs":{},"适":{"docs":{},"的":{"docs":{},"回":{"docs":{},"滚":{"docs":{},"边":{"docs":{},"界":{"docs":{},"上":{"docs":{},"。":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}},"起":{"docs":{},"来":{"docs":{},"。":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.01694915254237288}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},"{":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.022598870056497175}},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"6":{"0":{"docs":{},".":{"1":{"9":{"8":{"docs":{},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"\"":{"docs":{},",":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}},"(":{"docs":{},")":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}},"与":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"功":{"docs":{},"能":{"docs":{},"正":{"docs":{},"交":{"docs":{},"分":{"docs":{},"解":{"docs":{},":":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}},"=":{"docs":{},"\"":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"\"":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"等":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"只":{"docs":{},"能":{"docs":{},"用":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"docs":{},"自":{"docs":{},"带":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"会":{"docs":{},"做":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"中":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"都":{"docs":{},"会":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"。":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}},"t":{"docs":{},"x":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}},"个":{"docs":{},"数":{"docs":{},"+":{"1":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}},"docs":{}}}},"、":{"docs":{},"内":{"docs":{},"存":{"docs":{},"、":{"docs":{},"网":{"docs":{},"络":{"docs":{},"、":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"、":{"docs":{},"文":{"docs":{},"件":{"docs":{},"句":{"docs":{},"柄":{"docs":{},"占":{"docs":{},"用":{"docs":{},"平":{"docs":{},"稳":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.02158273381294964}}}},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"命":{"docs":{},"令":{"docs":{},"分":{"docs":{},"析":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"以":{"docs":{},"下":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},":":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.032},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931},"benchmark.html":{"ref":"benchmark.html","tf":0.07142857142857142}},"e":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}},"s":{"docs":{},"a":{"docs":{},"y":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"@":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"1":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}},"docs":{}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},"。":{"docs":{"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.047619047619047616}}}}}}}}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},"。":{"docs":{"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.05}}}}}}}}}},"a":{"docs":{},"y":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358},"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.014388489208633094}},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"1":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},".":{"0":{"docs":{},".":{"1":{"3":{"docs":{},"及":{"docs":{},"其":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"支":{"docs":{},"持":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"(":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"2":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"+":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}}}}}}}}}}}},"docs":{}}}}}}}}}},"2":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.025157232704402517}},".":{"0":{"docs":{},".":{"0":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"支":{"docs":{},"持":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}},"5":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"端":{"docs":{},"口":{"docs":{},"支":{"docs":{},"持":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"命":{"docs":{},"令":{"docs":{},",":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"测":{"docs":{},"试":{"docs":{},"结":{"docs":{},"论":{"docs":{},"为":{"docs":{},"通":{"docs":{},"过":{"docs":{},",":{"docs":{},"从":{"docs":{},"性":{"docs":{},"能":{"docs":{},"、":{"docs":{},"内":{"docs":{},"存":{"docs":{},"占":{"docs":{},"用":{"docs":{},"和":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{},"上":{"docs":{},"都":{"docs":{},"有":{"docs":{},"了":{"docs":{},"提":{"docs":{},"高":{"docs":{},"和":{"docs":{},"改":{"docs":{},"进":{"docs":{},"。":{"docs":{},"由":{"docs":{},"其":{"docs":{},"是":{"docs":{},"内":{"docs":{},"存":{"docs":{},"管":{"docs":{},"理":{"docs":{},"由":{"docs":{},"于":{"docs":{},"将":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"换":{"docs":{},"成":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{},"大":{"docs":{},"大":{"docs":{},"减":{"docs":{},"少":{"docs":{},"了":{"1":{"docs":{},".":{"0":{"docs":{},"版":{"docs":{},"本":{"docs":{},"在":{"docs":{},"高":{"docs":{},"并":{"docs":{},"发":{"docs":{},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"下":{"docs":{},"的":{"docs":{},"内":{"docs":{},"存":{"docs":{},"大":{"docs":{},"锯":{"docs":{},"齿":{"docs":{},"。":{"docs":{},"如":{"docs":{},"下":{"docs":{},"图":{"docs":{},":":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"相":{"docs":{},"比":{"docs":{},"较":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"1":{"docs":{},".":{"0":{"docs":{},"(":{"docs":{},"默":{"docs":{},"认":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"都":{"docs":{},"是":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"2":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},")":{"docs":{},"性":{"docs":{},"能":{"docs":{},"均":{"docs":{},"有":{"docs":{},"提":{"docs":{},"升":{"docs":{},"(":{"docs":{},"除":{"docs":{},"了":{"5":{"0":{"docs":{},"k":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}},"1":{"docs":{},".":{"0":{"docs":{},"及":{"docs":{},"其":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"支":{"docs":{},"持":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.013333333333333334},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.014084507042253521}}}}}}}}}}},"docs":{}}},"docs":{}},"中":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"配":{"docs":{},"置":{"docs":{},"中":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"可":{"docs":{},"以":{"docs":{},"针":{"docs":{},"对":{"docs":{},"单":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"配":{"docs":{},"置":{"docs":{},"。":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625},"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.014634146341463415},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.008379888268156424},"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.058823529411764705},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.029850746268656716},"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}},"采":{"docs":{},"用":{"docs":{},"全":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"配":{"docs":{},"置":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"透":{"docs":{},"明":{"docs":{},"化":{"docs":{},"接":{"docs":{},"入":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"没":{"docs":{},"有":{"docs":{},"任":{"docs":{},"何":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"侵":{"docs":{},"入":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"用":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"加":{"docs":{},"载":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"基":{"docs":{},"于":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"进":{"docs":{},"行":{"docs":{},"加":{"docs":{},"载":{"docs":{},"。":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}},"缺":{"docs":{},"省":{"docs":{},"为":{"docs":{},"a":{"docs":{},"l":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}}},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"2":{"docs":{},",":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"协":{"docs":{},"议":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"为":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"为":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}},"y":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"为":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}},"端":{"docs":{},"口":{"docs":{},"为":{"2":{"0":{"8":{"8":{"0":{"docs":{},",":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"协":{"docs":{},"议":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"端":{"docs":{},"口":{"docs":{},"为":{"1":{"0":{"9":{"9":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"和":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"协":{"docs":{},"议":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"端":{"docs":{},"口":{"docs":{},"为":{"8":{"0":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}},"每":{"docs":{},"服":{"docs":{},"务":{"docs":{},"每":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"每":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"使":{"docs":{},"用":{"docs":{},"单":{"docs":{},"一":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"数":{"docs":{},"据":{"docs":{},"量":{"docs":{},"较":{"docs":{},"大":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"多":{"docs":{},"个":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"4":{"docs":{},"j":{"docs":{"demos/日志适配.html":{"ref":"demos/日志适配.html","tf":0.07692307692307693}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456},"demos/日志适配.html":{"ref":"demos/日志适配.html","tf":0.07692307692307693},"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886},"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549},"recommend.html":{"ref":"recommend.html","tf":0.018867924528301886}}}}}}},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"2":{"0":{"8":{"8":{"0":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"=":{"2":{"0":{"5":{"docs":{},".":{"1":{"8":{"2":{"docs":{},".":{"2":{"3":{"docs":{},".":{"2":{"0":{"1":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"=":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"0":{"docs":{},":":{"9":{"0":{"9":{"0":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}},"e":{"docs":{},",":{"docs":{},"前":{"docs":{},"面":{"docs":{},"两":{"docs":{},"个":{"docs":{},"都":{"docs":{},"是":{"docs":{},"指":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"成":{"docs":{},"功":{"docs":{},",":{"docs":{},"但":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"列":{"docs":{},"表":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"空":{"docs":{},"是":{"docs":{},"否":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"注":{"docs":{},"册":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"失":{"docs":{},"败":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"允":{"docs":{},"许":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"需":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"选":{"docs":{},"项":{"docs":{},",":{"docs":{},"将":{"docs":{},"在":{"docs":{},"后":{"docs":{},"台":{"docs":{},"定":{"docs":{},"时":{"docs":{},"重":{"docs":{},"试":{"docs":{},"。":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"=":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}},"z":{"docs":{},"k":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}},"e":{"docs":{},",":{"docs":{},"强":{"docs":{},"制":{"docs":{},"改":{"docs":{},"变":{"docs":{},"所":{"docs":{},"有":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"的":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"值":{"docs":{},",":{"docs":{},"就":{"docs":{},"算":{"docs":{},"配":{"docs":{},"置":{"docs":{},"中":{"docs":{},"有":{"docs":{},"声":{"docs":{},"明":{"docs":{},",":{"docs":{},"也":{"docs":{},"会":{"docs":{},"被":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"。":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}},"e":{"docs":{},",":{"docs":{},"是":{"docs":{},"设":{"docs":{},"置":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"配":{"docs":{},"置":{"docs":{},"中":{"docs":{},"有":{"docs":{},"显":{"docs":{},"式":{"docs":{},"的":{"docs":{},"声":{"docs":{},"明":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"受":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"j":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"4":{"docs":{},"j":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"demos/日志适配.html":{"ref":"demos/日志适配.html","tf":0.07692307692307693}},":":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353}}}}}},"j":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"=":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},",":{"docs":{},"s":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"8":{"0":{"8":{"0":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"4":{"docs":{},"j":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"=":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"/":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"=":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"2":{"0":{"8":{"8":{"0":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"=":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"加":{"docs":{},"载":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"通":{"docs":{},"过":{"docs":{},"j":{"docs":{},"v":{"docs":{},"m":{"docs":{},"启":{"docs":{},"动":{"docs":{},"参":{"docs":{},"数":{"docs":{},":":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缺":{"docs":{},"省":{"docs":{},"会":{"docs":{},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"检":{"docs":{},"查":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"用":{"docs":{},",":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"时":{"docs":{},"会":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"阻":{"docs":{},"止":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"以":{"docs":{},"便":{"docs":{},"上":{"docs":{},"线":{"docs":{},"时":{"docs":{},",":{"docs":{},"能":{"docs":{},"及":{"docs":{},"早":{"docs":{},"发":{"docs":{},"现":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"不":{"docs":{},"适":{"docs":{},"合":{"docs":{},"传":{"docs":{},"送":{"docs":{},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"量":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"传":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"传":{"docs":{},"视":{"docs":{},"频":{"docs":{},"等":{"docs":{},",":{"docs":{},"除":{"docs":{},"非":{"docs":{},"请":{"docs":{},"求":{"docs":{},"量":{"docs":{},"很":{"docs":{},"低":{"docs":{},"。":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{},"单":{"docs":{},"一":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"和":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"异":{"docs":{},"步":{"docs":{},"通":{"docs":{},"讯":{"docs":{},",":{"docs":{},"适":{"docs":{},"合":{"docs":{},"于":{"docs":{},"小":{"docs":{},"数":{"docs":{},"据":{"docs":{},"量":{"docs":{},"大":{"docs":{},"并":{"docs":{},"发":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"服":{"docs":{},"务":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"机":{"docs":{},"器":{"docs":{},"数":{"docs":{},"远":{"docs":{},"大":{"docs":{},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"机":{"docs":{},"器":{"docs":{},"数":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"docs":{},"的":{"docs":{},"s":{"docs":{},"h":{"docs":{},"u":{"docs":{},"t":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"h":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"优":{"docs":{},"雅":{"docs":{},"停":{"docs":{},"机":{"docs":{},"的":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"户":{"docs":{},"使":{"docs":{},"用":{"docs":{},"\"":{"docs":{},"k":{"docs":{},"i":{"docs":{},"l":{"docs":{"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":5}},"e":{"docs":{},"、":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"没":{"docs":{},"有":{"docs":{},"配":{"docs":{},"置":{"docs":{},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{},",":{"docs":{},"则":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{},"。":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":5}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":5},"reference-maven/maven.html":{"ref":"reference-maven/maven.html","tf":0.1111111111111111}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":5}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":5}}}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":5}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":5}}}}}}},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":5}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":5}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":5}}}}},"r":{"docs":{},"g":{"docs":{},"u":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":5}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":5}}}}}}},"r":{"docs":{"reference-maven/maven.html":{"ref":"reference-maven/maven.html","tf":0.1111111111111111}}}},"/":{"docs":{},"/":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":5}}}}},"中":{"docs":{},"除":{"docs":{},"这":{"docs":{},"里":{"docs":{},"声":{"docs":{},"明":{"docs":{},"以":{"docs":{},"外":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"或":{"docs":{},"类":{"docs":{},",":{"docs":{},"都":{"docs":{},"是":{"docs":{},"内":{"docs":{},"部":{"docs":{},"接":{"docs":{},"口":{"docs":{},"或":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"普":{"docs":{},"通":{"docs":{},"用":{"docs":{},"户":{"docs":{},"请":{"docs":{},"不":{"docs":{},"要":{"docs":{},"直":{"docs":{},"接":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"升":{"docs":{},"级":{"docs":{},"版":{"docs":{},"本":{"docs":{},"可":{"docs":{},"能":{"docs":{},"出":{"docs":{},"现":{"docs":{},"不":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"。":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"常":{"docs":{},"规":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"都":{"docs":{},"保":{"docs":{},"持":{"docs":{},"零":{"docs":{},"侵":{"docs":{},"入":{"docs":{},",":{"docs":{},"但":{"docs":{},"有":{"docs":{},"些":{"docs":{},"功":{"docs":{},"能":{"docs":{},"不":{"docs":{},"得":{"docs":{},"不":{"docs":{},"用":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"侵":{"docs":{},"入":{"docs":{},"才":{"docs":{},"能":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"计":{"docs":{},"目":{"docs":{},"的":{"docs":{},"是":{"docs":{},"为":{"docs":{},"了":{"docs":{},"满":{"docs":{},"足":{"docs":{},"高":{"docs":{},"并":{"docs":{},"发":{"docs":{},"小":{"docs":{},"数":{"docs":{},"据":{"docs":{},"量":{"docs":{},"的":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"在":{"docs":{},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"量":{"docs":{},"下":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"表":{"docs":{},"现":{"docs":{},"并":{"docs":{},"不":{"docs":{},"好":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"或":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}},"配":{"docs":{},"置":{"docs":{},"中":{"docs":{},"的":{"docs":{},"超":{"docs":{},"时":{"docs":{},"时":{"docs":{},"间":{"docs":{},"对":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"无":{"docs":{},"效":{"docs":{},",":{"docs":{},"需":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"启":{"docs":{},"动":{"docs":{},"参":{"docs":{},"数":{"docs":{},"设":{"docs":{},"置":{"docs":{},":":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"考":{"docs":{},"手":{"docs":{},"册":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.018867924528301886}}}}}}}},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"相":{"docs":{},"比":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"2":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"百":{"docs":{},"分":{"docs":{},"比":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.012578616352201259}}}}}}}}},"docs":{}}}}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}}}}}}}},"o":{"docs":{},"g":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"本":{"docs":{},"身":{"docs":{},"也":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"服":{"docs":{},"务":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"本":{"docs":{},"身":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"普":{"docs":{},"通":{"docs":{},"的":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{},"第":{"docs":{},"三":{"docs":{},"方":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"使":{"docs":{},"整":{"docs":{},"体":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"方":{"docs":{},"式":{"docs":{},"一":{"docs":{},"致":{"docs":{},"。":{"docs":{"reference-registry/simple.html":{"ref":"reference-registry/simple.html","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}}}}}}}}},"d":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"=":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"j":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"4":{"docs":{},"j":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"=":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"映":{"docs":{},"射":{"docs":{},"文":{"docs":{},"件":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"高":{"docs":{},"于":{"docs":{},"中":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"1":{"docs":{},".":{"0":{"docs":{},".":{"1":{"5":{"docs":{},"及":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"支":{"docs":{},"持":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"=":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"4":{"docs":{},"j":{"docs":{"demos/日志适配.html":{"ref":"demos/日志适配.html","tf":0.07692307692307693}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}},"优":{"docs":{},"先":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"部":{"docs":{},"署":{"docs":{},"和":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"进":{"docs":{},"行":{"docs":{},"参":{"docs":{},"数":{"docs":{},"重":{"docs":{},"写":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"需":{"docs":{},"改":{"docs":{},"变":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"端":{"docs":{},"口":{"docs":{},"。":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"映":{"docs":{},"射":{"docs":{},"服":{"docs":{},"务":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}}}}}}}}}},"或":{"docs":{},"者":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"中":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"代":{"docs":{},"表":{"docs":{},"多":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"把":{"docs":{},"它":{"docs":{},"看":{"docs":{},"成":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"但":{"docs":{},"与":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"是":{"docs":{},",":{"docs":{},"它":{"docs":{},"的":{"docs":{},"值":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"动":{"docs":{},"态":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"推":{"docs":{},"送":{"docs":{},"变":{"docs":{},"更":{"docs":{},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}},"l":{"docs":{},"i":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"。":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"=":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"2":{"0":{"8":{"9":{"0":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.012012012012012012}},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}},",":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{"reference-maven/maven.html":{"ref":"reference-maven/maven.html","tf":0.05555555555555555}}}}}}}}}}}}}}}}},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.016129032258064516},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}},"i":{"docs":{},"c":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"n":{"docs":{},".":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},".":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"=":{"3":{"0":{"0":{"0":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"配":{"docs":{},"置":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"=":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"reference-maven/maven.html":{"ref":"reference-maven/maven.html","tf":0.05555555555555555}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"=":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{"reference-maven/maven.html":{"ref":"reference-maven/maven.html","tf":0.05555555555555555}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"9":{"0":{"9":{"9":{"docs":{"reference-maven/maven.html":{"ref":"reference-maven/maven.html","tf":0.05555555555555555}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{"reference-maven/maven.html":{"ref":"reference-maven/maven.html","tf":0.05555555555555555}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"n":{"docs":{},"监":{"docs":{},"控":{"docs":{},"服":{"docs":{},"务":{"docs":{},"在":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"上":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}},"c":{"docs":{},"k":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}},"等":{"docs":{},"系":{"docs":{},"统":{"docs":{},"集":{"docs":{},"成":{"docs":{},",":{"docs":{},"普":{"docs":{},"通":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"或":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},",":{"docs":{},"请":{"docs":{},"采":{"docs":{},"用":{"docs":{},"配":{"docs":{},"置":{"docs":{},"方":{"docs":{},"式":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},",":{"docs":{},"请":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"子":{"docs":{},"集":{"docs":{},",":{"docs":{},"便":{"docs":{},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"在":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"执":{"docs":{},"行":{"docs":{},"容":{"docs":{},"错":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"因":{"docs":{},"经":{"docs":{},"常":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"出":{"docs":{},"现":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"网":{"docs":{},"络":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"超":{"docs":{},"时":{"docs":{},"等":{"docs":{},")":{"docs":{},"时":{"docs":{},"进":{"docs":{},"行":{"docs":{},"容":{"docs":{},"错":{"docs":{},",":{"docs":{},"而":{"docs":{},"在":{"docs":{},"出":{"docs":{},"现":{"docs":{},"业":{"docs":{},"务":{"docs":{},"异":{"docs":{},"常":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"登":{"docs":{},"录":{"docs":{},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},"密":{"docs":{},"码":{"docs":{},"错":{"docs":{},"误":{"docs":{},")":{"docs":{},"时":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"容":{"docs":{},"错":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"捕":{"docs":{},"获":{"docs":{},"并":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"类":{"docs":{},",":{"docs":{},"而":{"docs":{},"用":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"它":{"docs":{},"的":{"docs":{},"约":{"docs":{},"定":{"docs":{},"就":{"docs":{},"是":{"docs":{},"只":{"docs":{},"有":{"docs":{},"出":{"docs":{},"现":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"时":{"docs":{},"才":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"降":{"docs":{},"级":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"某":{"docs":{},"验":{"docs":{},"权":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"当":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"全":{"docs":{},"部":{"docs":{},"挂":{"docs":{},"掉":{"docs":{},"后":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"不":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"通":{"docs":{},"过":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"数":{"docs":{},"据":{"docs":{},"返":{"docs":{},"回":{"docs":{},"授":{"docs":{},"权":{"docs":{},"失":{"docs":{},"败":{"docs":{},"。":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"+":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.05}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"+":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.05}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"缀":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{},"调":{"docs":{},"用":{"docs":{},"失":{"docs":{},"败":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},",":{"docs":{},"该":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"类":{"docs":{},"必":{"docs":{},"须":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"无":{"docs":{},"参":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"与":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"总":{"docs":{},"是":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"而":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"只":{"docs":{},"在":{"docs":{},"出":{"docs":{},"现":{"docs":{},"非":{"docs":{},"业":{"docs":{},"务":{"docs":{},"异":{"docs":{},"常":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"超":{"docs":{},"时":{"docs":{},",":{"docs":{},"网":{"docs":{},"络":{"docs":{},"异":{"docs":{},"常":{"docs":{},"等":{"docs":{},")":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"在":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"之":{"docs":{},"前":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"在":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564}},"e":{"docs":{},".":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564}}}}}}}}}},"e":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"l":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"[":{"docs":{},"]":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.028795811518324606}}}}},"x":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}},"p":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.020134228187919462},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.013793103448275862}},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"\"":{"docs":{},",":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"\"":{"docs":{},",":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}},",":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}},"中":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"为":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"为":{"docs":{},"过":{"docs":{},"期":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"判":{"docs":{},"断":{"docs":{},"脏":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"脏":{"docs":{},"数":{"docs":{},"据":{"docs":{},"由":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"删":{"docs":{},"除":{"docs":{},"。":{"docs":{},"(":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"时":{"docs":{},"间":{"docs":{},"必":{"docs":{},"需":{"docs":{},"同":{"docs":{},"步":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"过":{"docs":{},"期":{"docs":{},"检":{"docs":{},"测":{"docs":{},"会":{"docs":{},"不":{"docs":{},"准":{"docs":{},"确":{"docs":{},")":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"插":{"docs":{},"件":{"docs":{},"参":{"docs":{},"考":{"docs":{},"手":{"docs":{},"册":{"docs":{"reference-maven/maven.html":{"ref":"reference-maven/maven.html","tf":5}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},",":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}},"x":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"reference-registry/multicast.html":{"ref":"reference-registry/multicast.html","tf":5}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.009523809523809525}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}},"docs":{}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"1":{"0":{"0":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}},")":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},",":{"docs":{"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}}},"a":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}},"e":{"docs":{},",":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.09090909090909091}},"e":{"docs":{},";":{"docs":{"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.045454545454545456}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.047619047619047616}},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}},"/":{"docs":{},"/":{"docs":{"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":5}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"y":{"docs":{},":":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}},"y":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}}}}}}}}},"m":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}},"s":{"docs":{},"g":{"docs":{},")":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.011299435028248588},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.013793103448275862}}}},",":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.013793103448275862}}}}},"v":{"docs":{},"n":{"docs":{"reference-maven/maven.html":{"ref":"reference-maven/maven.html","tf":0.2222222222222222}}}},"b":{"docs":{},"p":{"docs":{},"s":{"docs":{},",":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"1":{"docs":{},".":{"docs":{},"h":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"x":{"docs":{},"y":{"docs":{},"i":{"docs":{},".":{"docs":{},"c":{"docs":{},"n":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},":":{"8":{"0":{"8":{"0":{"docs":{},"/":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"1":{"docs":{},".":{"0":{"docs":{},".":{"5":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.016129032258064516}},"r":{"docs":{},"y":{"docs":{},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"(":{"docs":{},"\"":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"3":{"0":{"docs":{},".":{"2":{"3":{"0":{"docs":{},":":{"9":{"0":{"9":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"b":{"docs":{},"b":{"docs":{},"b":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"a":{"docs":{},"a":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"1":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"?":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"&":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"&":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"demos/静态服务.html":{"ref":"demos/静态服务.html","tf":0.07142857142857142}}}}}},"&":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"=":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"=":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.047619047619047616}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"?":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"&":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"&":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"=":{"docs":{},"\"":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"?":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"&":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"&":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"&":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"=":{"1":{"0":{"0":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"+":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"1":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"?":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"&":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"&":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"&":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"=":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"&":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"=":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"demos/静态服务.html":{"ref":"demos/静态服务.html","tf":0.14285714285714285},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.009523809523809525},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.05263157894736842},"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.1},"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.09523809523809523},"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.1}}},"y":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"0":{"docs":{},":":{"2":{"1":{"8":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"demos/静态服务.html":{"ref":"demos/静态服务.html","tf":0.07142857142857142},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421},"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.05},"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.047619047619047616},"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.05}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.010471204188481676},"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425},"demos/静态服务.html":{"ref":"demos/静态服务.html","tf":0.14285714285714285},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.009523809523809525},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.05263157894736842},"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.1},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.09523809523809523},"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.1},"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.02631578947368421},"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332},"reference-registry/simple.html":{"ref":"reference-registry/simple.html","tf":0.18181818181818182}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},":":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}},"t":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.013793103448275862}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.015015015015015015},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.013422818791946308},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.03636363636363636},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}},"=":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"\"":{"docs":{},",":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"创":{"docs":{},"建":{"docs":{},"和":{"docs":{},"管":{"docs":{},"理":{"docs":{},"成":{"docs":{},"本":{"docs":{},":":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},"e":{"docs":{},"s":{"docs":{},"=":{"docs":{},"\"":{"2":{"docs":{},"\"":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{},";":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}}}}}}}},"docs":{}}}}}}},")":{"docs":{},";":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.05},"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.041666666666666664}},"s":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":5}}}}}},":":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}},"/":{"docs":{},"/":{"docs":{"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":5}}}}},"安":{"docs":{},"装":{"docs":{},"手":{"docs":{},"册":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"搭":{"docs":{},"一":{"docs":{},"个":{"docs":{},"原":{"docs":{},"生":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"期":{"docs":{},"数":{"docs":{},"据":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"文":{"docs":{},"件":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"配":{"docs":{},"置":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.020134228187919462},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.012578616352201259}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}},"f":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968}},"e":{"docs":{},"r":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.015957446808510637},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154},"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":3.354609929078014},"reference-registry/simple.html":{"ref":"reference-registry/simple.html","tf":0.09090909090909091}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213},"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},"(":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"3":{"0":{"docs":{},".":{"2":{"3":{"0":{"docs":{},":":{"2":{"0":{"8":{"8":{"0":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154},"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.015957446808510637},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154},"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.015957446808510637},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154},"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.06382978723404255}},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.0425531914893617}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{},"很":{"docs":{},"重":{"docs":{},",":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"与":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"以":{"docs":{},"及":{"docs":{},"与":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"重":{"docs":{},"复":{"docs":{},"生":{"docs":{},"成":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"可":{"docs":{},"能":{"docs":{},"造":{"docs":{},"成":{"docs":{},"性":{"docs":{},"能":{"docs":{},"问":{"docs":{},"题":{"docs":{},"并":{"docs":{},"且":{"docs":{},"会":{"docs":{},"有":{"docs":{},"内":{"docs":{},"存":{"docs":{},"和":{"docs":{},"连":{"docs":{},"接":{"docs":{},"泄":{"docs":{},"漏":{"docs":{},"。":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"方":{"docs":{},"式":{"docs":{},"编":{"docs":{},"程":{"docs":{},"时":{"docs":{},",":{"docs":{},"容":{"docs":{},"易":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"此":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"调":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"启":{"docs":{},"动":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}},"m":{"docs":{},"i":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549},"perf-test.html":{"ref":"perf-test.html","tf":0.012578616352201259}},"协":{"docs":{},"议":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}},"采":{"docs":{},"用":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},".":{"docs":{},"*":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"采":{"docs":{},"用":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"式":{"docs":{},"短":{"docs":{},"连":{"docs":{},"接":{"docs":{},"和":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"docs":{},"标":{"docs":{},"准":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"方":{"docs":{},"式":{"docs":{},"。":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}},"/":{"docs":{},"/":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":5}}}},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"负":{"docs":{},"责":{"docs":{},"从":{"docs":{},"多":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"按":{"docs":{},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{},"选":{"docs":{},"出":{"docs":{},"子":{"docs":{},"集":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"读":{"docs":{},"写":{"docs":{},"分":{"docs":{},"离":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"等":{"docs":{},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},")":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.009523809523809525}}}}}}}}}}}}}}}},"p":{"docs":{},"c":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564},"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.023809523809523808}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.023809523809523808}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.043478260869565216}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.023809523809523808}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"\"":{"docs":{},",":{"docs":{"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"的":{"docs":{},"临":{"docs":{},"时":{"docs":{},"状":{"docs":{},"态":{"docs":{},"记":{"docs":{},"录":{"docs":{},"器":{"docs":{},",":{"docs":{},"当":{"docs":{},"接":{"docs":{},"收":{"docs":{},"到":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"或":{"docs":{},"发":{"docs":{},"起":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},"都":{"docs":{},"会":{"docs":{},"变":{"docs":{},"化":{"docs":{},"。":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}}}}}}},"u":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},"e":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"=":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.029850746268656716}}}},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}},"m":{"docs":{},"a":{"docs":{},":":{"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":0.06666666666666667}}},"配":{"docs":{},"置":{"docs":{},"参":{"docs":{},"考":{"docs":{},"手":{"docs":{},"册":{"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":5}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"用":{"docs":{},"的":{"docs":{},"是":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"2":{"docs":{},".":{"0":{"docs":{},"及":{"docs":{},"以":{"docs":{},"前":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"需":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}},"a":{"docs":{},"y":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"@":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.006006006006006006}}}}}}}}}}}}}}}}}}}},"{":{"docs":{},"}":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.006006006006006006}}}}}}},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"2":{"docs":{},".":{"5":{"docs":{},"及":{"docs":{},"以":{"docs":{},"后":{"docs":{},"版":{"docs":{},"本":{"docs":{},"支":{"docs":{},"持":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}}}}}}}}}}}}}}},"docs":{},"x":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"死":{"docs":{},"锁":{"docs":{},"问":{"docs":{},"题":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":0.06666666666666667}}}}}}}}}}}},"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.05660377358490566},"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.006006006006006006}}}},"u":{"docs":{"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.045454545454545456},"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.02158273381294964},"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},"s":{"docs":{},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}},"命":{"docs":{},"令":{"docs":{},"所":{"docs":{},"检":{"docs":{},"查":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"参":{"docs":{},"考":{"docs":{},"手":{"docs":{},"册":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"l":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.07591623036649214}}}},"r":{"docs":{},"t":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105},"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.024},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.015015015015015015},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.026845637583892617},"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.045454545454545456},"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.047619047619047616},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.05555555555555555},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.05855855855855856},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.06829268292682927},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.056451612903225805},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.07142857142857142},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.11764705882352941},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.10256410256410256},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.06424581005586592},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.05333333333333334},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.035211267605633804},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421},"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.07692307692307693},"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}},"[":{"docs":{},"]":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.013422818791946308},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}},"{":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}}},"其":{"docs":{},"余":{"docs":{},"皆":{"docs":{},"通":{"docs":{},"过":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}},"场":{"docs":{},"景":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},")":{"docs":{},",":{"docs":{},"详":{"docs":{},"见":{"docs":{},"第":{"docs":{},"五":{"docs":{},"章":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.028795811518324606}}}}}}}},"u":{"docs":{},"b":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}},"必":{"docs":{},"须":{"docs":{},"有":{"docs":{},"可":{"docs":{},"传":{"docs":{},"入":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"。":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"n":{"docs":{},"(":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}},"\"":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"1":{"docs":{},":":{"docs":{},"\"":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}},"docs":{}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},":":{"docs":{},"\"":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},"r":{"docs":{},"v":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}},"i":{"docs":{},"c":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358},"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}},"\"":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"(":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"\"":{"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}}}},":":{"docs":{"reference-registry/simple.html":{"ref":"reference-registry/simple.html","tf":0.18181818181818182}}},")":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.014388489208633094}}},"配":{"docs":{},"置":{"docs":{},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},")":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},";":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095},"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547},"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}},"i":{"docs":{},"p":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}}}},":":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.058823529411764705},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.029850746268656716}}},"l":{"docs":{},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.010471204188481676},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}},"i":{"docs":{},"z":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}},"d":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}},"t":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.029850746268656716}},">":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}},"t":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"k":{"docs":{},"v":{"docs":{},",":{"docs":{},"在":{"docs":{},"完":{"docs":{},"成":{"docs":{},"下":{"docs":{},"面":{"docs":{},"一":{"docs":{},"次":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"会":{"docs":{},"被":{"docs":{},"清":{"docs":{},"空":{"docs":{},"。":{"docs":{},"即":{"docs":{},"多":{"docs":{},"次":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"要":{"docs":{},"多":{"docs":{},"次":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.047619047619047616},"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.05}}}}}}}},"n":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}},"=":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"\"":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"\"":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358},"reference-registry/simple.html":{"ref":"reference-registry/simple.html","tf":0.18181818181818182}},"e":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"reference-registry/simple.html":{"ref":"reference-registry/simple.html","tf":5}}}}}},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"i":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}},"和":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}}}},"z":{"docs":{},"e":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},":":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}},"u":{"docs":{},"n":{"docs":{},"的":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"于":{"docs":{},"g":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"f":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"中":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.016129032258064516}},"e":{"docs":{},",":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}},"l":{"docs":{},"f":{"4":{"docs":{},"j":{"docs":{"demos/日志适配.html":{"ref":"demos/日志适配.html","tf":0.07692307692307693},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176}}}},"docs":{}}}},"仓":{"docs":{},"库":{"docs":{},"用":{"docs":{},"于":{"docs":{},"存":{"docs":{},"储":{"docs":{},"服":{"docs":{},"务":{"docs":{},"应":{"docs":{},"用":{"docs":{},"发":{"docs":{},"布":{"docs":{},"包":{"docs":{},"。":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}},"伸":{"docs":{},"缩":{"docs":{},"性":{"docs":{},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}},"健":{"docs":{},"状":{"docs":{},"性":{"docs":{},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}},"升":{"docs":{},"级":{"docs":{},"性":{"docs":{},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"宕":{"docs":{},"掉":{"docs":{},"后":{"docs":{},",":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"仍":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"提":{"docs":{},"供":{"docs":{},"服":{"docs":{},"务":{"docs":{},"列":{"docs":{},"表":{"docs":{},"查":{"docs":{},"询":{"docs":{},",":{"docs":{},"但":{"docs":{},"不":{"docs":{},"能":{"docs":{},"注":{"docs":{},"册":{"docs":{},"新":{"docs":{},"服":{"docs":{},"务":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"讯":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}},"结":{"docs":{},"构":{"docs":{},":":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}},"及":{"docs":{},"注":{"docs":{},"册":{"docs":{},"服":{"docs":{},"务":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}},"服":{"docs":{},"务":{"docs":{"demos/服务分组.html":{"ref":"demos/服务分组.html","tf":0.2}},"容":{"docs":{},"器":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":5}},"负":{"docs":{},"责":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"运":{"docs":{},"行":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"。":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}},"只":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"并":{"docs":{},"加":{"docs":{},"载":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"单":{"docs":{},"的":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"容":{"docs":{},"器":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"程":{"docs":{},"序":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"后":{"docs":{},"台":{"docs":{},"服":{"docs":{},"务":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"或":{"docs":{},"j":{"docs":{},"b":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"等":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"容":{"docs":{},"器":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"硬":{"docs":{},"要":{"docs":{},"用":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"容":{"docs":{},"器":{"docs":{},"去":{"docs":{},"加":{"docs":{},"载":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},",":{"docs":{},"增":{"docs":{},"加":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"性":{"docs":{},",":{"docs":{},"也":{"docs":{},"浪":{"docs":{},"费":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"加":{"docs":{},"载":{"docs":{},"内":{"docs":{},"容":{"docs":{},"可":{"docs":{},"以":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"内":{"docs":{},"置":{"docs":{},"了":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}},"全":{"docs":{},"部":{"docs":{},"宕":{"docs":{},"掉":{"docs":{},"后":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"应":{"docs":{},"用":{"docs":{},"将":{"docs":{},"无":{"docs":{},"法":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"并":{"docs":{},"无":{"docs":{},"限":{"docs":{},"次":{"docs":{},"重":{"docs":{},"连":{"docs":{},"等":{"docs":{},"待":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"恢":{"docs":{},"复":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"注":{"docs":{},"册":{"docs":{},"其":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"并":{"docs":{},"汇":{"docs":{},"报":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"间":{"docs":{},"到":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"间":{"docs":{},"不":{"docs":{},"包":{"docs":{},"含":{"docs":{},"网":{"docs":{},"络":{"docs":{},"开":{"docs":{},"销":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"向":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"注":{"docs":{},"册":{"docs":{},"自":{"docs":{},"己":{"docs":{},"提":{"docs":{},"供":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}},"无":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"台":{"docs":{},"宕":{"docs":{},"掉":{"docs":{},"后":{"docs":{},",":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"使":{"docs":{},"用":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}},"可":{"docs":{},"动":{"docs":{},"态":{"docs":{},"增":{"docs":{},"加":{"docs":{},"机":{"docs":{},"器":{"docs":{},"部":{"docs":{},"署":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"将":{"docs":{},"推":{"docs":{},"送":{"docs":{},"新":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"信":{"docs":{},"息":{"docs":{},"给":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"配":{"docs":{},"置":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"类":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"声":{"docs":{},"明":{"docs":{},"多":{"docs":{},"个":{"docs":{},"|":{"docs":{},"标":{"docs":{},"签":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"|":{"docs":{},"中":{"docs":{},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"属":{"docs":{},"性":{"docs":{},"指":{"docs":{},"定":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"、":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"监":{"docs":{},"听":{"docs":{},"端":{"docs":{},"口":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},"配":{"docs":{},"置":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"类":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"初":{"docs":{},"次":{"docs":{},"注":{"docs":{},"册":{"docs":{},"时":{"docs":{},"为":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"需":{"docs":{},"人":{"docs":{},"工":{"docs":{},"启":{"docs":{},"用":{"docs":{},",":{"docs":{},"断":{"docs":{},"线":{"docs":{},"时":{"docs":{},",":{"docs":{},"将":{"docs":{},"不":{"docs":{},"会":{"docs":{},"被":{"docs":{},"自":{"docs":{},"动":{"docs":{},"删":{"docs":{},"除":{"docs":{},",":{"docs":{},"需":{"docs":{},"人":{"docs":{},"工":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"。":{"docs":{"demos/静态服务.html":{"ref":"demos/静态服务.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"实":{"docs":{},"现":{"docs":{},"示":{"docs":{},"例":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}},"配":{"docs":{},"置":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}},"示":{"docs":{},"例":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}},"与":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"共":{"docs":{},"享":{"docs":{},"服":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{},"分":{"docs":{},"层":{"docs":{},"。":{"docs":{},"如":{"docs":{},":":{"docs":{},"b":{"docs":{},"i":{"docs":{},"z":{"docs":{},"、":{"docs":{},"d":{"docs":{},"a":{"docs":{},"o":{"docs":{},"、":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},":":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"、":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},":":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"服":{"docs":{},"务":{"docs":{},"每":{"docs":{},"方":{"docs":{},"法":{"docs":{},"最":{"docs":{},"大":{"docs":{},"可":{"docs":{},"并":{"docs":{},"行":{"docs":{},"执":{"docs":{},"行":{"docs":{},"请":{"docs":{},"求":{"docs":{},"数":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}},"最":{"docs":{},"大":{"docs":{},"可":{"docs":{},"接":{"docs":{},"受":{"docs":{},"连":{"docs":{},"接":{"docs":{},"数":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}},"缺":{"docs":{},"省":{"docs":{},"值":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"类":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{},"该":{"docs":{},"标":{"docs":{},"签":{"docs":{},"为":{"docs":{},"|":{"docs":{},"和":{"docs":{},"|":{"docs":{},"标":{"docs":{},"签":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"值":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},":":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}},"列":{"docs":{},"表":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}},"方":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421},"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":0.07142857142857142}},"注":{"docs":{},"解":{"docs":{},":":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}}}},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}}}},"导":{"docs":{},"出":{"docs":{},"服":{"docs":{},"务":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"名":{"docs":{},"称":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"名":{"docs":{},"称":{"docs":{},"用":{"docs":{},"逗":{"docs":{},"号":{"docs":{},"分":{"docs":{},"隔":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"程":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"器":{"docs":{},"名":{"docs":{},"称":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"名":{"docs":{},"称":{"docs":{},"用":{"docs":{},"逗":{"docs":{},"号":{"docs":{},"分":{"docs":{},"隔":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"大":{"docs":{},"可":{"docs":{},"接":{"docs":{},"受":{"docs":{},"连":{"docs":{},"接":{"docs":{},"数":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"向":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"下":{"docs":{},",":{"docs":{},"添":{"docs":{},"加":{"docs":{},"当":{"docs":{},"前":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"应":{"docs":{},"将":{"docs":{},"d":{"docs":{},"a":{"docs":{},"o":{"docs":{},"或":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"等":{"docs":{},"异":{"docs":{},"常":{"docs":{},"抛":{"docs":{},"给":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},",":{"docs":{},"应":{"docs":{},"在":{"docs":{},"服":{"docs":{},"务":{"docs":{},"实":{"docs":{},"现":{"docs":{},"中":{"docs":{},"对":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"不":{"docs":{},"关":{"docs":{},"心":{"docs":{},"的":{"docs":{},"异":{"docs":{},"常":{"docs":{},"进":{"docs":{},"行":{"docs":{},"包":{"docs":{},"装":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"可":{"docs":{},"能":{"docs":{},"出":{"docs":{},"现":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"无":{"docs":{},"法":{"docs":{},"反":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"相":{"docs":{},"应":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"或":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"监":{"docs":{},"控":{"docs":{},"项":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"与":{"docs":{},"发":{"docs":{},"现":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"。":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}},"向":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"获":{"docs":{},"取":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"地":{"docs":{},"址":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"并":{"docs":{},"根":{"docs":{},"据":{"docs":{},"负":{"docs":{},"载":{"docs":{},"算":{"docs":{},"法":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},"汇":{"docs":{},"报":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"间":{"docs":{},"到":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"间":{"docs":{},"包":{"docs":{},"含":{"docs":{},"网":{"docs":{},"络":{"docs":{},"开":{"docs":{},"销":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},",":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"累":{"docs":{},"计":{"docs":{},"调":{"docs":{},"用":{"docs":{},"次":{"docs":{},"数":{"docs":{},"和":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"定":{"docs":{},"时":{"docs":{},"每":{"docs":{},"分":{"docs":{},"钟":{"docs":{},"发":{"docs":{},"送":{"docs":{},"一":{"docs":{},"次":{"docs":{},"统":{"docs":{},"计":{"docs":{},"数":{"docs":{},"据":{"docs":{},"到":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"。":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"向":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"自":{"docs":{},"己":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"从":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"地":{"docs":{},"址":{"docs":{},"列":{"docs":{},"表":{"docs":{},"中":{"docs":{},",":{"docs":{},"基":{"docs":{},"于":{"docs":{},"软":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"选":{"docs":{},"一":{"docs":{},"台":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"进":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"调":{"docs":{},"用":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"再":{"docs":{},"选":{"docs":{},"另":{"docs":{},"一":{"docs":{},"台":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"示":{"docs":{},"例":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}},"配":{"docs":{},"置":{"docs":{},"示":{"docs":{},"例":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"接":{"docs":{},"口":{"docs":{},"及":{"docs":{},"实":{"docs":{},"现":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.013793103448275862}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"服":{"docs":{},"务":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"类":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缺":{"docs":{},"省":{"docs":{},"值":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"类":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{},"该":{"docs":{},"标":{"docs":{},"签":{"docs":{},"为":{"docs":{},"|":{"docs":{},"标":{"docs":{},"签":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"值":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},":":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}},"方":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421},"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":0.07142857142857142}},"注":{"docs":{},"解":{"docs":{},":":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}}}},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}}}},"引":{"docs":{},"用":{"docs":{},"服":{"docs":{},"务":{"docs":{},"监":{"docs":{},"听":{"docs":{},"器":{"docs":{},"名":{"docs":{},"称":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"名":{"docs":{},"称":{"docs":{},"用":{"docs":{},"逗":{"docs":{},"号":{"docs":{},"分":{"docs":{},"隔":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}}}}}}}}},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"程":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"器":{"docs":{},"名":{"docs":{},"称":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"名":{"docs":{},"称":{"docs":{},"用":{"docs":{},"逗":{"docs":{},"号":{"docs":{},"分":{"docs":{},"隔":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"从":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},":":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"事":{"docs":{},"件":{"docs":{},"后":{"docs":{},",":{"docs":{},"从":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"下":{"docs":{},"获":{"docs":{},"取":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"地":{"docs":{},"址":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"将":{"docs":{},"服":{"docs":{},"务":{"docs":{},"强":{"docs":{},"制":{"docs":{},"转":{"docs":{},"型":{"docs":{},"为":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"$":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{},"测":{"docs":{},"试":{"docs":{},"该":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"是":{"docs":{},"可":{"docs":{},"用":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"容":{"docs":{},"器":{"docs":{},"。":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"定":{"docs":{},"义":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"元":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"多":{"docs":{},"个":{"docs":{},"协":{"docs":{},"议":{"docs":{},"暴":{"docs":{},"露":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"注":{"docs":{},"册":{"docs":{},"到":{"docs":{},"多":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}},"分":{"docs":{},"组":{"docs":{"demos/服务分组.html":{"ref":"demos/服务分组.html","tf":5}},",":{"docs":{},"当":{"docs":{},"一":{"docs":{},"个":{"docs":{},"接":{"docs":{},"口":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"分":{"docs":{},"组":{"docs":{},"区":{"docs":{},"分":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}},",":{"docs":{},"必":{"docs":{},"需":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"一":{"docs":{},"致":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"实":{"docs":{},"现":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421}}}},"调":{"docs":{},"用":{"docs":{},"超":{"docs":{},"时":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},")":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"过":{"docs":{},"时":{"docs":{},",":{"docs":{},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"只":{"docs":{},"在":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"示":{"docs":{},"例":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}},"名":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"本":{"docs":{},"地":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{},"名":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"执":{"docs":{},"行":{"docs":{},"本":{"docs":{},"地":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"如":{"docs":{},"本":{"docs":{},"地":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"等":{"docs":{},",":{"docs":{},"该":{"docs":{},"本":{"docs":{},"地":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"必":{"docs":{},"须":{"docs":{},"允":{"docs":{},"许":{"docs":{},"传":{"docs":{},"入":{"docs":{},"远":{"docs":{},"程":{"docs":{},"代":{"docs":{},"理":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"如":{"docs":{},":":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"失":{"docs":{},"败":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"名":{"docs":{},",":{"docs":{},"该":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"类":{"docs":{},"必":{"docs":{},"须":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"无":{"docs":{},"参":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},",":{"docs":{},"与":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"的":{"docs":{},"区":{"docs":{},"别":{"docs":{},"在":{"docs":{},"于":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"总":{"docs":{},"是":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"而":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"只":{"docs":{},"在":{"docs":{},"出":{"docs":{},"现":{"docs":{},"非":{"docs":{},"业":{"docs":{},"务":{"docs":{},"异":{"docs":{},"常":{"docs":{},"(":{"docs":{},"比":{"docs":{},"如":{"docs":{},"超":{"docs":{},"时":{"docs":{},",":{"docs":{},"网":{"docs":{},"络":{"docs":{},"异":{"docs":{},"常":{"docs":{},"等":{"docs":{},")":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"在":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"之":{"docs":{},"前":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"在":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"后":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"增":{"docs":{},"加":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"或":{"docs":{},"服":{"docs":{},"务":{"docs":{},"模":{"docs":{},"型":{"docs":{},"增":{"docs":{},"加":{"docs":{},"字":{"docs":{},"段":{"docs":{},",":{"docs":{},"可":{"docs":{},"向":{"docs":{},"后":{"docs":{},"兼":{"docs":{},"容":{"docs":{},",":{"docs":{},"删":{"docs":{},"除":{"docs":{},"方":{"docs":{},"法":{"docs":{},"或":{"docs":{},"删":{"docs":{},"除":{"docs":{},"字":{"docs":{},"段":{"docs":{},",":{"docs":{},"将":{"docs":{},"不":{"docs":{},"兼":{"docs":{},"容":{"docs":{},",":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"类":{"docs":{},"型":{"docs":{},"新":{"docs":{},"增":{"docs":{},"字":{"docs":{},"段":{"docs":{},"也":{"docs":{},"不":{"docs":{},"兼":{"docs":{},"容":{"docs":{},",":{"docs":{},"需":{"docs":{},"通":{"docs":{},"过":{"docs":{},"变":{"docs":{},"更":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"升":{"docs":{},"级":{"docs":{},"。":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"大":{"docs":{},"粒":{"docs":{},"度":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"方":{"docs":{},"法":{"docs":{},"应":{"docs":{},"代":{"docs":{},"表":{"docs":{},"一":{"docs":{},"个":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"某":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"步":{"docs":{},"骤":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"将":{"docs":{},"面":{"docs":{},"临":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"事":{"docs":{},"务":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"暂":{"docs":{},"未":{"docs":{},"提":{"docs":{},"供":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"事":{"docs":{},"务":{"docs":{},"支":{"docs":{},"持":{"docs":{},"。":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"议":{"docs":{},"以":{"docs":{},"业":{"docs":{},"务":{"docs":{},"场":{"docs":{},"景":{"docs":{},"为":{"docs":{},"单":{"docs":{},"位":{"docs":{},"划":{"docs":{},"分":{"docs":{},",":{"docs":{},"并":{"docs":{},"对":{"docs":{},"相":{"docs":{},"近":{"docs":{},"业":{"docs":{},"务":{"docs":{},"做":{"docs":{},"抽":{"docs":{},"象":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"接":{"docs":{},"口":{"docs":{},"数":{"docs":{},"量":{"docs":{},"爆":{"docs":{},"炸":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"寄":{"docs":{},"宿":{"docs":{},"在":{"docs":{},"应":{"docs":{},"用":{"docs":{},"上":{"docs":{},",":{"docs":{},"只":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"整":{"docs":{},"个":{"docs":{},"集":{"docs":{},"群":{"docs":{},"挂":{"docs":{},"掉":{"docs":{},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},",":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}},"者":{"docs":{},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{},"分":{"docs":{},"层":{"docs":{},"。":{"docs":{},"如":{"docs":{},":":{"docs":{},"b":{"docs":{},"i":{"docs":{},"z":{"docs":{},"、":{"docs":{},"d":{"docs":{},"a":{"docs":{},"o":{"docs":{},"、":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},":":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"、":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},":":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"降":{"docs":{},"级":{"docs":{"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":5}},":":{"docs":{},"(":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"临":{"docs":{},"时":{"docs":{},"屏":{"docs":{},"蔽":{"docs":{},"某":{"docs":{},"个":{"docs":{},"出":{"docs":{},"错":{"docs":{},"的":{"docs":{},"非":{"docs":{},"关":{"docs":{},"键":{"docs":{},"服":{"docs":{},"务":{"docs":{},")":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}},"发":{"docs":{},"现":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.01984126984126984},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.013513513513513514},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.014634146341463415},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.024193548387096774},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.0111731843575419}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"该":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},"用":{"docs":{},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"与":{"docs":{},"发":{"docs":{},"现":{"docs":{},",":{"docs":{},"目":{"docs":{},"的":{"docs":{},"是":{"docs":{},"让":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"找":{"docs":{},"到":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"。":{"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"治":{"docs":{},"理":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.03968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.04054054054054054},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.01951219512195122},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.056451612903225805},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.07142857142857142},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.08823529411764706},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.10256410256410256},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.030726256983240222},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.04},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.028169014084507043},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421},"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.07692307692307693}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"该":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},"用":{"docs":{},"于":{"docs":{},"治":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"间":{"docs":{},"的":{"docs":{},"关":{"docs":{},"系":{"docs":{},",":{"docs":{},"或":{"docs":{},"为":{"docs":{},"开":{"docs":{},"发":{"docs":{},"测":{"docs":{},"试":{"docs":{},"提":{"docs":{},"供":{"docs":{},"便":{"docs":{},"利":{"docs":{},"条":{"docs":{},"件":{"docs":{},"。":{"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"象":{"docs":{},"实":{"docs":{},"现":{"docs":{},"引":{"docs":{},"用":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968}}}}}}}},"文":{"docs":{},"档":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}},"是":{"docs":{},"否":{"docs":{},"动":{"docs":{},"态":{"docs":{},"注":{"docs":{},"册":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"注":{"docs":{},"册":{"docs":{},"后":{"docs":{},"将":{"docs":{},"显":{"docs":{},"示":{"docs":{},"后":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"需":{"docs":{},"人":{"docs":{},"工":{"docs":{},"启":{"docs":{},"用":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"停":{"docs":{},"止":{"docs":{},"时":{"docs":{},",":{"docs":{},"也":{"docs":{},"不":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"取":{"docs":{},"消":{"docs":{},"册":{"docs":{},",":{"docs":{},"需":{"docs":{},"人":{"docs":{},"工":{"docs":{},"禁":{"docs":{},"用":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"引":{"docs":{},"用":{"docs":{},"时":{"docs":{},"将":{"docs":{},"打":{"docs":{},"印":{"docs":{},"服":{"docs":{},"务":{"docs":{},"过":{"docs":{},"时":{"docs":{},"警":{"docs":{},"告":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"日":{"docs":{},"志":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"权":{"docs":{},"重":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{},"两":{"docs":{},"位":{"docs":{},"数":{"docs":{},"字":{"docs":{},"版":{"docs":{},"本":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"1":{"docs":{},".":{"0":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"在":{"docs":{},"接":{"docs":{},"口":{"docs":{},"不":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"时":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"才":{"docs":{},"需":{"docs":{},"要":{"docs":{},"升":{"docs":{},"级":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}},"与":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"一":{"docs":{},"致":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}}}}}}}},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"治":{"docs":{},"理":{"docs":{},",":{"docs":{},"请":{"docs":{},"填":{"docs":{},"写":{"docs":{},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{},"公":{"docs":{},"司":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},"前":{"docs":{},"缀":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}},"路":{"docs":{},"径":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968}}}},"引":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}},"主":{"docs":{},"机":{"docs":{},"名":{"docs":{},",":{"docs":{},"多":{"docs":{},"网":{"docs":{},"卡":{"docs":{},"选":{"docs":{},"择":{"docs":{},"或":{"docs":{},"指":{"docs":{},"定":{"docs":{},"v":{"docs":{},"i":{"docs":{},"p":{"docs":{},"及":{"docs":{},"域":{"docs":{},"名":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"为":{"docs":{},"空":{"docs":{},"则":{"docs":{},"自":{"docs":{},"动":{"docs":{},"查":{"docs":{},"找":{"docs":{},"本":{"docs":{},"机":{"docs":{},"i":{"docs":{},"p":{"docs":{},",":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}},"建":{"docs":{},"议":{"docs":{},"不":{"docs":{},"要":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"让":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"自":{"docs":{},"动":{"docs":{},"获":{"docs":{},"取":{"docs":{},"本":{"docs":{},"机":{"docs":{},"i":{"docs":{},"p":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"端":{"docs":{},"口":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}}},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"大":{"docs":{},"小":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.018867924528301886}},"(":{"docs":{},"固":{"docs":{},"定":{"docs":{},"大":{"docs":{},"小":{"docs":{},")":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}},"器":{"docs":{},",":{"docs":{},"并":{"docs":{},"将":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"从":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"l":{"docs":{},":":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"*":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"和":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"u":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"事":{"docs":{},"件":{"docs":{},"后":{"docs":{},",":{"docs":{},"从":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"下":{"docs":{},"获":{"docs":{},"取":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"地":{"docs":{},"址":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"和":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"事":{"docs":{},"件":{"docs":{},"后":{"docs":{},",":{"docs":{},"从":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},":":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"下":{"docs":{},"获":{"docs":{},"取":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"地":{"docs":{},"址":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"化":{"docs":{},"最":{"docs":{},"佳":{"docs":{},"实":{"docs":{},"践":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":5}}}}}}},"协":{"docs":{},"议":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}},"参":{"docs":{},"数":{"docs":{},"及":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"不":{"docs":{},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"数":{"docs":{},"据":{"docs":{},"模":{"docs":{},"型":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"的":{"docs":{},"意":{"docs":{},"义":{"docs":{},"不":{"docs":{},"大":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"需":{"docs":{},"要":{"docs":{},"接":{"docs":{},"口":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"的":{"docs":{},"元":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"并":{"docs":{},"不":{"docs":{},"能":{"docs":{},"起":{"docs":{},"到":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"意":{"docs":{},"图":{"docs":{},"。":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{},"p":{"docs":{},"o":{"docs":{},"j":{"docs":{},"o":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"即":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},",":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"方":{"docs":{},"法":{"docs":{},"表":{"docs":{},"示":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"必":{"docs":{},"需":{"docs":{},"是":{"docs":{},"b":{"docs":{},"y":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"的":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"能":{"docs":{},"是":{"docs":{},"b":{"docs":{},"y":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"的":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"和":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"或":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"引":{"docs":{},"用":{"docs":{},"并":{"docs":{},"不":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"值":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"引":{"docs":{},"用":{"docs":{},"远":{"docs":{},"程":{"docs":{},"对":{"docs":{},"象":{"docs":{},"。":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"力":{"docs":{},"治":{"docs":{},"理":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}},"架":{"docs":{},"构":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":5}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"为":{"docs":{},"对":{"docs":{},"等":{"docs":{},"集":{"docs":{},"群":{"docs":{},",":{"docs":{},"可":{"docs":{},"动":{"docs":{},"态":{"docs":{},"增":{"docs":{},"加":{"docs":{},"机":{"docs":{},"器":{"docs":{},"部":{"docs":{},"署":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"发":{"docs":{},"现":{"docs":{},"新":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"全":{"docs":{},"部":{"docs":{},"宕":{"docs":{},"掉":{"docs":{},"后":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"和":{"docs":{},"服":{"docs":{},"务":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"仍":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"本":{"docs":{},"地":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"通":{"docs":{},"讯":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"全":{"docs":{},"部":{"docs":{},"宕":{"docs":{},"机":{"docs":{},",":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"已":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"和":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"了":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"列":{"docs":{},"表":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"是":{"docs":{},"可":{"docs":{},"选":{"docs":{},"的":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"连":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"等":{"docs":{},"集":{"docs":{},"群":{"docs":{},",":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"台":{"docs":{},"宕":{"docs":{},"掉":{"docs":{},"后":{"docs":{},",":{"docs":{},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"台":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}},"负":{"docs":{},"责":{"docs":{},"服":{"docs":{},"务":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"与":{"docs":{},"查":{"docs":{},"找":{"docs":{},",":{"docs":{},"相":{"docs":{},"当":{"docs":{},"于":{"docs":{},"目":{"docs":{},"录":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"和":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"只":{"docs":{},"在":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"与":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"交":{"docs":{},"互":{"docs":{},",":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"不":{"docs":{},"转":{"docs":{},"发":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"压":{"docs":{},"力":{"docs":{},"较":{"docs":{},"小":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"返":{"docs":{},"回":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"地":{"docs":{},"址":{"docs":{},"列":{"docs":{},"表":{"docs":{},"给":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"变":{"docs":{},"更":{"docs":{},",":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"将":{"docs":{},"基":{"docs":{},"于":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"推":{"docs":{},"送":{"docs":{},"变":{"docs":{},"更":{"docs":{},"数":{"docs":{},"据":{"docs":{},"给":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"。":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"感":{"docs":{},"知":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"宕":{"docs":{},"机":{"docs":{},",":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"将":{"docs":{},"立":{"docs":{},"即":{"docs":{},"推":{"docs":{},"送":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"三":{"docs":{},"者":{"docs":{},"之":{"docs":{},"间":{"docs":{},"均":{"docs":{},"为":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"除":{"docs":{},"外":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"配":{"docs":{},"置":{"docs":{},"连":{"docs":{},"接":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"相":{"docs":{},"关":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"类":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"声":{"docs":{},"明":{"docs":{},"多":{"docs":{},"个":{"docs":{},"|":{"docs":{},"标":{"docs":{},"签":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"|":{"docs":{},"或":{"docs":{},"|":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"属":{"docs":{},"性":{"docs":{},"指":{"docs":{},"定":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"灵":{"docs":{},"活":{"docs":{},"改":{"docs":{},"变":{"docs":{},"授":{"docs":{},"权":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"需":{"docs":{},"修":{"docs":{},"改":{"docs":{},"或":{"docs":{},"升":{"docs":{},"级":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{"demos/令牌验证.html":{"ref":"demos/令牌验证.html","tf":0.16666666666666666}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"时":{"docs":{},",":{"docs":{},"是":{"docs":{},"否":{"docs":{},"报":{"docs":{},"错":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}},"会":{"docs":{},"话":{"docs":{},"超":{"docs":{},"时":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"检":{"docs":{},"测":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"非":{"docs":{},"正":{"docs":{},"常":{"docs":{},"断":{"docs":{},"线":{"docs":{},"后":{"docs":{},"的":{"docs":{},"脏":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"用":{"docs":{},"心":{"docs":{},"跳":{"docs":{},"检":{"docs":{},"测":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"间":{"docs":{},"就":{"docs":{},"是":{"docs":{},"心":{"docs":{},"跳":{"docs":{},"间":{"docs":{},"隔":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"实":{"docs":{},"现":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"地":{"docs":{},"址":{"docs":{},"没":{"docs":{},"有":{"docs":{},"端":{"docs":{},"口":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"为":{"9":{"0":{"9":{"0":{"docs":{},",":{"docs":{},"同":{"docs":{},"一":{"docs":{},"集":{"docs":{},"群":{"docs":{},"内":{"docs":{},"的":{"docs":{},"多":{"docs":{},"个":{"docs":{},"地":{"docs":{},"址":{"docs":{},"用":{"docs":{},"逗":{"docs":{},"号":{"docs":{},"分":{"docs":{},"隔":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"i":{"docs":{},"p":{"docs":{},":":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{},"i":{"docs":{},"p":{"docs":{},":":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"集":{"docs":{},"群":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"请":{"docs":{},"配":{"docs":{},"置":{"docs":{},"多":{"docs":{},"个":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"缺":{"docs":{},"省":{"docs":{},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"当":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"没":{"docs":{},"有":{"docs":{},"带":{"docs":{},"端":{"docs":{},"口":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},"此":{"docs":{},"端":{"docs":{},"口":{"docs":{},"做":{"docs":{},"为":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"值":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"超":{"docs":{},"时":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},")":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}}},"参":{"docs":{},"考":{"docs":{},"手":{"docs":{},"册":{"docs":{"reference-registry/introduction.html":{"ref":"reference-registry/introduction.html","tf":5}}}}}},"地":{"docs":{},"址":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}},"的":{"docs":{},"列":{"docs":{},"表":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}},"订":{"docs":{},"阅":{"docs":{},"失":{"docs":{},"败":{"docs":{},"时":{"docs":{},"报":{"docs":{},"错":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"如":{"docs":{},"果":{"docs":{},"获":{"docs":{},"取":{"docs":{},"不":{"docs":{},"正":{"docs":{},"确":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"需":{"docs":{},"要":{"docs":{},"注":{"docs":{},"册":{"docs":{},"公":{"docs":{},"网":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},":":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}},"意":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}},"声":{"docs":{},"明":{"docs":{},":":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"n":{"docs":{},"s":{"docs":{},":":{"docs":{},"p":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"/":{"docs":{},"p":{"docs":{},"\"":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"为":{"docs":{},"重":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"与":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"与":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"为":{"docs":{},"重":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"内":{"docs":{},"部":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"与":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"开":{"docs":{},"启":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"口":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"此":{"docs":{},"代":{"docs":{},"理":{"docs":{},"对":{"docs":{},"象":{"docs":{},"内":{"docs":{},"部":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"细":{"docs":{},"节":{"docs":{},",":{"docs":{},"对":{"docs":{},"象":{"docs":{},"较":{"docs":{},"重":{"docs":{},",":{"docs":{},"请":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"复":{"docs":{},"用":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},"是":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"等":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"泛":{"docs":{},"型":{"docs":{},",":{"docs":{},"可":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"属":{"docs":{},"性":{"docs":{},"指":{"docs":{},"定":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"发":{"docs":{},"起":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"状":{"docs":{},"态":{"docs":{},"会":{"docs":{},"变":{"docs":{},"化":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.023809523809523808}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"与":{"docs":{},"服":{"docs":{},"务":{"docs":{},"引":{"docs":{},"用":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"声":{"docs":{},"明":{"docs":{"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"只":{"docs":{},"能":{"docs":{},"有":{"docs":{},"一":{"docs":{},"条":{"docs":{},"白":{"docs":{},"名":{"docs":{},"单":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"两":{"docs":{},"条":{"docs":{},"规":{"docs":{},"则":{"docs":{},"交":{"docs":{},"叉":{"docs":{},",":{"docs":{},"就":{"docs":{},"都":{"docs":{},"被":{"docs":{},"筛":{"docs":{},"选":{"docs":{},"掉":{"docs":{},"了":{"docs":{},")":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"有":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"是":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"三":{"docs":{},"者":{"docs":{},"决":{"docs":{},"定":{"docs":{},"是":{"docs":{},"不":{"docs":{},"是":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},"均":{"docs":{},"为":{"docs":{},"调":{"docs":{},"优":{"docs":{},"和":{"docs":{},"治":{"docs":{},"理":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"区":{"docs":{},"别":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}},"为":{"docs":{},"了":{"docs":{},"避":{"docs":{},"免":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"化":{"docs":{},"线":{"docs":{},"上":{"docs":{},"环":{"docs":{},"境":{"docs":{},",":{"docs":{},"不":{"docs":{},"要":{"docs":{},"在":{"docs":{},"线":{"docs":{},"上":{"docs":{},"使":{"docs":{},"用":{"docs":{},"这":{"docs":{},"个":{"docs":{},"功":{"docs":{},"能":{"docs":{},",":{"docs":{},"只":{"docs":{},"应":{"docs":{},"在":{"docs":{},"测":{"docs":{},"试":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"!":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"派":{"docs":{},"发":{"docs":{},"请":{"docs":{},"求":{"docs":{},":":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"下":{"docs":{},"面":{"docs":{},"只":{"docs":{},"列":{"docs":{},"出":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"地":{"docs":{},"方":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"参":{"docs":{},"见":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"写":{"docs":{},"法":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},",":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},",":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},",":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"几":{"docs":{},"个":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"有":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{},"其":{"docs":{},"它":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"值":{"docs":{},"。":{"docs":{"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"配":{"docs":{},"置":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":5}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}},":":{"docs":{"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421}}},"同":{"docs":{},"中":{"docs":{},"心":{"docs":{},"地":{"docs":{},"址":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},",":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"宕":{"docs":{},"掉":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"丢":{"docs":{},"失":{"docs":{},"部":{"docs":{},"分":{"docs":{},"采":{"docs":{},"样":{"docs":{},"数":{"docs":{},"据":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}},"负":{"docs":{},"责":{"docs":{},"统":{"docs":{},"计":{"docs":{},"各":{"docs":{},"服":{"docs":{},"务":{"docs":{},"调":{"docs":{},"用":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"间":{"docs":{},"等":{"docs":{},",":{"docs":{},"统":{"docs":{},"计":{"docs":{},"先":{"docs":{},"在":{"docs":{},"内":{"docs":{},"存":{"docs":{},"汇":{"docs":{},"总":{"docs":{},"后":{"docs":{},"每":{"docs":{},"分":{"docs":{},"钟":{"docs":{},"一":{"docs":{},"次":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"并":{"docs":{},"以":{"docs":{},"报":{"docs":{},"表":{"docs":{},"展":{"docs":{},"示":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"配":{"docs":{},"置":{"docs":{},"连":{"docs":{},"接":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"相":{"docs":{},"关":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"可":{"docs":{},"选":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"类":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"=":{"docs":{},"\"":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"\"":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"从":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"发":{"docs":{},"现":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"直":{"docs":{},"连":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},":":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}},"通":{"docs":{},"过":{"docs":{},"p":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"功":{"docs":{},"能":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"*":{"docs":{},",":{"docs":{},"会":{"docs":{},"收":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"变":{"docs":{},"更":{"docs":{},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"端":{"docs":{},"口":{"docs":{},"状":{"docs":{},"态":{"docs":{},":":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}},"统":{"docs":{},"一":{"docs":{},"管":{"docs":{},"理":{"docs":{},"控":{"docs":{},"制":{"docs":{},"台":{"docs":{},"。":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}},"计":{"1":{"0":{"docs":{},"次":{"docs":{},"服":{"docs":{},"务":{"docs":{},"任":{"docs":{},"意":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}}},"docs":{},"次":{"docs":{},"服":{"docs":{},"务":{"docs":{},"任":{"docs":{},"意":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}}},"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"次":{"docs":{},"调":{"docs":{},"和":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"间":{"docs":{},"的":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"。":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}},"于":{"docs":{"coveragence.html":{"ref":"coveragence.html","tf":0.16666666666666666}}}}},"自":{"docs":{},"动":{"docs":{},"部":{"docs":{},"署":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"本":{"docs":{},"地":{"docs":{},"代":{"docs":{},"理":{"docs":{},"。":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}},"配":{"docs":{},"置":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"4":{"docs":{},"j":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"在":{"docs":{},"多":{"docs":{},"进":{"docs":{},"程":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"自":{"docs":{},"动":{"docs":{},"给":{"docs":{},"日":{"docs":{},"志":{"docs":{},"文":{"docs":{},"件":{"docs":{},"按":{"docs":{},"进":{"docs":{},"程":{"docs":{},"分":{"docs":{},"目":{"docs":{},"录":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}},"。":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}},"暴":{"docs":{},"露":{"docs":{},"、":{"docs":{},"引":{"docs":{},"用":{"docs":{},"本":{"docs":{},"地":{"docs":{},"服":{"docs":{},"务":{"docs":{"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625}}}}}}}}}}},"查":{"docs":{},"找":{"docs":{},"本":{"docs":{},"机":{"docs":{},"i":{"docs":{},"p":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}},"节":{"docs":{},"点":{"docs":{},"角":{"docs":{},"色":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}},"调":{"docs":{},"度":{"docs":{},"中":{"docs":{},"心":{"docs":{},"基":{"docs":{},"于":{"docs":{},"访":{"docs":{},"问":{"docs":{},"压":{"docs":{},"力":{"docs":{},"自":{"docs":{},"动":{"docs":{},"增":{"docs":{},"减":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"。":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}},"用":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}},"关":{"docs":{},"系":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"。":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}}}}}}}}}},"信":{"docs":{},"息":{"docs":{},"丢":{"docs":{},"失":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}},"代":{"docs":{},"码":{"docs":{},":":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}},"服":{"docs":{},"务":{"docs":{},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"治":{"docs":{},"理":{"docs":{},",":{"docs":{},"请":{"docs":{},"填":{"docs":{},"写":{"docs":{},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{},"公":{"docs":{},"司":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},"前":{"docs":{},"缀":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"(":{"docs":{},"自":{"docs":{},"动":{"docs":{},"查":{"docs":{},"找":{"docs":{},"包":{"docs":{},"含":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},")":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}},"过":{"docs":{},"程":{"docs":{},":":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}},"超":{"docs":{},"时":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}},"整":{"docs":{},"权":{"docs":{},"重":{"docs":{},":":{"docs":{},"(":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"容":{"docs":{},"量":{"docs":{},"评":{"docs":{},"估":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"权":{"docs":{},"重":{"docs":{},"为":{"1":{"0":{"0":{"docs":{},")":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"策":{"docs":{},"略":{"docs":{},":":{"docs":{},"(":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"策":{"docs":{},"略":{"docs":{},"为":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},")":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"通":{"docs":{},"性":{"docs":{},":":{"docs":{"preface/architacture.html":{"ref":"preface/architacture.html","tf":0.0196078431372549}}}}},"接":{"docs":{},"控":{"docs":{},"制":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/连接控制.html":{"ref":"demos/连接控制.html","tf":5}}}},"数":{"docs":{},"控":{"docs":{},"制":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"配":{"docs":{},"置":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425}}}}}}}},"个":{"docs":{},"数":{"docs":{},":":{"docs":{},"单":{"docs":{},"连":{"docs":{},"接":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}},"多":{"docs":{},"连":{"docs":{},"接":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564},"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}},"方":{"docs":{},"式":{"docs":{},":":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}},"短":{"docs":{},"连":{"docs":{},"接":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564},"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}},"\"":{"1":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421}}}}},".":{"6":{"docs":{},".":{"0":{"docs":{},"_":{"1":{"8":{"docs":{},"\"":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}},"/":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}},"^":{"docs":{},"\\":{"docs":{},"\\":{"docs":{},"s":{"docs":{},"*":{"docs":{},"\\":{"docs":{},"\\":{"docs":{},"w":{"docs":{},"+":{"docs":{},"(":{"docs":{},"?":{"docs":{},":":{"docs":{},"\\":{"docs":{},"\\":{"docs":{},".":{"docs":{},"{":{"0":{"docs":{},",":{"1":{"docs":{},"}":{"docs":{},"[":{"docs":{},"\\":{"docs":{},"\\":{"docs":{},"w":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}},"r":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"`":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"\"":{"docs":{},",":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"\"":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}},"e":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.013422818791946308}}}}}}}},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.013422818791946308}}}}}}}},"容":{"docs":{},"错":{"docs":{},"数":{"docs":{},"据":{"docs":{},"\"":{"docs":{},";":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}},")":{"docs":{},")":{"docs":{},";":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}},"=":{"docs":{},">":{"docs":{},"\"":{"docs":{},"之":{"docs":{},"前":{"docs":{},"的":{"docs":{},"为":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"参":{"docs":{},"数":{"docs":{},"和":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"进":{"docs":{},"行":{"docs":{},"对":{"docs":{},"比":{"docs":{},",":{"docs":{},"当":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"满":{"docs":{},"足":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"条":{"docs":{},"件":{"docs":{},"时":{"docs":{},",":{"docs":{},"对":{"docs":{},"该":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"执":{"docs":{},"行":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"过":{"docs":{},"滤":{"docs":{},"规":{"docs":{},"则":{"docs":{},"。":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"后":{"docs":{},"为":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"地":{"docs":{},"址":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"过":{"docs":{},"滤":{"docs":{},"条":{"docs":{},"件":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"参":{"docs":{},"数":{"docs":{},"和":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"进":{"docs":{},"行":{"docs":{},"对":{"docs":{},"比":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"最":{"docs":{},"终":{"docs":{},"只":{"docs":{},"拿":{"docs":{},"到":{"docs":{},"过":{"docs":{},"滤":{"docs":{},"后":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"?":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"&":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"&":{"docs":{},"r":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"=":{"docs":{},"\"":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.014388489208633094}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}},"+":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.05154639175257732},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.011299435028248588},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.014285714285714285},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.008379888268156424}}},"/":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.017543859649122806}},"/":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.032},"configuration/api.html":{"ref":"configuration/api.html","tf":0.13829787234042554},"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.04804804804804805},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.06040268456375839},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.09090909090909091},"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.13636363636363635},"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.17857142857142858},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.15789473684210525},"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.17391304347826086},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.01694915254237288},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.09090909090909091},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.041666666666666664},"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.06382978723404255}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{},";":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}}}}}},"*":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"/":{"docs":{},"s":{"docs":{},"d":{"docs":{},"a":{"docs":{},":":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}},"=":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.032},"configuration/api.html":{"ref":"configuration/api.html","tf":0.06914893617021277},"demos/静态服务.html":{"ref":"demos/静态服务.html","tf":0.14285714285714285},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.05405405405405406},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.0738255033557047},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.03636363636363636},"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.13636363636363635},"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.08333333333333333},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421},"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.08695652173913043},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.022598870056497175},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.04827586206896552},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.041666666666666664},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.10952380952380952},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.05263157894736842},"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.1},"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.1276595744680851},"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.017543859649122806},"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.09523809523809523},"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.1},"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}},">":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.07142857142857142}}}},"e":{"5":{"5":{"2":{"0":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"d":{"docs":{},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/静态服务.html":{"ref":"demos/静态服务.html","tf":0.07142857142857142},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421},"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.05},"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.047619047619047616},"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"s":{"docs":{},"/":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"g":{"docs":{"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":0.07142857142857142}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705}}}},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.009009009009009009}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"reference-registry/simple.html":{"ref":"reference-registry/simple.html","tf":0.09090909090909091}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}},")":{"docs":{},";":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}},",":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.013793103448275862}}},"i":{"docs":{},"t":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}},"s":{"docs":{},"b":{"docs":{},",":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.009009009009009009}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}},"s":{"docs":{},".":{"docs":{},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.09090909090909091}},"e":{"docs":{},".":{"docs":{},"$":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"o":{"docs":{},"k":{"docs":{},"\"":{"docs":{},")":{"docs":{},";":{"docs":{"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}},"y":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.029411764705882353},"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}},"t":{"docs":{},"h":{"0":{"docs":{},":":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},")":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}},";":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}},";":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.009009009009009009},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.020134228187919462}}},"=":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}}}}}}}}}}}},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}}}}}},"e":{"docs":{},"w":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016},"configuration/api.html":{"ref":"configuration/api.html","tf":0.06382978723404255},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.006006006006006006},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.06711409395973154},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.03636363636363636},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.02824858757062147},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.020689655172413793},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.0425531914893617}}},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}},",":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}},"i":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.020689655172413793}}},"y":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},";":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}},"。":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}},"等":{"docs":{},"。":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}}}}}}}}}}}}},"/":{"docs":{},"a":{"docs":{"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571}}}},"c":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547},"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},";":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"o":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},";":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},":":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"2":{"docs":{},".":{"5":{"docs":{},".":{"6":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"0":{"3":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}},"docs":{}},"docs":{}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"3":{"docs":{},".":{"1":{"5":{"docs":{},".":{"0":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"3":{"docs":{},".":{"2":{"docs":{},".":{"5":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"x":{"docs":{},"f":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.029850746268656716}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.029411764705882353},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.05128205128205128}}}}},":":{"docs":{"reference-registry/simple.html":{"ref":"reference-registry/simple.html","tf":0.09090909090909091}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},":":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}},"/":{"docs":{},"/":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"?":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"&":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"&":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"&":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"=":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"+":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"0":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"?":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"=":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"s":{"docs":{},"&":{"docs":{},"d":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"i":{"docs":{},"c":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"&":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"=":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{},"=":{"2":{"0":{"0":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.020134228187919462},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}},"[":{"docs":{},"]":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.013422818791946308},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}},"{":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}},"(":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.013793103448275862}}}}}}}}},",":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}},"=":{"docs":{},"\"":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"\"":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.013793103448275862}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.013793103448275862}}}}}}}},"三":{"docs":{},"个":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"配":{"docs":{},"置":{"docs":{},"当":{"docs":{},"事":{"docs":{},"件":{"docs":{},"发":{"docs":{},"生":{"docs":{},"时":{"docs":{},",":{"docs":{},"通":{"docs":{},"知":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"类":{"docs":{},"的":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.0625}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.029411764705882353},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.05128205128205128},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.013333333333333334}}}}}},"k":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}},"t":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}},"h":{"docs":{},"r":{"docs":{},"o":{"docs":{},"w":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.12}},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}},"/":{"docs":{},"/":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":5}}}}},"/":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"/":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"/":{"docs":{},"e":{"docs":{},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},":":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"值":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"同":{"docs":{},"样":{"docs":{},"需":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"的":{"docs":{},"i":{"docs":{},"d":{"docs":{},"l":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.014634146341463415},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095},"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},"p":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}},":":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705}},"a":{"docs":{},"l":{"docs":{},",":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}},"i":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}},".":{"docs":{},"s":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"(":{"5":{"0":{"0":{"0":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"g":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}}}}}}}}}}}}}},"e":{"docs":{},"s":{"docs":{},"t":{"1":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}},"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.06806282722513089},"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":0.07142857142857142},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}},",":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":0.07142857142857142},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}},":":{"docs":{},"只":{"docs":{},"是":{"docs":{},"用":{"docs":{},"来":{"docs":{},"说":{"docs":{},"明":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"正":{"docs":{},"常":{"docs":{},"被":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"业":{"docs":{},"务":{"docs":{},"具":{"docs":{},"体":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"行":{"docs":{},"决":{"docs":{},"定":{"docs":{},".":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095},"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}},"命":{"docs":{},"令":{"docs":{},"参":{"docs":{},"考":{"docs":{},"手":{"docs":{},"册":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":5}}}}}},"可":{"docs":{},"以":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"参":{"docs":{},"考":{"docs":{},"手":{"docs":{},"册":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.007853403141361256},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.03597122302158273}}}}},"i":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.011299435028248588},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}},"u":{"docs":{},"e":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.03225806451612903},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.014084507042253521}}}}},")":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.011299435028248588}}},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"d":{"docs":{},"a":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}},"=":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},"=":{"1":{"0":{"0":{"0":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"\"":{"3":{"0":{"0":{"0":{"docs":{},"\"":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"多":{"docs":{},"处":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},"及":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"规":{"docs":{},"则":{"docs":{},"详":{"docs":{},"见":{"docs":{},":":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}}}}},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}},"p":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.015723270440251572}},"s":{"docs":{},"成":{"docs":{},"功":{"docs":{},"平":{"docs":{},"均":{"docs":{},"值":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.012578616352201259}}}}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.016},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.036036036036036036},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.013422818791946308},"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.02824858757062147},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.027586206896551724}}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.006006006006006006},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.013333333333333334},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},".":{"docs":{},"'":{"docs":{},",":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.006006006006006006}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.015015015015015015}},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}},",":{"docs":{},"可":{"docs":{},"选":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.07692307692307693}},"e":{"docs":{},")":{"docs":{},",":{"docs":{"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.047619047619047616},"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.05}}}}}}},"r":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}},"e":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095},"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}},"i":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}},"m":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"{":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.056},"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.058823529411764705},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.05405405405405406},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.04697986577181208},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.05454545454545454},"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.023809523809523808},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.05263157894736842},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.07909604519774012},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.04827586206896552},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.09090909090909091},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.08333333333333333},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.009523809523809525},"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}},"\"":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"6":{"0":{"docs":{},".":{"1":{"9":{"8":{"docs":{},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"\"":{"docs":{},"}":{"docs":{},",":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"\"":{"docs":{},"}":{"docs":{},")":{"docs":{},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}},"}":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.056},"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.058823529411764705},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.05405405405405406},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.03355704697986577},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.05454545454545454},"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.023809523809523808},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.05263157894736842},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.07909604519774012},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.04827586206896552},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.09090909090909091},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.08333333333333333},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}},")":{"docs":{},";":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.011299435028248588}}}},",":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"i":{"docs":{},"o":{"docs":{},"c":{"docs":{},"注":{"docs":{},"入":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}},":":{"docs":{},"(":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},"前":{"docs":{},"面":{"docs":{},"的":{"docs":{},":":{"docs":{},")":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}}}}}}}}}}},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"接":{"docs":{},"口":{"docs":{},":":{"docs":{"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.047619047619047616},"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.05}}}}}}}}}},"用":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"配":{"docs":{},"置":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.038461538461538464}}}},"在":{"docs":{},"服":{"docs":{},"务":{"docs":{},"级":{"docs":{},"别":{"docs":{},"设":{"docs":{},"置":{"docs":{},":":{"docs":{"demos/令牌验证.html":{"ref":"demos/令牌验证.html","tf":0.16666666666666666}}}}}}}}}}}},"加":{"docs":{},"载":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"配":{"docs":{},"置":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}},",":{"docs":{},"并":{"docs":{},"调":{"docs":{},"用":{"docs":{},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}}}}}}}}}}}}}},"完":{"docs":{},"整":{"docs":{},"安":{"docs":{},"装":{"docs":{},"步":{"docs":{},"骤":{"docs":{},",":{"docs":{},"请":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"示":{"docs":{},"例":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"安":{"docs":{},"装":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"安":{"docs":{},"装":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},"代":{"docs":{},"码":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"定":{"docs":{},"义":{"docs":{"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625},"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}},"服":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}},"时":{"docs":{},"触":{"docs":{},"发":{"docs":{},"变":{"docs":{},"更":{"docs":{},"通":{"docs":{},"知":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}},"对":{"docs":{},"服":{"docs":{},"务":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"隐":{"docs":{},"藏":{"docs":{},"实":{"docs":{},"现":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{},"有":{"docs":{},"影":{"docs":{},"响":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}},"应":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213},"recommend.html":{"ref":"recommend.html","tf":0.018867924528301886}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421},"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.038461538461538464}}}}}}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"中":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"名":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"、":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"标":{"docs":{},"名":{"docs":{},"称":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}},"方":{"docs":{},"地":{"docs":{},"址":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}},"每":{"docs":{},"个":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"连":{"docs":{},"接":{"docs":{},"数":{"docs":{},",":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"、":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"、":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"等":{"docs":{},"短":{"docs":{},"连":{"docs":{},"接":{"docs":{},"协":{"docs":{},"议":{"docs":{},"表":{"docs":{},"示":{"docs":{},"限":{"docs":{},"制":{"docs":{},"连":{"docs":{},"接":{"docs":{},"数":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"等":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"协":{"docs":{},"表":{"docs":{},"示":{"docs":{},"建":{"docs":{},"立":{"docs":{},"的":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"个":{"docs":{},"数":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"于":{"docs":{},"输":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"校":{"docs":{},"验":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"在":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"端":{"docs":{},"要":{"docs":{},"有":{"docs":{},"。":{"docs":{},"如":{"docs":{},"有":{"docs":{},"性":{"docs":{},"能":{"docs":{},"上":{"docs":{},"的":{"docs":{},"考":{"docs":{},"虑":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"实":{"docs":{},"现":{"docs":{},"者":{"docs":{},"可":{"docs":{},"以":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"在":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"包":{"docs":{},"上":{"docs":{},"加":{"docs":{},"上":{"docs":{},"服":{"docs":{},"务":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{},"类":{"docs":{},"来":{"docs":{},"完":{"docs":{},"成":{"docs":{},"检":{"docs":{},"验":{"docs":{},"。":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"远":{"docs":{},"程":{"docs":{},"方":{"docs":{},"法":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}},"按":{"docs":{},"任":{"docs":{},"意":{"docs":{},"键":{"docs":{},"退":{"docs":{},"出":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}},"组":{"docs":{},"合":{"docs":{},"并":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"接":{"docs":{},"口":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"但":{"docs":{},"有":{"docs":{},"多":{"docs":{},"种":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"用":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"区":{"docs":{},"分":{"docs":{},",":{"docs":{},"现":{"docs":{},"在":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"需":{"docs":{},"从":{"docs":{},"每":{"docs":{},"种":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"中":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"次":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"合":{"docs":{},"并":{"docs":{},"结":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"聚":{"docs":{},"合":{"docs":{},"菜":{"docs":{},"单":{"docs":{},"项":{"docs":{},"。":{"docs":{"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"显":{"docs":{},"示":{"docs":{},"调":{"docs":{},"用":{"docs":{},"结":{"docs":{},"果":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"命":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}}},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"命":{"docs":{},"令":{"docs":{},"的":{"docs":{},"详":{"docs":{},"细":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}}}},"当":{"docs":{},"前":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}},"地":{"docs":{},"址":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}},"端":{"docs":{},"口":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}},"汇":{"docs":{},"总":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"该":{"docs":{},"状":{"docs":{},"态":{"docs":{},"将":{"docs":{},"汇":{"docs":{},"总":{"docs":{},"所":{"docs":{},"有":{"docs":{},"资":{"docs":{},"源":{"docs":{},"的":{"docs":{},"状":{"docs":{},"态":{"docs":{},",":{"docs":{},"当":{"docs":{},"全":{"docs":{},"部":{"docs":{},"o":{"docs":{},"k":{"docs":{},"时":{"docs":{},"则":{"docs":{},"显":{"docs":{},"示":{"docs":{},"o":{"docs":{},"k":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"则":{"docs":{},"显":{"docs":{},"示":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"则":{"docs":{},"显":{"docs":{},"示":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"状":{"docs":{},"态":{"docs":{},"列":{"docs":{},"表":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}},"端":{"docs":{},"口":{"docs":{},"上":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}}}},"用":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008},"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}},"法":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":5}}},"户":{"docs":{},"不":{"docs":{},"能":{"docs":{},"控":{"docs":{},"制":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"4":{"docs":{},"j":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"不":{"docs":{},"灵":{"docs":{},"活":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}},"docs":{}}}}}}}}},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"方":{"docs":{},"法":{"docs":{},"参":{"docs":{},"数":{"docs":{},"配":{"docs":{},"置":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"分":{"docs":{},"层":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},"。":{"docs":{},"如":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"、":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"。":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"分":{"docs":{},"层":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"可":{"docs":{},"以":{"docs":{},"替":{"docs":{},"代":{"docs":{},"所":{"docs":{},"有":{"docs":{},"接":{"docs":{},"口":{"docs":{},"引":{"docs":{},"用":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}},"实":{"docs":{},"现":{"docs":{"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"表":{"docs":{},"示":{"docs":{},"p":{"docs":{},"o":{"docs":{},"j":{"docs":{},"o":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"为":{"docs":{},"p":{"docs":{},"o":{"docs":{},"j":{"docs":{},"o":{"docs":{},"也":{"docs":{},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"转":{"docs":{},"成":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"获":{"docs":{},"取":{"docs":{},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{},"代":{"docs":{},"理":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}},"当":{"docs":{},"前":{"docs":{},"服":{"docs":{},"务":{"docs":{},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"都":{"docs":{},"将":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.023809523809523808}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"后":{"docs":{},"一":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"i":{"docs":{},"p":{"docs":{},"地":{"docs":{},"址":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"i":{"docs":{},"p":{"docs":{},"地":{"docs":{},"址":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"隐":{"docs":{},"式":{"docs":{},"传":{"docs":{},"入":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"框":{"docs":{},"架":{"docs":{},"集":{"docs":{},"成":{"docs":{},",":{"docs":{},"不":{"docs":{},"建":{"docs":{},"议":{"docs":{},"常":{"docs":{},"规":{"docs":{},"业":{"docs":{},"务":{"docs":{},"使":{"docs":{},"用":{"docs":{"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"接":{"docs":{},"口":{"docs":{},"需":{"docs":{},"单":{"docs":{},"独":{"docs":{},"打":{"docs":{},"包":{"docs":{},",":{"docs":{},"在":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"和":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"共":{"docs":{},"享":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"方":{"docs":{},"法":{"docs":{},"使":{"docs":{},"用":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"如":{"docs":{},"果":{"docs":{},"需":{"docs":{},"要":{"docs":{},"更":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"的":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{},"用":{"docs":{},"路":{"docs":{},"由":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"例":{"docs":{},"很":{"docs":{},"重":{"docs":{},"量":{"docs":{},",":{"docs":{},"里":{"docs":{},"面":{"docs":{},"封":{"docs":{},"装":{"docs":{},"了":{"docs":{},"所":{"docs":{},"有":{"docs":{},"与":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"及":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"请":{"docs":{},"缓":{"docs":{},"存":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"是":{"docs":{},"否":{"docs":{},"注":{"docs":{},"册":{"docs":{},"到":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"配":{"docs":{},"置":{"docs":{},"引":{"docs":{},"用":{"docs":{},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}}}}}}}}}}}},"m":{"docs":{},"v":{"docs":{},"n":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}},"不":{"docs":{},"传":{"docs":{},"送":{"docs":{},"p":{"docs":{},"o":{"docs":{},"j":{"docs":{},"o":{"docs":{},"的":{"docs":{},"类":{"docs":{},"元":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"在":{"docs":{},"大":{"docs":{},"量":{"docs":{},"p":{"docs":{},"o":{"docs":{},"j":{"docs":{},"o":{"docs":{},"传":{"docs":{},"输":{"docs":{},"时":{"docs":{},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"较":{"docs":{},"好":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"代":{"docs":{},"替":{"docs":{},"反":{"docs":{},"射":{"docs":{},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"比":{"docs":{},"较":{"docs":{},"好":{"docs":{},"(":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"获":{"docs":{},"取":{"docs":{},"本":{"docs":{},"机":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},"查":{"docs":{},"找":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"的":{"docs":{},"值":{"docs":{},"区":{"docs":{},"分":{"docs":{},"事":{"docs":{},"件":{"docs":{},"类":{"docs":{},"型":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}},"心":{"docs":{},"跳":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"检":{"docs":{},"测":{"docs":{},"脏":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"时":{"docs":{},"间":{"docs":{},"必":{"docs":{},"须":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"对":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"有":{"docs":{},"一":{"docs":{},"定":{"docs":{},"压":{"docs":{},"力":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"写":{"docs":{},"入":{"docs":{},"审":{"docs":{},"计":{"docs":{},"日":{"docs":{},"志":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}},"实":{"docs":{},"时":{"docs":{},"性":{"docs":{},"要":{"docs":{},"求":{"docs":{},"较":{"docs":{},"高":{"docs":{},"的":{"docs":{},"读":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"但":{"docs":{},"需":{"docs":{},"要":{"docs":{},"浪":{"docs":{},"费":{"docs":{},"更":{"docs":{},"多":{"docs":{},"服":{"docs":{},"务":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"通":{"docs":{},"知":{"docs":{},"操":{"docs":{},"作":{"docs":{},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}},"读":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"但":{"docs":{},"重":{"docs":{},"试":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"更":{"docs":{},"长":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}},"通":{"docs":{},"知":{"docs":{},"所":{"docs":{},"有":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"更":{"docs":{},"新":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"或":{"docs":{},"日":{"docs":{},"志":{"docs":{},"等":{"docs":{},"本":{"docs":{},"地":{"docs":{},"资":{"docs":{},"源":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}},"非":{"docs":{},"幂":{"docs":{},"等":{"docs":{},"性":{"docs":{},"的":{"docs":{},"写":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"新":{"docs":{},"增":{"docs":{},"记":{"docs":{},"录":{"docs":{},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}},"由":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"页":{"docs":{},"面":{"docs":{},"等":{"docs":{},"调":{"docs":{},"用":{"docs":{"demos/静态服务.html":{"ref":"demos/静态服务.html","tf":0.07142857142857142}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332},"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},"声":{"docs":{},"明":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{"preface/usage.html":{"ref":"preface/usage.html","tf":0.008}}}}}},":":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}},"解":{"docs":{},"析":{"docs":{},"。":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}},"规":{"docs":{},"则":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":5}}}},"使":{"docs":{},"用":{"docs":{},"说":{"docs":{},"明":{"docs":{},"想":{"docs":{},"知":{"docs":{},"道":{"docs":{},"如":{"docs":{},"何":{"docs":{},"使":{"docs":{},"用":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"请":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"t":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"说":{"docs":{},"明":{"docs":{},"详":{"docs":{},"细":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},",":{"docs":{},"请":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"参":{"docs":{},"考":{"docs":{},"手":{"docs":{},"册":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"览":{"docs":{},"表":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}}}}}},"如":{"docs":{},":":{"docs":{"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664},"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":0.07142857142857142},"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705}}},"下":{"docs":{},":":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}}}}},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"为":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{},"此":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"docs":{},"并":{"docs":{},"发":{"docs":{},"数":{"docs":{},"最":{"docs":{},"小":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"端":{"docs":{},"并":{"docs":{},"发":{"docs":{},"数":{"docs":{},")":{"docs":{},"。":{"docs":{"demos/并发控制.html":{"ref":"demos/并发控制.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"启":{"docs":{},"动":{"docs":{},"端":{"docs":{},"口":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"配":{"docs":{},"置":{"docs":{},"加":{"docs":{},"载":{"docs":{},"位":{"docs":{},"置":{"docs":{},":":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"=":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"*":{"docs":{},":":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}},"可":{"docs":{},"通":{"docs":{},"过":{"docs":{},"j":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"存":{"docs":{},"放":{"docs":{},"静":{"docs":{},"态":{"docs":{},"文":{"docs":{},"件":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}}}}}}}}},"日":{"docs":{},"志":{"docs":{},"子":{"docs":{},"目":{"docs":{},"录":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"多":{"docs":{},"进":{"docs":{},"程":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"避":{"docs":{},"免":{"docs":{},"冲":{"docs":{},"突":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"路":{"docs":{},"径":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}},"级":{"docs":{},"别":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}},"显":{"docs":{},"示":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"加":{"docs":{},"载":{"docs":{},"所":{"docs":{},"有":{"docs":{},"页":{"docs":{},"面":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}},":":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.03773584905660377},"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564},"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}},"关":{"docs":{},"联":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.011904761904761904},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.008379888268156424},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}},"类":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"文":{"docs":{},"件":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}},"管":{"docs":{},"理":{"docs":{},"信":{"docs":{},"息":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}},"方":{"docs":{},"法":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}},"的":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"规":{"docs":{},"则":{"docs":{},":":{"1":{"docs":{},")":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}},"docs":{}}}}}}},"d":{"docs":{},"u":{"docs":{},"u":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}},">":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.10714285714285714}},"b":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.043859649122807015}}}},"[":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"]":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.061855670103092786}}}}}}}},"\\":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"b":{"0":{"7":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}},"1":{"3":{"docs":{},",":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}},"docs":{},"s":{"docs":{},"f":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}},"r":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"g":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}},"a":{"docs":{},"r":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.043478260869565216}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.03636363636363636},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}},"e":{"docs":{},".":{"docs":{},"$":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"s":{"docs":{},"a":{"docs":{},"y":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"\"":{"docs":{},",":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"y":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"(":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}},")":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}},";":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.03636363636363636}}},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}}}}},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"demos/并发控制.html":{"ref":"demos/并发控制.html","tf":0.06666666666666667}}}}}}},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.03571428571428571},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.015873015873015872},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.02702702702702703},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.03225806451612903},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.019553072625698324},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.03333333333333333},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.04225352112676056},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}}}}}}},"p":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.009523809523809525}}}},"u":{"docs":{},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}}}}}}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"包":{"docs":{},",":{"docs":{},"并":{"docs":{},"解":{"docs":{},"压":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}},"h":{"6":{"2":{"0":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}},"docs":{}},"i":{"docs":{},"t":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}},"i":{"docs":{},"l":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}},"o":{"docs":{},"v":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}},"l":{"docs":{},"s":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.023809523809523808},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.019553072625698324},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.02},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.014084507042253521}}}}},"i":{"docs":{},"x":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464},"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}},"e":{"docs":{},"d":{"docs":{},",":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}}},"d":{"docs":{},"*":{"docs":{},",":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"*":{"docs":{},",":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"*":{"docs":{},",":{"docs":{},"i":{"docs":{},"s":{"docs":{},"*":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.009523809523809525}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}},"e":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.028795811518324606}}}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}},"s":{"docs":{},"=":{"docs":{},"\"":{"2":{"docs":{},"\"":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}},"docs":{}}}}},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}},"o":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.043478260869565216}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.058823529411764705}},"e":{"docs":{},";":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}}}}},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"(":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{},";":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.043478260869565216}}}}},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}},"l":{"docs":{},"l":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}}}}},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.02631578947368421}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.11764705882352941},"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.10526315789473684},"demos/日志适配.html":{"ref":"demos/日志适配.html","tf":0.07692307692307693},"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.05660377358490566},"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549},"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}},"原":{"docs":{},"生":{"docs":{},"支":{"docs":{},"持":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}},"i":{"docs":{},"n":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.006006006006006006}}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.006006006006006006}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.006006006006006006}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"编":{"docs":{},"译":{"docs":{},"器":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"动":{"docs":{},"态":{"docs":{},"类":{"docs":{},"的":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"可":{"docs":{},"选":{"docs":{},":":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"docs":{},"或":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"协":{"docs":{},"议":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}},"(":{"docs":{},"t":{"docs":{},"m":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705}},"e":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"等":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}},"l":{"docs":{"demos/日志适配.html":{"ref":"demos/日志适配.html","tf":0.07692307692307693}}}},"d":{"docs":{},"k":{"1":{"docs":{},".":{"5":{"docs":{},"+":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}},"docs":{}}},"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/日志适配.html":{"ref":"demos/日志适配.html","tf":0.07692307692307693},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}},"原":{"docs":{},"生":{"docs":{},"支":{"docs":{},"持":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}},"e":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},",":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}},"i":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.03773584905660377},"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}}},"b":{"docs":{},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},"的":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"较":{"docs":{},"好":{"docs":{},"(":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}},"r":{"1":{"0":{"7":{"docs":{"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705}}},"docs":{}},"docs":{}},"3":{"0":{"3":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}},"docs":{}},"docs":{}},"docs":{}}},"t":{"docs":{},"a":{"docs":{},"/":{"docs":{},"x":{"docs":{},"a":{"docs":{},"三":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"提":{"docs":{},"交":{"docs":{},"事":{"docs":{},"务":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}},"v":{"docs":{},"m":{"docs":{},"启":{"docs":{},"动":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}},"内":{"docs":{},"存":{"docs":{},"运":{"docs":{},"行":{"docs":{},"稳":{"docs":{},"定":{"docs":{},",":{"docs":{},"无":{"docs":{},"o":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{},"堆":{"docs":{},"内":{"docs":{},"存":{"docs":{},"中":{"docs":{},"无":{"docs":{},"不":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{},"大":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"占":{"docs":{},"用":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"b":{"docs":{},"y":{"docs":{},",":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}},"l":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.014388489208633094}},"o":{"docs":{},"g":{"4":{"docs":{},"j":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/日志适配.html":{"ref":"demos/日志适配.html","tf":0.07692307692307693},"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.03773584905660377}},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}}}},":":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"4":{"docs":{},"j":{"docs":{},":":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"1":{"docs":{},".":{"2":{"docs":{},".":{"1":{"6":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}},"docs":{}}}}},"等":{"docs":{},"加":{"docs":{},"载":{"docs":{},",":{"docs":{},"可":{"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"进":{"docs":{},"行":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"配":{"docs":{},"置":{"docs":{},"配":{"docs":{},"在":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"命":{"docs":{},"令":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.02158273381294964}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"日":{"docs":{},"志":{"docs":{},"输":{"docs":{},"出":{"docs":{},"包":{"docs":{},"。":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}}},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},":":{"1":{"docs":{},".":{"1":{"docs":{},".":{"1":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"i":{"docs":{},"l":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}},",":{"docs":{},"则":{"docs":{},"不":{"docs":{},"能":{"docs":{},"去":{"docs":{},"掉":{"docs":{},"。":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.029411764705882353}},".":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"e":{"docs":{},")":{"docs":{},";":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}}}}}},"的":{"docs":{},"日":{"docs":{},"志":{"docs":{},"级":{"docs":{},"别":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}},"最":{"docs":{},"后":{"1":{"0":{"0":{"docs":{},"字":{"docs":{},"符":{"docs":{},"的":{"docs":{},"日":{"docs":{},"志":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}},";":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.009009009009009009}}}}}}}}}},"a":{"docs":{},"d":{"docs":{"demos/并发控制.html":{"ref":"demos/并发控制.html","tf":0.06666666666666667}},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.010471204188481676},"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.16666666666666666},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}},"负":{"docs":{},"责":{"docs":{},"从":{"docs":{},"多":{"docs":{},"个":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"选":{"docs":{},"出":{"docs":{},"具":{"docs":{},"体":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"用":{"docs":{},"于":{"docs":{},"本":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"选":{"docs":{},"的":{"docs":{},"过":{"docs":{},"程":{"docs":{},"包":{"docs":{},"含":{"docs":{},"了":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"算":{"docs":{},"法":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"失":{"docs":{},"败":{"docs":{},"后":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"选":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"后":{"docs":{},"缀":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"本":{"docs":{},"地":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{},"名":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"在":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"执":{"docs":{},"行":{"docs":{},"本":{"docs":{},"地":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"如":{"docs":{},"本":{"docs":{},"地":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"等":{"docs":{},",":{"docs":{},"该":{"docs":{},"本":{"docs":{},"地":{"docs":{},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"必":{"docs":{},"须":{"docs":{},"允":{"docs":{},"许":{"docs":{},"传":{"docs":{},"入":{"docs":{},"远":{"docs":{},"程":{"docs":{},"代":{"docs":{},"理":{"docs":{},"对":{"docs":{},"象":{"docs":{},",":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"如":{"docs":{},":":{"docs":{},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}},"三":{"docs":{},"种":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"表":{"docs":{},"示":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"本":{"docs":{},"地":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.014388489208633094}}}}}}}}}},"a":{"docs":{},"i":{"docs":{},"w":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.013333333333333334}}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}},"e":{"docs":{},"n":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294},"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}},"e":{"docs":{},"r":{"docs":{},")":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.011299435028248588}}}},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},"{":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},";":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}}}}},"b":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}}}}}},"n":{"docs":{},"k":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}}}}},"r":{"docs":{},"u":{"docs":{"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705}}}},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.02158273381294964}}},"s":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.02877697841726619}},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}},",":{"docs":{},"其":{"docs":{},"中":{"docs":{},"的":{"2":{"0":{"8":{"8":{"0":{"docs":{},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"口":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}},"x":{"8":{"6":{"docs":{},"_":{"6":{"4":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}},"l":{"docs":{},"配":{"docs":{},"置":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":5}}}},"次":{"docs":{},"之":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"在":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"中":{"docs":{},"有":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"则":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"中":{"docs":{},"的":{"docs":{},"相":{"docs":{},"应":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},"无":{"docs":{},"效":{"docs":{},"。":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"2":{"5":{"6":{"docs":{},"m":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}},"docs":{}},"docs":{}},"s":{"2":{"docs":{},"g":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}},"x":{"2":{"docs":{},"g":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}},"s":{"2":{"5":{"6":{"docs":{},"k":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}},"docs":{}},"docs":{}}},"x":{"docs":{},":":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"=":{"1":{"2":{"8":{"docs":{},"m":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"+":{"docs":{},"c":{"docs":{},"m":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"g":{"docs":{},"c":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"m":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"c":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"s":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"g":{"docs":{},"c":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"m":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"c":{"docs":{},"c":{"docs":{},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{},"y":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"7":{"0":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"=":{"1":{"2":{"8":{"docs":{},"m":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.02127659574468085},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818},"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421},"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.0425531914893617},"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.04316546762589928}},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421}},"(":{"docs":{},")":{"docs":{},";":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"(":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"\"":{"docs":{},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"y":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}}}}}}}}},")":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}}}}}}}}},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.03597122302158273}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421}}}},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.014388489208633094}},"(":{"docs":{},"{":{"docs":{},"\"":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"\"":{"docs":{},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.014388489208633094}}}}}}}}}}},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},"r":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}},"z":{"0":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.006006006006006006}}},"docs":{},"k":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.02631578947368421}},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.039473684210526314}},"e":{"docs":{},"r":{"docs":{},":":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}},"/":{"docs":{},"/":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"0":{"docs":{},":":{"2":{"1":{"8":{"1":{"docs":{},"?":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"=":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}},"z":{"docs":{},"k":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":5}}}}}},"单":{"docs":{},"机":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}},"安":{"docs":{},"装":{"docs":{},"安":{"docs":{},"装":{"docs":{},"方":{"docs":{},"式":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}},"手":{"docs":{},"册":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"搭":{"docs":{},"一":{"docs":{},"个":{"docs":{},"原":{"docs":{},"生":{"docs":{},"的":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}},"说":{"docs":{},"明":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}},"集":{"docs":{},"群":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}},"]":{"docs":{},"+":{"docs":{},"\\":{"docs":{},"\\":{"docs":{},"s":{"docs":{},"*":{"docs":{},"$":{"docs":{},"\"":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}},"a":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.009009009009009009}}}},"|":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.05154639175257732},"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.11403508771929824},"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547},"recommend.html":{"ref":"recommend.html","tf":0.02830188679245283}},"&":{"docs":{},"l":{"docs":{},"t":{"docs":{},";":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"u":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}}}}}},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}},"&":{"docs":{},"g":{"docs":{},"t":{"docs":{},";":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}},"但":{"docs":{},"如":{"docs":{},"果":{"docs":{},"其":{"docs":{},"它":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"比":{"docs":{},"如":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"间":{"docs":{},"接":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"处":{"docs":{},"理":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"较":{"docs":{},"慢":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"docs":{},"发":{"docs":{},"起":{"docs":{},"新":{"docs":{},"的":{"docs":{},"i":{"docs":{},"o":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"需":{"docs":{},"要":{"docs":{},"查":{"docs":{},"询":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},",":{"docs":{},"则":{"docs":{},"必":{"docs":{},"须":{"docs":{},"派":{"docs":{},"发":{"docs":{},"到":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"i":{"docs":{},"o":{"docs":{},"线":{"docs":{},"程":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},",":{"docs":{},"将":{"docs":{},"导":{"docs":{},"致":{"docs":{},"不":{"docs":{},"能":{"docs":{},"接":{"docs":{},"收":{"docs":{},"其":{"docs":{},"它":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}},"依":{"docs":{},"赖":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":5}},"于":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},",":{"docs":{},"占":{"docs":{},"用":{"docs":{},"j":{"docs":{},"v":{"docs":{},"m":{"docs":{},"的":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"内":{"docs":{},"存":{"docs":{},",":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"可":{"docs":{},"能":{"docs":{},"要":{"docs":{},"设":{"docs":{},"大":{"docs":{},"一":{"docs":{},"些":{"docs":{},":":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"拓":{"docs":{},"普":{"docs":{},"和":{"docs":{},"路":{"docs":{},"由":{"docs":{},",":{"docs":{},"跨":{"docs":{},"机":{"docs":{},"房":{"docs":{},"有":{"docs":{},"风":{"docs":{},"险":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}},":":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358},"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"去":{"docs":{},"掉":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"日":{"docs":{},"志":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},"为":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"docs":{},"的":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"输":{"docs":{},"出":{"docs":{},"。":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}},"以":{"docs":{},"下":{"docs":{},"方":{"docs":{},"式":{"docs":{},"配":{"docs":{},"置":{"docs":{},"日":{"docs":{},"志":{"docs":{},"输":{"docs":{},"出":{"docs":{},"策":{"docs":{},"略":{"docs":{"demos/日志适配.html":{"ref":"demos/日志适配.html","tf":0.07692307692307693}}}}}}}}}}}}}},"脚":{"docs":{},"本":{"docs":{},"或":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"手":{"docs":{},"工":{"docs":{},"填":{"docs":{},"写":{"docs":{},"表":{"docs":{},"单":{"docs":{},"注":{"docs":{},"册":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},":":{"docs":{"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.047619047619047616}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"行":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"集":{"docs":{},"群":{"docs":{},"容":{"docs":{},"错":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"集":{"docs":{},"群":{"docs":{},"扩":{"docs":{},"展":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"协":{"docs":{},"议":{"docs":{},"扩":{"docs":{},"展":{"docs":{"demos/多协议.html":{"ref":"demos/多协议.html","tf":0.1111111111111111}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"扩":{"docs":{},"展":{"docs":{"demos/多注册中心.html":{"ref":"demos/多注册中心.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}},"拿":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"验":{"docs":{},"证":{"docs":{},"错":{"docs":{},"误":{"docs":{},"详":{"docs":{},"细":{"docs":{},"信":{"docs":{},"息":{"docs":{},"的":{"docs":{},"集":{"docs":{},"合":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"设":{"docs":{},"置":{"docs":{},"开":{"docs":{},"启":{"docs":{},"令":{"docs":{},"牌":{"docs":{},"验":{"docs":{},"证":{"docs":{"demos/令牌验证.html":{"ref":"demos/令牌验证.html","tf":0.16666666666666666}}}}}}}}}}}},"在":{"docs":{},"/":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"/":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"中":{"docs":{},"加":{"docs":{},"入":{"docs":{},":":{"docs":{},"机":{"docs":{},"器":{"docs":{},"名":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}}}}}}}}}}}}}}}}}},"多":{"docs":{},"个":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},"设":{"docs":{},"置":{"docs":{},"超":{"docs":{},"时":{"docs":{},",":{"docs":{},"由":{"docs":{},"上":{"docs":{},"至":{"docs":{},"下":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"(":{"docs":{},"即":{"docs":{},"上":{"docs":{},"面":{"docs":{},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},")":{"docs":{},",":{"docs":{},"示":{"docs":{},"例":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"这":{"docs":{},"个":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"在":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"传":{"docs":{},"一":{"docs":{},"个":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"。":{"docs":{},"详":{"docs":{},"见":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"类":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"。":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"和":{"docs":{},"原":{"docs":{},"生":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"服":{"docs":{},"务":{"docs":{},"互":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"服":{"docs":{},"务":{"docs":{},"互":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}}}}}}}}},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"互":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"基":{"docs":{},"于":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"互":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"基":{"docs":{},"于":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"生":{"docs":{},"产":{"docs":{},"环":{"docs":{},"境":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.08638743455497382}}}}}}},"下":{"docs":{},"面":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"表":{"docs":{},"示":{"docs":{},":":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}},"通":{"docs":{},"过":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.044444444444444446},"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.02631578947368421},"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.041666666666666664}}}},"伸":{"docs":{},"缩":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},",":{"docs":{},"但":{"docs":{},"池":{"docs":{},"中":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"只":{"docs":{},"会":{"docs":{},"增":{"docs":{},"长":{"docs":{},"不":{"docs":{},"会":{"docs":{},"收":{"docs":{},"缩":{"docs":{},"。":{"docs":{},"(":{"docs":{},"为":{"docs":{},"避":{"docs":{},"免":{"docs":{},"收":{"docs":{},"缩":{"docs":{},"时":{"docs":{},"突":{"docs":{},"然":{"docs":{},"来":{"docs":{},"了":{"docs":{},"大":{"docs":{},"流":{"docs":{},"量":{"docs":{},"引":{"docs":{},"起":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"问":{"docs":{},"题":{"docs":{},")":{"docs":{},"。":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"选":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.11507936507936507},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.11261261261261261},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.11219512195121951},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.11290322580645161},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.07142857142857142},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.10294117647058823},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.07692307692307693},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.12290502793296089},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.12},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.1056338028169014},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}}},"靠":{"docs":{},"性":{"docs":{},"声":{"docs":{},"明":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}},"阿":{"docs":{},"里":{"docs":{},"内":{"docs":{},"部":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"采":{"docs":{},"用":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"做":{"docs":{},"为":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"基":{"docs":{},"于":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"在":{"docs":{},"阿":{"docs":{},"里":{"docs":{},"内":{"docs":{},"部":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"保":{"docs":{},"障":{"docs":{},",":{"docs":{},"此":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"桥":{"docs":{},"接":{"docs":{},"实":{"docs":{},"现":{"docs":{},"只":{"docs":{},"为":{"docs":{},"开":{"docs":{},"源":{"docs":{},"版":{"docs":{},"本":{"docs":{},"提":{"docs":{},"供":{"docs":{},",":{"docs":{},"其":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"字":{"docs":{},"节":{"docs":{},"码":{"docs":{},"生":{"docs":{},"成":{"docs":{},"。":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}},"必":{"docs":{},"须":{"docs":{},"依":{"docs":{},"赖":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"未":{"docs":{},"来":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}},"过":{"docs":{},"去":{"docs":{},"的":{"docs":{},"时":{"docs":{},"间":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}},"填":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.009009009009009009},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421},"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.07692307692307693}}}},"理":{"docs":{},"论":{"docs":{},"上":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"可":{"docs":{},"以":{"docs":{},"只":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"docs":{},",":{"docs":{},"不":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"任":{"docs":{},"何":{"docs":{},"三":{"docs":{},"方":{"docs":{},"库":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"配":{"docs":{},"置":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"docs":{},"相":{"docs":{},"关":{"docs":{},"实":{"docs":{},"现":{"docs":{},"策":{"docs":{},"略":{"docs":{},"。":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"的":{"docs":{},"非":{"docs":{},"服":{"docs":{},"务":{"docs":{},"标":{"docs":{},"识":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"在":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},",":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缺":{"docs":{},"省":{"docs":{},"依":{"docs":{},"赖":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}}},"只":{"docs":{},"对":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"请":{"docs":{},"配":{"docs":{},"置":{"docs":{"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664}}}}}}}}}}}}}}}}}}}}}}},"用":{"1":{"6":{"0":{"docs":{},"份":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"要":{"docs":{},"修":{"docs":{},"改":{"docs":{},",":{"docs":{},"请":{"docs":{},"配":{"docs":{},"置":{"docs":{"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"可":{"docs":{},"按":{"docs":{},"服":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{},"区":{"docs":{},"分":{"docs":{},"验":{"docs":{},"证":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"@":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"主":{"docs":{},"机":{"docs":{},"i":{"docs":{},"p":{"docs":{},"查":{"docs":{},"找":{"docs":{},"顺":{"docs":{},"序":{"docs":{},":":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}}}}}}}},"端":{"docs":{},"口":{"docs":{},"与":{"docs":{},"协":{"docs":{},"议":{"docs":{},"相":{"docs":{},"关":{"docs":{},":":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"查":{"docs":{},"找":{"docs":{},":":{"docs":{"demos/日志适配.html":{"ref":"demos/日志适配.html","tf":0.07692307692307693}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"把":{"docs":{},"相":{"docs":{},"同":{"docs":{},"服":{"docs":{},"务":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"、":{"docs":{},"接":{"docs":{},"口":{"docs":{},"、":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"认":{"docs":{},"为":{"docs":{},"是":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"一":{"docs":{},"份":{"docs":{},"。":{"docs":{},"即":{"docs":{},"以":{"docs":{},"服":{"docs":{},"务":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"、":{"docs":{},"接":{"docs":{},"口":{"docs":{},"、":{"docs":{},"版":{"docs":{},"本":{"docs":{},"为":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"。":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.014084507042253521}},"接":{"docs":{},"口":{"docs":{},"名":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968}}}}},"空":{"docs":{},"串":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}}}},"值":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421},"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.038461538461538464}}},"向":{"docs":{},"所":{"docs":{},"有":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"注":{"docs":{},"册":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.03153153153153153}}}},"将":{"docs":{},"从":{"docs":{},"所":{"docs":{},"有":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"获":{"docs":{},"服":{"docs":{},"务":{"docs":{},"列":{"docs":{},"表":{"docs":{},"后":{"docs":{},"合":{"docs":{},"并":{"docs":{},"结":{"docs":{},"果":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"基":{"docs":{},"于":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"1":{"docs":{},".":{"1":{"docs":{},".":{"7":{"docs":{},"+":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"3":{"docs":{},".":{"2":{"docs":{},".":{"1":{"docs":{},"的":{"docs":{},"t":{"docs":{},"b":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"交":{"docs":{},"互":{"docs":{},"。":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"并":{"docs":{},"继":{"docs":{},"承":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"并":{"docs":{},"以":{"docs":{},"此":{"docs":{},"接":{"docs":{},"口":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}},"使":{"docs":{},"用":{"docs":{},"第":{"docs":{},"一":{"docs":{},"个":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"配":{"docs":{},"置":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968}}}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},"传":{"docs":{},"输":{"docs":{},"。":{"docs":{"dependencies/dependencies.html":{"ref":"dependencies/dependencies.html","tf":0.010309278350515464}}},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"可":{"docs":{},"选":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},",":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}},"读":{"docs":{},"写":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"大":{"docs":{},"小":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.028795811518324606}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}},"p":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.006006006006006006}}}}}}}}}}}}}}}}}}}},"{":{"docs":{},"}":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}},"r":{"docs":{},"l":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"6":{"0":{"docs":{},".":{"1":{"9":{"8":{"docs":{},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"/":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"字":{"docs":{},"段":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},",":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}},"格":{"docs":{},"式":{"docs":{},":":{"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":0.06666666666666667}}}}}}},"t":{"docs":{},"f":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}},"事":{"docs":{},"件":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}},"一":{"docs":{},"次":{"docs":{},"请":{"docs":{},"求":{"docs":{},"派":{"docs":{},"发":{"docs":{},"两":{"docs":{},"种":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"需":{"docs":{},"屏":{"docs":{},"蔽":{"docs":{},"无":{"docs":{},"用":{"docs":{},"事":{"docs":{},"件":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}},"致":{"docs":{},"性":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},",":{"docs":{},"相":{"docs":{},"同":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"总":{"docs":{},"是":{"docs":{},"发":{"docs":{},"到":{"docs":{},"同":{"docs":{},"一":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},",":{"docs":{},"当":{"docs":{},"某":{"docs":{},"一":{"docs":{},"台":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"挂":{"docs":{},"时":{"docs":{},",":{"docs":{},"原":{"docs":{},"本":{"docs":{},"发":{"docs":{},"往":{"docs":{},"该":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"基":{"docs":{},"于":{"docs":{},"虚":{"docs":{},"拟":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"平":{"docs":{},"摊":{"docs":{},"到":{"docs":{},"其":{"docs":{},"它":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},",":{"docs":{},"不":{"docs":{},"会":{"docs":{},"引":{"docs":{},"起":{"docs":{},"剧":{"docs":{},"烈":{"docs":{},"变":{"docs":{},"动":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664}}}}}}}}}}}}}}}}}}}}}}}}}},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"并":{"docs":{},"行":{"docs":{},"执":{"docs":{},"行":{"docs":{},"请":{"docs":{},"求":{"docs":{},"上":{"docs":{},"限":{"docs":{},",":{"docs":{},"即":{"docs":{},"当":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"并":{"docs":{},"发":{"docs":{},"调":{"docs":{},"用":{"docs":{},"到":{"docs":{},"上":{"docs":{},"限":{"docs":{},"后":{"docs":{},",":{"docs":{},"新":{"docs":{},"调":{"docs":{},"用":{"docs":{},"会":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"可":{"docs":{},"能":{"docs":{},"到":{"docs":{},"超":{"docs":{},"时":{"docs":{},")":{"docs":{},"。":{"docs":{},"在":{"docs":{},"方":{"docs":{},"法":{"docs":{},"上":{"docs":{},"配":{"docs":{},"置":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}},"靠":{"docs":{},"异":{"docs":{},"步":{"docs":{},"调":{"docs":{},"用":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}},",":{"docs":{},"重":{"docs":{},"启":{"docs":{},"丢":{"docs":{},"失":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"权":{"docs":{},"重":{"docs":{},",":{"docs":{},"在":{"docs":{},"容":{"docs":{},"量":{"docs":{},"规":{"docs":{},"划":{"docs":{},"时":{"docs":{},",":{"docs":{},"不":{"docs":{},"能":{"docs":{},"通":{"docs":{},"过":{"docs":{},"权":{"docs":{},"重":{"docs":{},"把":{"docs":{},"压":{"docs":{},"力":{"docs":{},"导":{"docs":{},"向":{"docs":{},"一":{"docs":{},"台":{"docs":{},"机":{"docs":{},"器":{"docs":{},"压":{"docs":{},"测":{"docs":{},"容":{"docs":{},"量":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"稳":{"docs":{},"定":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}},"同":{"docs":{},"服":{"docs":{},"务":{"docs":{},"不":{"docs":{},"同":{"docs":{},"协":{"docs":{},"议":{"docs":{"demos/多协议.html":{"ref":"demos/多协议.html","tf":0.1111111111111111}}}}}},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{"demos/多注册中心.html":{"ref":"demos/多注册中心.html","tf":0.06666666666666667}}}}}}}}}}}}},"区":{"docs":{},"分":{"docs":{},"版":{"docs":{},"本":{"docs":{},":":{"docs":{},"(":{"2":{"docs":{},".":{"2":{"docs":{},".":{"0":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"支":{"docs":{},"持":{"docs":{},")":{"docs":{"demos/多版本.html":{"ref":"demos/多版本.html","tf":0.1111111111111111}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}},"允":{"docs":{},"许":{"docs":{},"为":{"docs":{},"空":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}},"等":{"docs":{},"待":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"出":{"docs":{},",":{"docs":{},"将":{"docs":{},"消":{"docs":{},"息":{"docs":{},"放":{"docs":{},"入":{"docs":{},"i":{"docs":{},"o":{"docs":{},"队":{"docs":{},"列":{"docs":{},",":{"docs":{},"即":{"docs":{},"刻":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}},"号":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}},"抛":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"a":{"docs":{},"多":{"docs":{},"的":{"docs":{},"那":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}},"b":{"docs":{},"正":{"docs":{},"常":{"docs":{},"接":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}},"相":{"docs":{},"同":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}},"需":{"docs":{},"要":{"docs":{},"启":{"docs":{},"动":{"docs":{},"任":{"docs":{},"何":{"docs":{},"中":{"docs":{},"心":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"只":{"docs":{},"要":{"docs":{},"广":{"docs":{},"播":{"docs":{},"地":{"docs":{},"址":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"互":{"docs":{},"相":{"docs":{},"发":{"docs":{},"现":{"docs":{},"。":{"docs":{"reference-registry/multicast.html":{"ref":"reference-registry/multicast.html","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{},"过":{"docs":{},"于":{"docs":{},"抽":{"docs":{},"象":{"docs":{},"的":{"docs":{},"通":{"docs":{},"用":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"只":{"docs":{},"是":{"docs":{},"因":{"docs":{},"为":{"docs":{},"是":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"而":{"docs":{},"把":{"docs":{},"调":{"docs":{},"用":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"文":{"docs":{},"件":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"使":{"docs":{},"用":{"docs":{},"对":{"docs":{},"应":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"配":{"docs":{},"置":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":5}},",":{"docs":{},"在":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"执":{"docs":{},"行":{"docs":{},"前":{"docs":{},"后":{"docs":{},"触":{"docs":{},"发":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}},"处":{"docs":{},"理":{"docs":{},"线":{"docs":{},"程":{"docs":{},"说":{"docs":{},"明":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}}}}}}}}}},"令":{"docs":{},"牌":{"docs":{},"验":{"docs":{},"证":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/令牌验证.html":{"ref":"demos/令牌验证.html","tf":5}},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"授":{"docs":{},"权":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}},"为":{"docs":{},"空":{"docs":{},"表":{"docs":{},"示":{"docs":{},"不":{"docs":{},"开":{"docs":{},"启":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"随":{"docs":{},"机":{"docs":{},"生":{"docs":{},"成":{"docs":{},"动":{"docs":{},"态":{"docs":{},"令":{"docs":{},"牌":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"使":{"docs":{},"用":{"docs":{},"静":{"docs":{},"态":{"docs":{},"令":{"docs":{},"牌":{"docs":{},",":{"docs":{},"令":{"docs":{},"牌":{"docs":{},"的":{"docs":{},"作":{"docs":{},"用":{"docs":{},"是":{"docs":{},"防":{"docs":{},"止":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"绕":{"docs":{},"过":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"直":{"docs":{},"接":{"docs":{},"访":{"docs":{},"问":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"的":{"docs":{},"授":{"docs":{},"权":{"docs":{},"功":{"docs":{},"能":{"docs":{},"有":{"docs":{},"效":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"使":{"docs":{},"用":{"docs":{},"点":{"docs":{},"对":{"docs":{},"点":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"需":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"令":{"docs":{},"牌":{"docs":{},"功":{"docs":{},"能":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"伪":{"docs":{},"造":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"可":{"docs":{},"在":{"docs":{},"失":{"docs":{},"败":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"或":{"docs":{},"直":{"docs":{},"接":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"降":{"docs":{},"级":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"偶":{"docs":{},"尔":{"docs":{},"会":{"docs":{},"连":{"docs":{},"接":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"需":{"docs":{},"重":{"docs":{},"建":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}},"功":{"docs":{},"能":{"docs":{},"成":{"docs":{},"熟":{"docs":{},"度":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}},"动":{"docs":{},"态":{"docs":{},"下":{"docs":{},"发":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"开":{"docs":{},"关":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}},"决":{"docs":{},"定":{"docs":{},"调":{"docs":{},"用":{"docs":{},"关":{"docs":{},"系":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}},"压":{"docs":{},"力":{"docs":{},"分":{"docs":{},"摊":{"docs":{},"不":{"docs":{},"均":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}},"去":{"docs":{},"中":{"docs":{},"心":{"docs":{},"化":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"安":{"docs":{},"装":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},"回":{"docs":{},"调":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.005235602094240838},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":5}},"方":{"docs":{},"式":{"docs":{},"与":{"docs":{},"调":{"docs":{},"用":{"docs":{},"本":{"docs":{},"地":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"或":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},"声":{"docs":{},"明":{"docs":{},"哪":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"类":{"docs":{},"型":{"docs":{},"即":{"docs":{},"可":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"将":{"docs":{},"基":{"docs":{},"于":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"生":{"docs":{},"成":{"docs":{},"反":{"docs":{},"向":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"调":{"docs":{},"用":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"验":{"docs":{},"证":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":5}},",":{"docs":{},"j":{"docs":{},"s":{"docs":{},"r":{"3":{"0":{"3":{"docs":{},"验":{"docs":{},"证":{"docs":{},"框":{"docs":{},"架":{"docs":{},"集":{"docs":{},"成":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}},"功":{"docs":{},"能":{"docs":{},"是":{"docs":{},"基":{"docs":{},"于":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}},"示":{"docs":{},"例":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}},"标":{"docs":{},"注":{"docs":{},"示":{"docs":{},"例":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}},"支":{"docs":{},"持":{"docs":{},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}},"设":{"docs":{},"置":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"为":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},"。":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"将":{"docs":{},"生":{"docs":{},"成":{"docs":{},"反":{"docs":{},"向":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"从":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"反":{"docs":{},"向":{"docs":{},"调":{"docs":{},"用":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"事":{"docs":{},"件":{"docs":{},"推":{"docs":{},"送":{"docs":{},".":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"及":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"不":{"docs":{},"能":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"实":{"docs":{},"现":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}}}}}}}}}}},"需":{"docs":{},"实":{"docs":{},"现":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"接":{"docs":{},"口":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}}},"符":{"docs":{},"合":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"规":{"docs":{},"范":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353}}}}}}}}}}}}}}},"尽":{"docs":{},"量":{"docs":{},"使":{"docs":{},"用":{"docs":{},"基":{"docs":{},"本":{"docs":{},"类":{"docs":{},"型":{"docs":{},"和":{"docs":{},"p":{"docs":{},"o":{"docs":{},"j":{"docs":{},"o":{"docs":{},"。":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}},"见":{"docs":{},":":{"docs":{},"合":{"docs":{},"并":{"docs":{},"结":{"docs":{},"果":{"docs":{},"扩":{"docs":{},"展":{"docs":{"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":0.07142857142857142}}}}}}}},"延":{"docs":{},"迟":{"docs":{},"连":{"docs":{},"接":{"docs":{"demos/粘滞连接.html":{"ref":"demos/粘滞连接.html","tf":0.3333333333333333}}}}}},"配":{"docs":{},"置":{"docs":{},"规":{"docs":{},"则":{"docs":{"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.05}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"一":{"docs":{},"个":{"docs":{},"内":{"docs":{},"嵌":{"docs":{},"j":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"汇":{"docs":{},"报":{"docs":{},"状":{"docs":{},"态":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}},"。":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}},"时":{"docs":{},"检":{"docs":{},"查":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":5}},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"是":{"docs":{},"否":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},"忽":{"docs":{},"略":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"声":{"docs":{},"测":{"docs":{},"试":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.005235602094240838},"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":5}},"可":{"docs":{},"用":{"docs":{},"性":{"docs":{"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.045454545454545456}}}}},"用":{"docs":{},"于":{"docs":{},"检":{"docs":{},"测":{"docs":{},"服":{"docs":{},"务":{"docs":{},"是":{"docs":{},"否":{"docs":{},"可":{"docs":{},"用":{"docs":{},",":{"docs":{},"回":{"docs":{},"声":{"docs":{},"测":{"docs":{},"试":{"docs":{},"按":{"docs":{},"照":{"docs":{},"正":{"docs":{},"常":{"docs":{},"请":{"docs":{},"求":{"docs":{},"流":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"能":{"docs":{},"够":{"docs":{},"测":{"docs":{},"试":{"docs":{},"整":{"docs":{},"个":{"docs":{},"调":{"docs":{},"用":{"docs":{},"是":{"docs":{},"否":{"docs":{},"通":{"docs":{},"畅":{"docs":{},",":{"docs":{},"可":{"docs":{},"用":{"docs":{},"于":{"docs":{},"监":{"docs":{},"控":{"docs":{},"。":{"docs":{"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{},"条":{"docs":{},"件":{"docs":{},"表":{"docs":{},"达":{"docs":{},"式":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"功":{"docs":{},"能":{"docs":{},"简":{"docs":{},"单":{"docs":{},"易":{"docs":{},"用":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}},"如":{"docs":{},":":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}},"脚":{"docs":{},"本":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"的":{"docs":{},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"功":{"docs":{},"能":{"docs":{},"强":{"docs":{},"大":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}},"如":{"docs":{},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}},"最":{"docs":{},"近":{"docs":{},"最":{"docs":{},"少":{"docs":{},"使":{"docs":{},"用":{"docs":{},"原":{"docs":{},"则":{"docs":{},"删":{"docs":{},"除":{"docs":{},"多":{"docs":{},"余":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"保":{"docs":{},"持":{"docs":{},"最":{"docs":{},"热":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"被":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"的":{"docs":{},"非":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"实":{"docs":{},"现":{"docs":{},"并":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"启":{"docs":{},"动":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"即":{"docs":{},"可":{"docs":{},"完":{"docs":{},"成":{"docs":{},"并":{"docs":{},"行":{"docs":{},"调":{"docs":{},"用":{"docs":{},"多":{"docs":{},"个":{"docs":{},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"相":{"docs":{},"对":{"docs":{},"多":{"docs":{},"线":{"docs":{},"程":{"docs":{},"开":{"docs":{},"销":{"docs":{},"较":{"docs":{},"小":{"docs":{},"。":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"t":{"docs":{},"a":{"docs":{},"/":{"docs":{},"x":{"docs":{},"a":{"docs":{},"规":{"docs":{},"范":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"demos/分布式事务.html":{"ref":"demos/分布式事务.html","tf":0.3333333333333333}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"的":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"表":{"docs":{},"单":{"docs":{},"的":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"协":{"docs":{},"议":{"docs":{},"。":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{},"说":{"docs":{},"明":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"x":{"docs":{},"f":{"docs":{},"的":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"的":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"协":{"docs":{},"议":{"docs":{},":":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"类":{"docs":{},"型":{"docs":{},"以":{"docs":{},"及":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"等":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"转":{"docs":{},"换":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"调":{"docs":{},"用":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"准":{"docs":{},"测":{"docs":{},"试":{"docs":{},"工":{"docs":{},"具":{"docs":{},"包":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":5.035714285714286}}}}}}}}},"大":{"docs":{},"量":{"docs":{},"访":{"docs":{},"问":{"docs":{},"页":{"docs":{},"面":{"docs":{},"时":{"docs":{},",":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"和":{"docs":{},"内":{"docs":{},"存":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}},"失":{"docs":{},"败":{"docs":{},"安":{"docs":{},"全":{"docs":{},",":{"docs":{},"出":{"docs":{},"现":{"docs":{},"异":{"docs":{},"常":{"docs":{},"时":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"忽":{"docs":{},"略":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"写":{"docs":{},"入":{"docs":{},"审":{"docs":{},"计":{"docs":{},"日":{"docs":{},"志":{"docs":{},"等":{"docs":{},"操":{"docs":{},"作":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}},"自":{"docs":{},"动":{"docs":{},"切":{"docs":{},"换":{"docs":{},",":{"docs":{},"当":{"docs":{},"出":{"docs":{},"现":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"重":{"docs":{},"试":{"docs":{},"其":{"docs":{},"它":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"读":{"docs":{},"操":{"docs":{},"作":{"docs":{},"(":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}},"。":{"docs":{},"(":{"docs":{},"缺":{"docs":{},"省":{"docs":{},")":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}}},"恢":{"docs":{},"复":{"docs":{},",":{"docs":{},"后":{"docs":{},"台":{"docs":{},"记":{"docs":{},"录":{"docs":{},"失":{"docs":{},"败":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"定":{"docs":{},"时":{"docs":{},"重":{"docs":{},"发":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"消":{"docs":{},"息":{"docs":{},"通":{"docs":{},"知":{"docs":{},"操":{"docs":{},"作":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"试":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"是":{"2":{"docs":{},"(":{"docs":{},"表":{"docs":{},"示":{"docs":{},"加":{"docs":{},"上":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"会":{"docs":{},"调":{"docs":{},"用":{"3":{"docs":{},"次":{"docs":{},")":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}},"docs":{}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}},"存":{"docs":{},"在":{"docs":{},"慢":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},"累":{"docs":{},"积":{"docs":{},"请":{"docs":{},"求":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"极":{"docs":{},"端":{"docs":{},"情":{"docs":{},"况":{"docs":{},"可":{"docs":{},"能":{"docs":{},"产":{"docs":{},"生":{"docs":{},"雪":{"docs":{},"崩":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"累":{"docs":{},"积":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"第":{"docs":{},"二":{"docs":{},"台":{"docs":{},"机":{"docs":{},"器":{"docs":{},"很":{"docs":{},"慢":{"docs":{},",":{"docs":{},"但":{"docs":{},"没":{"docs":{},"挂":{"docs":{},",":{"docs":{},"当":{"docs":{},"请":{"docs":{},"求":{"docs":{},"调":{"docs":{},"到":{"docs":{},"第":{"docs":{},"二":{"docs":{},"台":{"docs":{},"时":{"docs":{},"就":{"docs":{},"卡":{"docs":{},"在":{"docs":{},"那":{"docs":{},",":{"docs":{},"久":{"docs":{},"而":{"docs":{},"久":{"docs":{},"之":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"都":{"docs":{},"卡":{"docs":{},"在":{"docs":{},"调":{"docs":{},"到":{"docs":{},"第":{"docs":{},"二":{"docs":{},"台":{"docs":{},"上":{"docs":{},"。":{"docs":{"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},":":{"docs":{},"在":{"5":{"0":{"docs":{},"k":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"2":{"docs":{},".":{"0":{"docs":{},"性":{"docs":{},"能":{"docs":{},"不":{"docs":{},"如":{"1":{"docs":{},".":{"0":{"docs":{},",":{"docs":{},"怀":{"docs":{},"疑":{"docs":{},"可":{"docs":{},"能":{"docs":{},"是":{"docs":{},"缓":{"docs":{},"冲":{"docs":{},"区":{"docs":{},"设":{"docs":{},"置":{"docs":{},"的":{"docs":{},"问":{"docs":{},"题":{"docs":{},",":{"docs":{},"下":{"docs":{},"版":{"docs":{},"本":{"docs":{},"会":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"确":{"docs":{},"认":{"docs":{},"。":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}},"docs":{}}},"docs":{}}}}}}}},"docs":{}},"docs":{}}}}}}}},"小":{"docs":{},"规":{"docs":{},"模":{"docs":{},"应":{"docs":{},"用":{"docs":{},"或":{"docs":{},"开":{"docs":{},"发":{"docs":{},"测":{"docs":{},"试":{"docs":{},"环":{"docs":{},"境":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}},"广":{"docs":{},"播":{"docs":{},"调":{"docs":{},"用":{"docs":{},"所":{"docs":{},"有":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},",":{"docs":{},"逐":{"docs":{},"个":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"台":{"docs":{},"报":{"docs":{},"错":{"docs":{},"则":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"更":{"docs":{},"新":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"本":{"docs":{},"地":{"docs":{},"状":{"docs":{},"态":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}},"。":{"docs":{},"(":{"2":{"docs":{},".":{"1":{"docs":{},".":{"0":{"docs":{},"开":{"docs":{},"始":{"docs":{},"支":{"docs":{},"持":{"docs":{},")":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"延":{"docs":{},"迟":{"5":{"docs":{},"秒":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":0.06666666666666667}}}}}}}},"docs":{},"建":{"docs":{},"立":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"建":{"docs":{},"立":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}},"暴":{"docs":{},"露":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":5}},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"等":{"docs":{},"待":{"docs":{},"应":{"docs":{},"用":{"docs":{},"加":{"docs":{},"载":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"m":{"docs":{},"u":{"docs":{},"p":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"或":{"docs":{},"等":{"docs":{},"待":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"加":{"docs":{},"载":{"docs":{},"完":{"docs":{},"成":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"连":{"docs":{},"接":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/延迟连接.html":{"ref":"demos/延迟连接.html","tf":5}},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"减":{"docs":{},"少":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"数":{"docs":{},",":{"docs":{},"当":{"docs":{},"有":{"docs":{},"调":{"docs":{},"用":{"docs":{},"发":{"docs":{},"起":{"docs":{},"时":{"docs":{},",":{"docs":{},"再":{"docs":{},"创":{"docs":{},"建":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{"demos/延迟连接.html":{"ref":"demos/延迟连接.html","tf":0.5}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"到":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"成":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},":":{"docs":{},"(":{"docs":{},"基":{"docs":{},"于":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"事":{"docs":{},"件":{"docs":{},"触":{"docs":{},"发":{"docs":{},"暴":{"docs":{},"露":{"docs":{},")":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"服":{"docs":{},"务":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},")":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}},"异":{"docs":{},"步":{"docs":{},"调":{"docs":{},"用":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":5},"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}},"时":{"docs":{},",":{"docs":{},"标":{"docs":{},"记":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"网":{"docs":{},"络":{"docs":{},"已":{"docs":{},"发":{"docs":{},"出":{"docs":{},"数":{"docs":{},"据":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}},"回":{"docs":{},"调":{"docs":{},"模":{"docs":{},"式":{"docs":{},":":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"=":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}}},"无":{"docs":{},"回":{"docs":{},"调":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}},"常":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}},"待":{"docs":{},"发":{"docs":{},"送":{"docs":{},"消":{"docs":{},"息":{"docs":{},"队":{"docs":{},"列":{"docs":{},"派":{"docs":{},"发":{"docs":{},"不":{"docs":{},"及":{"docs":{},"时":{"docs":{},",":{"docs":{},"大":{"docs":{},"压":{"docs":{},"力":{"docs":{},"下":{"docs":{},",":{"docs":{},"会":{"docs":{},"出":{"docs":{},"现":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"g":{"docs":{},"c":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"快":{"docs":{},"速":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"只":{"docs":{},"发":{"docs":{},"起":{"docs":{},"一":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"失":{"docs":{},"败":{"docs":{},"立":{"docs":{},"即":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"非":{"docs":{},"幂":{"docs":{},"等":{"docs":{},"性":{"docs":{},"的":{"docs":{},"写":{"docs":{},"操":{"docs":{},"作":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"能":{"docs":{},"较":{"docs":{},"好":{"docs":{},",":{"docs":{},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"支":{"docs":{},"持":{"docs":{},"(":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}},"差":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.007853403141361256}}}},"调":{"docs":{},"优":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.051587301587301584},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.05405405405405406},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.07804878048780488},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.03225806451612903},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.07262569832402235},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.07333333333333333},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.07746478873239436}},":":{"docs":{},"表":{"docs":{},"示":{"docs":{},"该":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},"用":{"docs":{},"于":{"docs":{},"调":{"docs":{},"优":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"选":{"docs":{},"项":{"docs":{},"对":{"docs":{},"性":{"docs":{},"能":{"docs":{},"会":{"docs":{},"产":{"docs":{},"生":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"优":{"docs":{},"化":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.029411764705882353}}}},"测":{"docs":{},"试":{"docs":{},"报":{"docs":{},"告":{"docs":{"reference-protocol/introduction.html":{"ref":"reference-protocol/introduction.html","tf":0.3333333333333333},"perf-test.html":{"ref":"perf-test.html","tf":5}}}},"场":{"docs":{},"景":{"docs":{},"(":{"1":{"0":{"docs":{},"并":{"docs":{},"发":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}},"docs":{}},"docs":{}}}}}},"分":{"docs":{},"析":{"docs":{},"评":{"docs":{},"估":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}},"对":{"docs":{},"比":{"docs":{},"分":{"docs":{},"析":{"docs":{},"(":{"docs":{},"新":{"docs":{},"旧":{"docs":{},"环":{"docs":{},"境":{"docs":{},"、":{"docs":{},"不":{"docs":{},"同":{"docs":{},"数":{"docs":{},"据":{"docs":{},"量":{"docs":{},"级":{"docs":{},"等":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},"熟":{"docs":{},"度":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":5}}}}},"支":{"docs":{},"持":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}},"j":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"统":{"docs":{},"计":{"docs":{},"报":{"docs":{},"表":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}},"d":{"docs":{},"k":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"引":{"docs":{},"擎":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"脚":{"docs":{},"本":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{},",":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"双":{"docs":{},"写":{"docs":{},"的":{"docs":{},"集":{"docs":{},"群":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"高":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}},"网":{"docs":{},"络":{"docs":{},"的":{"docs":{},"集":{"docs":{},"群":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"有":{"docs":{},"广":{"docs":{},"泛":{"docs":{},"周":{"docs":{},"边":{"docs":{},"开":{"docs":{},"源":{"docs":{},"产":{"docs":{},"品":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},":":{"2":{"docs":{},".":{"0":{"docs":{},".":{"7":{"docs":{},"之":{"docs":{},"后":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}},"docs":{}}},"docs":{}}},"docs":{}}}},"的":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}},"z":{"docs":{},"k":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"和":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"两":{"docs":{},"种":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"实":{"docs":{},"现":{"docs":{},":":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"功":{"docs":{},"能":{"docs":{},":":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}},"最":{"docs":{},"少":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"调":{"docs":{},"用":{"docs":{},"数":{"docs":{},",":{"docs":{},"相":{"docs":{},"同":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"数":{"docs":{},"的":{"docs":{},"随":{"docs":{},"机":{"docs":{},",":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"数":{"docs":{},"指":{"docs":{},"调":{"docs":{},"用":{"docs":{},"前":{"docs":{},"后":{"docs":{},"计":{"docs":{},"数":{"docs":{},"差":{"docs":{},",":{"docs":{},"使":{"docs":{},"慢":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},"收":{"docs":{},"到":{"docs":{},"更":{"docs":{},"少":{"docs":{},"请":{"docs":{},"求":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}},"。":{"docs":{"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"值":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}},"小":{"docs":{},"值":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}},"有":{"docs":{},"些":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"多":{"docs":{},"分":{"docs":{},"支":{"docs":{},"条":{"docs":{},"件":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"规":{"docs":{},"则":{"docs":{},"很":{"docs":{},"难":{"docs":{},"描":{"docs":{},"述":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}},"时":{"docs":{},"候":{"docs":{},"希":{"docs":{},"望":{"docs":{},"人":{"docs":{},"工":{"docs":{},"管":{"docs":{},"理":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"上":{"docs":{},"线":{"docs":{},"和":{"docs":{},"下":{"docs":{},"线":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"需":{"docs":{},"将":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"标":{"docs":{},"识":{"docs":{},"为":{"docs":{},"非":{"docs":{},"动":{"docs":{},"态":{"docs":{},"管":{"docs":{},"理":{"docs":{},"模":{"docs":{},"式":{"docs":{"demos/静态服务.html":{"ref":"demos/静态服务.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"这":{"docs":{},"项":{"docs":{},"配":{"docs":{},"置":{"docs":{},"后":{"docs":{},",":{"docs":{},"当":{"docs":{},"应":{"docs":{},"用":{"docs":{},"重":{"docs":{},"启":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"时":{"docs":{},"则":{"docs":{},"应":{"docs":{},"用":{"docs":{},"会":{"docs":{},"从":{"docs":{},"这":{"docs":{},"个":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"文":{"docs":{},"件":{"docs":{},"读":{"docs":{},"取":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"列":{"docs":{},"表":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"进":{"docs":{},"一":{"docs":{},"步":{"docs":{},"保":{"docs":{},"证":{"docs":{},"应":{"docs":{},"用":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"。":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"本":{"docs":{},"地":{"docs":{},"伪":{"docs":{},"装":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":5}}}},"存":{"docs":{},"储":{"docs":{},",":{"docs":{},"影":{"docs":{},"响":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"受":{"docs":{},"磁":{"docs":{},"盘":{"docs":{},"大":{"docs":{},"小":{"docs":{},"限":{"docs":{},"制":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}},"根":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":5}}}},"调":{"docs":{},"用":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.005235602094240838},"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":5}},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"i":{"docs":{},"n":{"docs":{},"j":{"docs":{},"v":{"docs":{},"m":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"伪":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"它":{"docs":{},"不":{"docs":{},"开":{"docs":{},"启":{"docs":{},"端":{"docs":{},"口":{"docs":{},",":{"docs":{},"不":{"docs":{},"发":{"docs":{},"起":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"只":{"docs":{},"在":{"docs":{},"j":{"docs":{},"v":{"docs":{},"m":{"docs":{},"内":{"docs":{},"直":{"docs":{},"接":{"docs":{},"关":{"docs":{},"联":{"docs":{},",":{"docs":{},"但":{"docs":{},"执":{"docs":{},"行":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"链":{"docs":{},"。":{"docs":{"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"端":{"docs":{},"是":{"docs":{},"否":{"docs":{},"为":{"docs":{},"提":{"docs":{},"供":{"docs":{},"端":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}}}}}}}}}}}}}}},"消":{"docs":{},"费":{"docs":{},"端":{"docs":{},",":{"docs":{},"这":{"docs":{},"里":{"docs":{},"会":{"docs":{},"返":{"docs":{},"回":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}},"次":{"docs":{},"性":{"docs":{},"能":{"docs":{},"测":{"docs":{},"试":{"docs":{},"考":{"docs":{},"察":{"docs":{},"的":{"docs":{},"是":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"实":{"docs":{},"际":{"docs":{},"使":{"docs":{},"用":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"有":{"docs":{},"待":{"docs":{},"应":{"docs":{},"用":{"docs":{},"来":{"docs":{},"验":{"docs":{},"证":{"docs":{},"。":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"测":{"docs":{},"试":{"docs":{},"了":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"2":{"docs":{},".":{"0":{"docs":{},"所":{"docs":{},"有":{"docs":{},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"在":{"docs":{},"不":{"docs":{},"同":{"docs":{},"大":{"docs":{},"小":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"类":{"docs":{},"型":{"docs":{},"下":{"docs":{},"的":{"docs":{},"表":{"docs":{},"现":{"docs":{},",":{"docs":{},"并":{"docs":{},"与":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"1":{"docs":{},".":{"0":{"docs":{},"进":{"docs":{},"行":{"docs":{},"了":{"docs":{},"对":{"docs":{},"比":{"docs":{},"。":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}},"条":{"docs":{},"件":{"docs":{},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}},"支":{"docs":{},"持":{"docs":{},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}},"没":{"docs":{},"有":{"docs":{},"运":{"docs":{},"行":{"docs":{},"沙":{"docs":{},"箱":{"docs":{},",":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"能":{"docs":{},"力":{"docs":{},"过":{"docs":{},"于":{"docs":{},"强":{"docs":{},"大":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"成":{"docs":{},"为":{"docs":{},"后":{"docs":{},"门":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}},"集":{"docs":{},"群":{"docs":{},"支":{"docs":{},"持":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"单":{"docs":{},"点":{"docs":{},"故":{"docs":{},"障":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}},",":{"docs":{},"但":{"docs":{},"故":{"docs":{},"障":{"docs":{},"后":{"docs":{},"不":{"docs":{},"影":{"docs":{},"响":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"运":{"docs":{},"行":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"时":{"docs":{},"报":{"docs":{},"错":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.058823529411764705}}}}}}}},"配":{"docs":{},"置":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},",":{"docs":{},"则":{"docs":{},"会":{"docs":{},"分":{"docs":{},"配":{"docs":{},"一":{"docs":{},"个":{"docs":{},"没":{"docs":{},"有":{"docs":{},"被":{"docs":{},"占":{"docs":{},"用":{"docs":{},"的":{"docs":{},"端":{"docs":{},"口":{"docs":{},"。":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"泛":{"docs":{},"化":{"docs":{},"实":{"docs":{},"现":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":5},"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}},",":{"docs":{},"无":{"docs":{},"需":{"docs":{},"业":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{},"类":{"docs":{},"实":{"docs":{},"现":{"docs":{},"任":{"docs":{},"意":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"平":{"docs":{},"台":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":5}}}},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"无":{"docs":{},"需":{"docs":{},"业":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{},"类":{"docs":{},"进":{"docs":{},"行":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"测":{"docs":{},"试":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"开":{"docs":{},"放":{"docs":{},"网":{"docs":{},"关":{"docs":{},"桥":{"docs":{},"接":{"docs":{},"等":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"式":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"没":{"docs":{},"有":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"接":{"docs":{},"口":{"docs":{},"及":{"docs":{},"模":{"docs":{},"型":{"docs":{},"类":{"docs":{},"元":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},"及":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"中":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"p":{"docs":{},"o":{"docs":{},"j":{"docs":{},"o":{"docs":{},"均":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"表":{"docs":{},"示":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"框":{"docs":{},"架":{"docs":{},"集":{"docs":{},"成":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"测":{"docs":{},"试":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"可":{"docs":{},"通":{"docs":{},"过":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"调":{"docs":{},"用":{"docs":{},"所":{"docs":{},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"方":{"docs":{},"式":{"docs":{},"主":{"docs":{},"要":{"docs":{},"用":{"docs":{},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"没":{"docs":{},"有":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"接":{"docs":{},"口":{"docs":{},"及":{"docs":{},"模":{"docs":{},"型":{"docs":{},"类":{"docs":{},"元":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"参":{"docs":{},"数":{"docs":{},"及":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"中":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"p":{"docs":{},"o":{"docs":{},"j":{"docs":{},"o":{"docs":{},"均":{"docs":{},"用":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"表":{"docs":{},"示":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"框":{"docs":{},"架":{"docs":{},"集":{"docs":{},"成":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"实":{"docs":{},"现":{"docs":{},"一":{"docs":{},"个":{"docs":{},"通":{"docs":{},"用":{"docs":{},"的":{"docs":{},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"可":{"docs":{},"通":{"docs":{},"过":{"docs":{},"实":{"docs":{},"现":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"接":{"docs":{},"口":{"docs":{},"处":{"docs":{},"理":{"docs":{},"所":{"docs":{},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"测":{"docs":{},"试":{"docs":{},"环":{"docs":{},"境":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},"使":{"docs":{},"用":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}},"分":{"docs":{},"析":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"局":{"docs":{},"限":{"docs":{},"性":{"docs":{},"分":{"docs":{},"析":{"docs":{},"(":{"docs":{},"可":{"docs":{},"选":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}},"目":{"docs":{},"的":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"结":{"docs":{},"果":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"脚":{"docs":{},"本":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"说":{"docs":{},"明":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"覆":{"docs":{},"盖":{"docs":{},"率":{"docs":{},"报":{"docs":{},"告":{"docs":{"coveragence.html":{"ref":"coveragence.html","tf":5.166666666666667}}}}}}}}},"点":{"docs":{},"对":{"docs":{},"点":{"docs":{},"直":{"docs":{},"连":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"测":{"docs":{},"试":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}},"者":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"将":{"docs":{},"绕":{"docs":{},"过":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}}}}}}}}}}}}}},"特":{"docs":{},"殊":{"docs":{},"场":{"docs":{},"景":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}},"使":{"docs":{},"用":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.005235602094240838}}}}}}}},"直":{"docs":{},"连":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":5}}}}},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"地":{"docs":{},"址":{"docs":{},",":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"=":{"docs":{},"\"":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"3":{"0":{"docs":{},".":{"2":{"3":{"0":{"docs":{},":":{"1":{"2":{"0":{"8":{"0":{"docs":{},"\"":{"docs":{"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}},":":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}},"接":{"docs":{},"对":{"docs":{},"基":{"docs":{},"本":{"docs":{},"类":{"docs":{},"型":{"docs":{},"参":{"docs":{},"数":{"docs":{},"验":{"docs":{},"证":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}},"策":{"docs":{},"略":{"docs":{},"成":{"docs":{},"熟":{"docs":{},"度":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}},"粘":{"docs":{},"滞":{"docs":{},"连":{"docs":{},"接":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/粘滞连接.html":{"ref":"demos/粘滞连接.html","tf":5}},",":{"docs":{},"总":{"docs":{},"是":{"docs":{},"向":{"docs":{},"同":{"docs":{},"一":{"docs":{},"个":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"发":{"docs":{},"起":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"除":{"docs":{},"非":{"docs":{},"此":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"挂":{"docs":{},"掉":{"docs":{},",":{"docs":{},"再":{"docs":{},"切":{"docs":{},"换":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"台":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"自":{"docs":{},"动":{"docs":{},"开":{"docs":{},"启":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"数":{"docs":{},",":{"docs":{"demos/粘滞连接.html":{"ref":"demos/粘滞连接.html","tf":0.3333333333333333}}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"于":{"docs":{},"有":{"docs":{},"状":{"docs":{},"态":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"尽":{"docs":{},"可":{"docs":{},"能":{"docs":{},"让":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"总":{"docs":{},"是":{"docs":{},"向":{"docs":{},"同":{"docs":{},"一":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"发":{"docs":{},"起":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"除":{"docs":{},"非":{"docs":{},"该":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"挂":{"docs":{},"了":{"docs":{},",":{"docs":{},"再":{"docs":{},"连":{"docs":{},"另":{"docs":{},"一":{"docs":{},"台":{"docs":{},"。":{"docs":{"demos/粘滞连接.html":{"ref":"demos/粘滞连接.html","tf":0.3333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"纯":{"docs":{},"文":{"docs":{},"本":{"docs":{},",":{"docs":{},"可":{"docs":{},"跨":{"docs":{},"语":{"docs":{},"言":{"docs":{},"解":{"docs":{},"析":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"采":{"docs":{},"用":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"解":{"docs":{},"析":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"不":{"docs":{},"可":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"不":{"docs":{},"能":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"下":{"docs":{},"一":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"可":{"docs":{},"选":{"docs":{},":":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"/":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}},"队":{"docs":{},"列":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"当":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"满":{"docs":{},"时":{"docs":{},",":{"docs":{},"排":{"docs":{},"队":{"docs":{},"等":{"docs":{},"待":{"docs":{},"执":{"docs":{},"行":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{},"大":{"docs":{},"小":{"docs":{},",":{"docs":{},"建":{"docs":{},"议":{"docs":{},"不":{"docs":{},"要":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"当":{"docs":{},"线":{"docs":{},"程":{"docs":{},"程":{"docs":{},"池":{"docs":{},"时":{"docs":{},"应":{"docs":{},"立":{"docs":{},"即":{"docs":{},"失":{"docs":{},"败":{"docs":{},",":{"docs":{},"重":{"docs":{},"试":{"docs":{},"其":{"docs":{},"它":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"机":{"docs":{},"器":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"排":{"docs":{},"队":{"docs":{},",":{"docs":{},"除":{"docs":{},"非":{"docs":{},"有":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"需":{"docs":{},"求":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"型":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":5}}}}}},"结":{"docs":{},"果":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}},"缓":{"docs":{},"存":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":5}},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"加":{"docs":{},"速":{"docs":{},"请":{"docs":{},"求":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}},"热":{"docs":{},"门":{"docs":{},"数":{"docs":{},"据":{"docs":{},"的":{"docs":{},"访":{"docs":{},"问":{"docs":{},"速":{"docs":{},"度":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"提":{"docs":{},"供":{"docs":{},"声":{"docs":{},"明":{"docs":{},"式":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{},"用":{"docs":{},"户":{"docs":{},"加":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"的":{"docs":{},"工":{"docs":{},"作":{"docs":{},"量":{"docs":{},"。":{"docs":{"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"尾":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"通":{"docs":{},"配":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}},"老":{"docs":{},"牌":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"稳":{"docs":{},"定":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{},"服":{"docs":{},"务":{"docs":{"demos/多版本.html":{"ref":"demos/多版本.html","tf":0.1111111111111111}}}}}}},"脚":{"docs":{},"本":{"docs":{},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}},"没":{"docs":{},"有":{"docs":{},"沙":{"docs":{},"箱":{"docs":{},"约":{"docs":{},"束":{"docs":{},",":{"docs":{},"可":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"意":{"docs":{},"代":{"docs":{},"码":{"docs":{},",":{"docs":{},"存":{"docs":{},"在":{"docs":{},"后":{"docs":{},"门":{"docs":{},"风":{"docs":{},"险":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}},"要":{"docs":{},"求":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"时":{"docs":{},"间":{"docs":{},"同":{"docs":{},"步":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"检":{"docs":{},"查":{"docs":{},"心":{"docs":{},"跳":{"docs":{},"过":{"docs":{},"期":{"docs":{},"脏":{"docs":{},"数":{"docs":{},"据":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"日":{"docs":{},"志":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/访问日志.html":{"ref":"demos/访问日志.html","tf":5}},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"记":{"docs":{},"录":{"docs":{},"调":{"docs":{},"用":{"docs":{},"信":{"docs":{},"息":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}},"试":{"docs":{},"用":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.05235602094240838}}}},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":5}},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},":":{"docs":{},"路":{"docs":{},"由":{"docs":{},"扩":{"docs":{},"展":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}},"的":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"排":{"docs":{},"序":{"docs":{},",":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"越":{"docs":{},"大":{"docs":{},"越":{"docs":{},"靠":{"docs":{},"前":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"可":{"docs":{},"不":{"docs":{},"填":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"为":{"0":{"docs":{},"。":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},"值":{"docs":{"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.038461538461538464}}},"键":{"docs":{"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.038461538461538464}}}}}},"径":{"docs":{},"对":{"docs":{},"应":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},")":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"未":{"docs":{},"设":{"docs":{},"置":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"为":{"docs":{},"接":{"docs":{},"口":{"docs":{},"名":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"轮":{"docs":{},"循":{"docs":{},",":{"docs":{},"按":{"docs":{},"公":{"docs":{},"约":{"docs":{},"后":{"docs":{},"的":{"docs":{},"权":{"docs":{},"重":{"docs":{},"设":{"docs":{},"置":{"docs":{},"轮":{"docs":{},"循":{"docs":{},"比":{"docs":{},"率":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}},"。":{"docs":{"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664}}}}}}}}}}}}}}}}}}},"速":{"docs":{},"度":{"docs":{},"慢":{"docs":{},",":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"台":{"docs":{},"报":{"docs":{},"错":{"docs":{},"则":{"docs":{},"报":{"docs":{},"错":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"复":{"docs":{},"用":{"docs":{},"单":{"docs":{},"一":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"并":{"docs":{},"发":{"docs":{},"处":{"docs":{},"理":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{},"握":{"docs":{},"手":{"docs":{},"和":{"docs":{},"加":{"docs":{},"大":{"docs":{},"并":{"docs":{},"发":{"docs":{},"效":{"docs":{},"率":{"docs":{},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"较":{"docs":{},"好":{"docs":{},"(":{"docs":{},"推":{"docs":{},"荐":{"docs":{},"使":{"docs":{},"用":{"docs":{},")":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}},"重":{"docs":{},"试":{"docs":{},"会":{"docs":{},"带":{"docs":{},"来":{"docs":{},"更":{"docs":{},"长":{"docs":{},"延":{"docs":{},"迟":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}}}}},"次":{"docs":{},"数":{"docs":{},"配":{"docs":{},"置":{"docs":{},"如":{"docs":{},":":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}},"附":{"docs":{},"加":{"docs":{},"参":{"docs":{},"数":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419}}}}}},"隐":{"docs":{},"式":{"docs":{},"传":{"docs":{},"参":{"docs":{"maturity/maturity.html":{"ref":"maturity/maturity.html","tf":0.002617801047120419},"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"都":{"docs":{},"会":{"docs":{},"隐":{"docs":{},"式":{"docs":{},"将":{"docs":{},"这":{"docs":{},"些":{"docs":{},"参":{"docs":{},"数":{"docs":{},"发":{"docs":{},"送":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},",":{"docs":{},"类":{"docs":{},"似":{"docs":{},"c":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{},"e":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"框":{"docs":{},"架":{"docs":{},"集":{"docs":{},"成":{"docs":{},",":{"docs":{},"不":{"docs":{},"建":{"docs":{},"议":{"docs":{},"常":{"docs":{},"规":{"docs":{},"业":{"docs":{},"务":{"docs":{},"使":{"docs":{},"用":{"docs":{"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":5}}}}}},"上":{"docs":{},"图":{"docs":{},"中":{"docs":{},"以":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"为":{"docs":{},"例":{"docs":{},",":{"docs":{},"显":{"docs":{},"示":{"docs":{},"了":{"docs":{},"配":{"docs":{},"置":{"docs":{},"的":{"docs":{},"查":{"docs":{},"找":{"docs":{},"顺":{"docs":{},"序":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"下":{"docs":{},"文":{"docs":{},"中":{"docs":{},"存":{"docs":{},"放":{"docs":{},"的":{"docs":{},"是":{"docs":{},"当":{"docs":{},"前":{"docs":{},"调":{"docs":{},"用":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"所":{"docs":{},"需":{"docs":{},"的":{"docs":{},"环":{"docs":{},"境":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}},"信":{"docs":{},"息":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":5}}}},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}},"述":{"docs":{},"场":{"docs":{},"景":{"docs":{},"在":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"1":{"docs":{},".":{"0":{"docs":{},"\\":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"2":{"docs":{},".":{"0":{"docs":{},"(":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"2":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},")":{"docs":{},"\\":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"2":{"docs":{},".":{"0":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},")":{"docs":{},"\\":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"\\":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"3":{"docs":{},".":{"2":{"docs":{},".":{"0":{"docs":{},"\\":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"(":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},")":{"docs":{},"进":{"docs":{},"行":{"1":{"0":{"docs":{},"分":{"docs":{},"钟":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"测":{"docs":{},"试":{"docs":{},"。":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"配":{"docs":{},"置":{"docs":{},"提":{"docs":{},"供":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"协":{"docs":{},"议":{"docs":{},"由":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"指":{"docs":{},"定":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"被":{"docs":{},"动":{"docs":{},"接":{"docs":{},"受":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625}}},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}},"名":{"docs":{},"称":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"当":{"docs":{},"协":{"docs":{},"议":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"种":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"方":{"docs":{},"式":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},",":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"2":{"docs":{},",":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"等":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}},",":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"等":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},",":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"等":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},",":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"等":{"docs":{},",":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"j":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"等":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"端":{"docs":{},"和":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},",":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"等":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"分":{"docs":{},"拆":{"docs":{},"为":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"配":{"docs":{},"置":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"派":{"docs":{},"发":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"指":{"docs":{},"定":{"docs":{},"线":{"docs":{},"程":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},",":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"路":{"docs":{},"径":{"docs":{},"必":{"docs":{},"须":{"docs":{},"与":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"路":{"docs":{},"径":{"docs":{},"相":{"docs":{},"同":{"docs":{},"。":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}}}}}}}}}}}}},"端":{"docs":{},"口":{"docs":{},"必":{"docs":{},"须":{"docs":{},"与":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"容":{"docs":{},"器":{"docs":{},"的":{"docs":{},"端":{"docs":{},"口":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}}}}}}}},"编":{"docs":{},"码":{"docs":{},"方":{"docs":{},"式":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}},"参":{"docs":{},"考":{"docs":{},"手":{"docs":{},"册":{"docs":{"reference-protocol/introduction.html":{"ref":"reference-protocol/introduction.html","tf":5}}}}}},":":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.05128205128205128}}},"是":{"docs":{},"对":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}}},"应":{"docs":{},"用":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"配":{"docs":{},"置":{"docs":{},"当":{"docs":{},"前":{"docs":{},"应":{"docs":{},"用":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"不":{"docs":{},"管":{"docs":{},"该":{"docs":{},"应":{"docs":{},"用":{"docs":{},"是":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"还":{"docs":{},"是":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{},"、":{"docs":{},"组":{"docs":{},"织":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}},"信":{"docs":{},"息":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"类":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"环":{"docs":{},"境":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"p":{"docs":{},"/":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},",":{"docs":{},"不":{"docs":{},"同":{"docs":{},"环":{"docs":{},"境":{"docs":{},"使":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"值":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"作":{"docs":{},"为":{"docs":{},"只":{"docs":{},"用":{"docs":{},"于":{"docs":{},"开":{"docs":{},"发":{"docs":{},"测":{"docs":{},"试":{"docs":{},"功":{"docs":{},"能":{"docs":{},"的":{"docs":{},"限":{"docs":{},"制":{"docs":{},"条":{"docs":{},"件":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"治":{"docs":{},"理":{"docs":{},",":{"docs":{},"请":{"docs":{},"填":{"docs":{},"写":{"docs":{},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{},"公":{"docs":{},"司":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},"前":{"docs":{},"缀":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}},"建":{"docs":{},"议":{"docs":{},"由":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"设":{"docs":{},"置":{"docs":{},"超":{"docs":{},"时":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"一":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"需":{"docs":{},"要":{"docs":{},"执":{"docs":{},"行":{"docs":{},"多":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"更":{"docs":{},"清":{"docs":{},"楚":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"同":{"docs":{},"时":{"docs":{},"引":{"docs":{},"用":{"docs":{},"多":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"就":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"关":{"docs":{},"心":{"docs":{},"每":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"超":{"docs":{},"时":{"docs":{},"设":{"docs":{},"置":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"要":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"让":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"自":{"docs":{},"动":{"docs":{},"获":{"docs":{},"取":{"docs":{},"本":{"docs":{},"机":{"docs":{},"i":{"docs":{},"p":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}}}}}}}}}}}}}}}}}}}},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}},"两":{"docs":{},"位":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"第":{"docs":{},"三":{"docs":{},"位":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"通":{"docs":{},"常":{"docs":{},"表":{"docs":{},"示":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"升":{"docs":{},"级":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"不":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"时":{"docs":{},"才":{"docs":{},"需":{"docs":{},"要":{"docs":{},"变":{"docs":{},"更":{"docs":{},"服":{"docs":{},"务":{"docs":{},"版":{"docs":{},"本":{"docs":{},"。":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"异":{"docs":{},"常":{"docs":{},"汇":{"docs":{},"报":{"docs":{},"错":{"docs":{},"误":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"错":{"docs":{},"误":{"docs":{},"码":{"docs":{},",":{"docs":{},"异":{"docs":{},"常":{"docs":{},"信":{"docs":{},"息":{"docs":{},"能":{"docs":{},"携":{"docs":{},"带":{"docs":{},"更":{"docs":{},"多":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"以":{"docs":{},"及":{"docs":{},"语":{"docs":{},"义":{"docs":{},"更":{"docs":{},"友":{"docs":{},"好":{"docs":{},",":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"服":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"模":{"docs":{},"型":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"异":{"docs":{},"常":{"docs":{},"等":{"docs":{},"均":{"docs":{},"放":{"docs":{},"在":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"包":{"docs":{},"中":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"模":{"docs":{},"型":{"docs":{},"及":{"docs":{},"异":{"docs":{},"常":{"docs":{},"也":{"docs":{},"是":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"的":{"docs":{},"一":{"docs":{},"部":{"docs":{},"分":{"docs":{},",":{"docs":{},"同":{"docs":{},"时":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"做":{"docs":{},"也":{"docs":{},"符":{"docs":{},"合":{"docs":{},"分":{"docs":{},"包":{"docs":{},"原":{"docs":{},"则":{"docs":{},":":{"docs":{},"重":{"docs":{},"用":{"docs":{},"发":{"docs":{},"布":{"docs":{},"等":{"docs":{},"价":{"docs":{},"原":{"docs":{},"则":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{},"共":{"docs":{},"同":{"docs":{},"重":{"docs":{},"用":{"docs":{},"原":{"docs":{},"则":{"docs":{},"(":{"docs":{},"c":{"docs":{},"r":{"docs":{},"p":{"docs":{},")":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"引":{"docs":{},"用":{"docs":{"demos/服务分组.html":{"ref":"demos/服务分组.html","tf":0.2}},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"创":{"docs":{},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"一":{"docs":{},"个":{"docs":{},"引":{"docs":{},"用":{"docs":{},"可":{"docs":{},"以":{"docs":{},"指":{"docs":{},"向":{"docs":{},"多":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}},"缺":{"docs":{},"省":{"docs":{},"是":{"docs":{},"延":{"docs":{},"迟":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"的":{"docs":{},",":{"docs":{},"只":{"docs":{},"有":{"docs":{},"引":{"docs":{},"用":{"docs":{},"被":{"docs":{},"注":{"docs":{},"入":{"docs":{},"到":{"docs":{},"其":{"docs":{},"它":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},",":{"docs":{},"或":{"docs":{},"被":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"获":{"docs":{},"取":{"docs":{},",":{"docs":{},"才":{"docs":{},"会":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"。":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{"demos/多版本.html":{"ref":"demos/多版本.html","tf":0.1111111111111111}}}}},"老":{"docs":{},"版":{"docs":{},"本":{"docs":{"demos/多版本.html":{"ref":"demos/多版本.html","tf":0.1111111111111111}}}}}}},"或":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.06666666666666667},"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.125},"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625},"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818},"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332},"demos/并发控制.html":{"ref":"demos/并发控制.html","tf":0.2},"demos/连接控制.html":{"ref":"demos/连接控制.html","tf":0.14285714285714285},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.02631578947368421},"reference-registry/multicast.html":{"ref":"reference-registry/multicast.html","tf":0.18181818181818182},"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.0625}},":":{"docs":{"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705},"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.07894736842105263}},"(":{"2":{"docs":{},".":{"1":{"docs":{},".":{"0":{"docs":{},"开":{"docs":{},"始":{"docs":{},"支":{"docs":{},"持":{"docs":{},")":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}},"docs":{}}},"docs":{}}},"docs":{},"通":{"docs":{},"过":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"下":{"docs":{},"的":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"配":{"docs":{},"置":{"docs":{},"传":{"docs":{},"入":{"docs":{},"要":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{},")":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"v":{"docs":{},"m":{"docs":{},"启":{"docs":{},"动":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"入":{"docs":{},"要":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{},")":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"函":{"docs":{},"数":{"docs":{},"参":{"docs":{},"数":{"docs":{},"传":{"docs":{},"入":{"docs":{},"要":{"docs":{},"加":{"docs":{},"载":{"docs":{},"的":{"docs":{},"容":{"docs":{},"器":{"docs":{},")":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}}}}}},"者":{"docs":{"demos/只订阅.html":{"ref":"demos/只订阅.html","tf":0.25},"demos/只注册.html":{"ref":"demos/只注册.html","tf":0.25},"demos/静态服务.html":{"ref":"demos/静态服务.html","tf":0.07142857142857142},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"用":{"docs":{},"标":{"docs":{},"准":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"协":{"docs":{},"议":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"协":{"docs":{},"议":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"协":{"docs":{},"议":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},",":{"docs":{},"点":{"docs":{},"对":{"docs":{},"点":{"docs":{},"直":{"docs":{},"连":{"docs":{},":":{"docs":{"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.047619047619047616},"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.05}}}}}}}}},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}},"在":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"中":{"docs":{},"加":{"docs":{},"入":{"docs":{},"主":{"docs":{},"机":{"docs":{},"地":{"docs":{},"址":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"直":{"docs":{},"接":{"docs":{},"下":{"docs":{},"载":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"o":{"1":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"2":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"p":{"docs":{},"f":{"docs":{},"/":{"docs":{},"z":{"docs":{},"k":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"x":{"docs":{},"/":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"/":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"/":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"所":{"docs":{},"有":{"docs":{},"标":{"docs":{},"签":{"docs":{},"者":{"docs":{},"支":{"docs":{},"持":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"不":{"docs":{},"同":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"特":{"docs":{},"殊":{"docs":{},"配":{"docs":{},"置":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}}}}}}}}},"消":{"docs":{},"息":{"docs":{},"都":{"docs":{},"不":{"docs":{},"派":{"docs":{},"发":{"docs":{},"到":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},",":{"docs":{},"全":{"docs":{},"部":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"直":{"docs":{},"接":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}},"派":{"docs":{},"发":{"docs":{},"到":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},",":{"docs":{},"包":{"docs":{},"括":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"响":{"docs":{},"应":{"docs":{},",":{"docs":{},"连":{"docs":{},"接":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"断":{"docs":{},"开":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"心":{"docs":{},"跳":{"docs":{},"等":{"docs":{},"。":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"自":{"docs":{},"动":{"docs":{},"实":{"docs":{},"现":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"将":{"docs":{},"任":{"docs":{},"意":{"docs":{},"服":{"docs":{},"务":{"docs":{},"引":{"docs":{},"用":{"docs":{},"强":{"docs":{},"制":{"docs":{},"转":{"docs":{},"型":{"docs":{},"为":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},",":{"docs":{},"即":{"docs":{},"可":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"共":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"端":{"docs":{},"口":{"docs":{},":":{"docs":{},"(":{"docs":{},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"t":{"docs":{},"不":{"docs":{},"兼":{"docs":{},"容":{"docs":{},")":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"都":{"docs":{},"将":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}},"最":{"docs":{},"终":{"docs":{},"都":{"docs":{},"将":{"docs":{},"转":{"docs":{},"换":{"docs":{},"为":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"表":{"docs":{},"示":{"docs":{},",":{"docs":{},"并":{"docs":{},"由":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"生":{"docs":{},"成":{"docs":{},",":{"docs":{},"经":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"传":{"docs":{},"递":{"docs":{},"给":{"docs":{},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},",":{"docs":{},"各":{"docs":{},"属":{"docs":{},"性":{"docs":{},"对":{"docs":{},"应":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},"一":{"docs":{},"览":{"docs":{},"表":{"docs":{},"中":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"对":{"docs":{},"应":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"\"":{"docs":{},"列":{"docs":{},"。":{"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"分":{"docs":{},"为":{"docs":{},"三":{"docs":{},"大":{"docs":{},"类":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},"下":{"docs":{},"表":{"docs":{},"中":{"docs":{},"的":{"docs":{},"\"":{"docs":{},"作":{"docs":{},"用":{"docs":{},"\"":{"docs":{},"一":{"docs":{},"列":{"docs":{},"。":{"docs":{"reference-xmlconf/introduction.html":{"ref":"reference-xmlconf/introduction.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}},"支":{"docs":{},"持":{"docs":{},"的":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"命":{"docs":{},"令":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"命":{"docs":{},"令":{"docs":{},"用":{"docs":{},"逗":{"docs":{},"号":{"docs":{},"分":{"docs":{},"隔":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"的":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"值":{"docs":{},",":{"docs":{},"当":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"和":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"某":{"docs":{},"属":{"docs":{},"性":{"docs":{},"没":{"docs":{},"有":{"docs":{},"配":{"docs":{},"置":{"docs":{},"时":{"docs":{},",":{"docs":{},"采":{"docs":{},"用":{"docs":{},"此":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"值":{"docs":{},",":{"docs":{},"可":{"docs":{},"选":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"广":{"docs":{},"播":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"reference-registry/multicast.html":{"ref":"reference-registry/multicast.html","tf":0.09090909090909091}}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"请":{"docs":{},"求":{"docs":{},"时":{"docs":{},",":{"docs":{},"单":{"docs":{},"播":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},"给":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"广":{"docs":{},"播":{"docs":{},"给":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"者":{"docs":{},"。":{"docs":{"reference-registry/multicast.html":{"ref":"reference-registry/multicast.html","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"者":{"docs":{},"与":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"部":{"docs":{},"署":{"docs":{},"在":{"docs":{},"同":{"docs":{},"集":{"docs":{},"群":{"docs":{},"内":{"docs":{},",":{"docs":{},"本":{"docs":{},"机":{"docs":{},"只":{"docs":{},"访":{"docs":{},"问":{"docs":{},"本":{"docs":{},"机":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"p":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"的":{"docs":{},"前":{"docs":{},"缀":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"协":{"docs":{},"议":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"直":{"docs":{},"接":{"docs":{},"用":{"docs":{},"标":{"docs":{},"准":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"接":{"docs":{},"口":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"协":{"docs":{},"议":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"直":{"docs":{},"接":{"docs":{},"用":{"docs":{},"标":{"docs":{},"准":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"接":{"docs":{},"口":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"协":{"docs":{},"议":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"直":{"docs":{},"接":{"docs":{},"用":{"docs":{},"标":{"docs":{},"准":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"接":{"docs":{},"口":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"列":{"docs":{},"表":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"文":{"docs":{},"件":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}},"端":{"docs":{},"特":{"docs":{},"定":{"docs":{},"接":{"docs":{},"口":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"级":{"docs":{},"优":{"docs":{},"先":{"docs":{},",":{"docs":{},"接":{"docs":{},"口":{"docs":{},"级":{"docs":{},"次":{"docs":{},"之":{"docs":{},",":{"docs":{},"全":{"docs":{},"局":{"docs":{},"配":{"docs":{},"置":{"docs":{},"再":{"docs":{},"次":{"docs":{},"之":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"置":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}},"配":{"docs":{},"置":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"类":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{},"该":{"docs":{},"标":{"docs":{},"签":{"docs":{},"为":{"docs":{},"|":{"docs":{},"或":{"docs":{},"|":{"docs":{},"的":{"docs":{},"子":{"docs":{},"标":{"docs":{},"签":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"控":{"docs":{},"制":{"docs":{},"到":{"docs":{},"方":{"docs":{},"法":{"docs":{},"级":{"docs":{},",":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"别":{"docs":{},"优":{"docs":{},"于":{"docs":{},"接":{"docs":{},"口":{"docs":{},"级":{"docs":{},"别":{"docs":{},",":{"docs":{},"即":{"docs":{},"小":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"优":{"docs":{},"先":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"和":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"指":{"docs":{},"定":{"docs":{},"方":{"docs":{},"法":{"docs":{},"级":{"docs":{},"的":{"docs":{},"配":{"docs":{},"置":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"名":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}},"建":{"docs":{},"议":{"docs":{},"和":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.047619047619047616}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"的":{"docs":{},"标":{"docs":{},"准":{"docs":{},"方":{"docs":{},"法":{"docs":{},"名":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},")":{"docs":{},",":{"docs":{"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"执":{"docs":{},"行":{"docs":{},"前":{"docs":{},"拦":{"docs":{},"截":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}},"有":{"docs":{},"异":{"docs":{},"常":{"docs":{},"拦":{"docs":{},"截":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}},"返":{"docs":{},"回":{"docs":{},"后":{"docs":{},"拦":{"docs":{},"截":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},"时":{"docs":{},"才":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"返":{"docs":{},"回":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},",":{"docs":{},"或":{"docs":{},"回":{"docs":{},"调":{"docs":{},"o":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{},"等":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"置":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"则":{"docs":{},"请":{"docs":{},"求":{"docs":{},"发":{"docs":{},"送":{"docs":{},"成":{"docs":{},"功":{"docs":{},"后":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"超":{"docs":{},"时":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},")":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}}}}},"参":{"docs":{},"数":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"类":{"docs":{},":":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{},"该":{"docs":{},"标":{"docs":{},"签":{"docs":{},"为":{"docs":{},"|":{"docs":{},"的":{"docs":{},"子":{"docs":{},"标":{"docs":{},"签":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"方":{"docs":{},"法":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"特":{"docs":{},"征":{"docs":{},"描":{"docs":{},"述":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"模":{"docs":{},"块":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"配":{"docs":{},"置":{"docs":{},"当":{"docs":{},"前":{"docs":{},"模":{"docs":{},"块":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"可":{"docs":{},"选":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}},"信":{"docs":{},"息":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564}}}}}}},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"服":{"docs":{},"务":{"docs":{},"治":{"docs":{},"理":{"docs":{},",":{"docs":{},"请":{"docs":{},"填":{"docs":{},"写":{"docs":{},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{},"公":{"docs":{},"司":{"docs":{},"邮":{"docs":{},"箱":{"docs":{},"前":{"docs":{},"缀":{"docs":{"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564}}}}}}}}}}}}}}}}}}}}}}}}}},"型":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"当":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"某":{"docs":{},"属":{"docs":{},"性":{"docs":{},"没":{"docs":{},"有":{"docs":{},"配":{"docs":{},"置":{"docs":{},"时":{"docs":{},",":{"docs":{},"采":{"docs":{},"用":{"docs":{},"此":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"值":{"docs":{},",":{"docs":{},"可":{"docs":{},"选":{"docs":{},"。":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"广":{"docs":{},"播":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"请":{"docs":{},"求":{"docs":{},"。":{"docs":{"reference-registry/multicast.html":{"ref":"reference-registry/multicast.html","tf":0.09090909090909091}}}}}}}}}}}},"收":{"docs":{},"到":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"地":{"docs":{},"址":{"docs":{},"时":{"docs":{},",":{"docs":{},"连":{"docs":{},"接":{"docs":{},"该":{"docs":{},"地":{"docs":{},"址":{"docs":{},"进":{"docs":{},"行":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"reference-registry/multicast.html":{"ref":"reference-registry/multicast.html","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}},"者":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},",":{"docs":{},"没":{"docs":{},"有":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"是":{"docs":{},"否":{"docs":{},"抛":{"docs":{},"异":{"docs":{},"常":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}},"端":{"docs":{},",":{"docs":{},"最":{"docs":{},"大":{"docs":{},"并":{"docs":{},"发":{"docs":{},"调":{"docs":{},"用":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"即":{"docs":{},"当":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"对":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"并":{"docs":{},"发":{"docs":{},"调":{"docs":{},"用":{"docs":{},"到":{"docs":{},"上":{"docs":{},"限":{"docs":{},"后":{"docs":{},",":{"docs":{},"新":{"docs":{},"调":{"docs":{},"用":{"docs":{},"会":{"docs":{},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"直":{"docs":{},"到":{"docs":{},"超":{"docs":{},"时":{"docs":{},"。":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"除":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"中":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},",":{"docs":{},"销":{"docs":{},"毁":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"并":{"docs":{},"释":{"docs":{},"放":{"docs":{},"对":{"docs":{},"应":{"docs":{},"的":{"docs":{},"资":{"docs":{},"源":{"docs":{},"。":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"示":{"docs":{},"例":{"docs":{},":":{"docs":{"configuration/xml.html":{"ref":"configuration/xml.html","tf":0.030303030303030304},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421},"recommend.html":{"ref":"recommend.html","tf":0.018867924528301886}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"典":{"docs":{},"型":{"docs":{},"配":{"docs":{},"置":{"docs":{},"如":{"docs":{},":":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}}},"将":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},"配":{"docs":{},"置":{"docs":{},"的":{"docs":{},"标":{"docs":{},"签":{"docs":{},"名":{"docs":{},",":{"docs":{},"加":{"docs":{},"属":{"docs":{},"性":{"docs":{},"名":{"docs":{},",":{"docs":{},"用":{"docs":{},"点":{"docs":{},"分":{"docs":{},"隔":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"拆":{"docs":{},"成":{"docs":{},"多":{"docs":{},"行":{"docs":{},":":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"访":{"docs":{},"问":{"docs":{},"日":{"docs":{},"志":{"docs":{},"输":{"docs":{},"出":{"docs":{},"到":{"docs":{},"当":{"docs":{},"前":{"docs":{},"应":{"docs":{},"用":{"docs":{},"的":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"4":{"docs":{},"j":{"docs":{},"日":{"docs":{},"志":{"docs":{},":":{"docs":{"demos/访问日志.html":{"ref":"demos/访问日志.html","tf":0.25}}}}}}},"docs":{}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"文":{"docs":{},"件":{"docs":{},":":{"docs":{"demos/访问日志.html":{"ref":"demos/访问日志.html","tf":0.25}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0392156862745098}}}}}}}},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"b":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"工":{"docs":{},"程":{"docs":{},"打":{"docs":{},"成":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"包":{"docs":{},",":{"docs":{},"如":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"属":{"docs":{},"性":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421},"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.038461538461538464}},"配":{"docs":{},"置":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":5}}}},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"说":{"docs":{},"类":{"docs":{},"b":{"docs":{},"少":{"docs":{},"一":{"docs":{},"种":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}},")":{"docs":{},"|":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}},"改":{"docs":{},"变":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"配":{"docs":{},"置":{"docs":{},"位":{"docs":{},"置":{"docs":{},"。":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"当":{"docs":{},"设":{"docs":{},"置":{"docs":{},"了":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"凡":{"docs":{},"是":{"docs":{},"需":{"docs":{},"要":{"docs":{},"输":{"docs":{},"入":{"docs":{},"服":{"docs":{},"务":{"docs":{},"名":{"docs":{},"作":{"docs":{},"为":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"命":{"docs":{},"令":{"docs":{},",":{"docs":{},"都":{"docs":{},"可":{"docs":{},"以":{"docs":{},"省":{"docs":{},"略":{"docs":{},"服":{"docs":{},"务":{"docs":{},"参":{"docs":{},"数":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"映":{"docs":{},"射":{"docs":{},"规":{"docs":{},"则":{"docs":{},":":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}},"比":{"docs":{},"如":{"docs":{},":":{"docs":{"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.038461538461538464}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"=":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"1":{"2":{"3":{"4":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{},"(":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"i":{"docs":{},"d":{"docs":{},"没":{"docs":{},"配":{"docs":{},"时":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"使":{"docs":{},"用":{"docs":{},"协":{"docs":{},"议":{"docs":{},"名":{"docs":{},"作":{"docs":{},"为":{"docs":{},"i":{"docs":{},"d":{"docs":{},")":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"=":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"0":{"docs":{},":":{"9":{"0":{"9":{"0":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"=":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"0":{"docs":{},":":{"9":{"0":{"9":{"0":{"docs":{},"等":{"docs":{},"价":{"docs":{},"于":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"不":{"docs":{},"同":{"docs":{},"服":{"docs":{},"务":{"docs":{},"在":{"docs":{},"性":{"docs":{},"能":{"docs":{},"上":{"docs":{},"适":{"docs":{},"用":{"docs":{},"不":{"docs":{},"同":{"docs":{},"协":{"docs":{},"议":{"docs":{},"进":{"docs":{},"行":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"用":{"docs":{},"短":{"docs":{},"连":{"docs":{},"接":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"小":{"docs":{},"数":{"docs":{},"据":{"docs":{},"大":{"docs":{},"并":{"docs":{},"发":{"docs":{},"用":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"协":{"docs":{},"议":{"docs":{"demos/多协议.html":{"ref":"demos/多协议.html","tf":0.1111111111111111}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"要":{"docs":{},"与":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"互":{"docs":{},"操":{"docs":{},"作":{"docs":{"demos/多协议.html":{"ref":"demos/多协议.html","tf":0.1111111111111111}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"m":{"docs":{},"有":{"docs":{},"些":{"docs":{},"服":{"docs":{},"务":{"docs":{},"是":{"docs":{},"专":{"docs":{},"门":{"docs":{},"为":{"docs":{},"国":{"docs":{},"际":{"docs":{},"站":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},",":{"docs":{},"有":{"docs":{},"些":{"docs":{},"服":{"docs":{},"务":{"docs":{},"是":{"docs":{},"专":{"docs":{},"门":{"docs":{},"为":{"docs":{},"中":{"docs":{},"文":{"docs":{},"站":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"。":{"docs":{"demos/多注册中心.html":{"ref":"demos/多注册中心.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"同":{"docs":{},"时":{"docs":{},"调":{"docs":{},"用":{"docs":{},"中":{"docs":{},"文":{"docs":{},"站":{"docs":{},"和":{"docs":{},"国":{"docs":{},"际":{"docs":{},"站":{"docs":{},"的":{"docs":{},"p":{"docs":{},"c":{"2":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"p":{"docs":{},"c":{"2":{"docs":{},"在":{"docs":{},"中":{"docs":{},"文":{"docs":{},"站":{"docs":{},"和":{"docs":{},"国":{"docs":{},"际":{"docs":{},"站":{"docs":{},"均":{"docs":{},"有":{"docs":{},"部":{"docs":{},"署":{"docs":{},",":{"docs":{},"接":{"docs":{},"口":{"docs":{},"及":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},"都":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"但":{"docs":{},"连":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},"。":{"docs":{"demos/多注册中心.html":{"ref":"demos/多注册中心.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}},"中":{"docs":{},"文":{"docs":{},"站":{"docs":{},"有":{"docs":{},"些":{"docs":{},"服":{"docs":{},"务":{"docs":{},"来":{"docs":{},"不":{"docs":{},"及":{"docs":{},"在":{"docs":{},"青":{"docs":{},"岛":{"docs":{},"部":{"docs":{},"署":{"docs":{},",":{"docs":{},"只":{"docs":{},"在":{"docs":{},"杭":{"docs":{},"州":{"docs":{},"部":{"docs":{},"署":{"docs":{},",":{"docs":{},"而":{"docs":{},"青":{"docs":{},"岛":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"应":{"docs":{},"用":{"docs":{},"需":{"docs":{},"要":{"docs":{},"引":{"docs":{},"用":{"docs":{},"此":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"将":{"docs":{},"服":{"docs":{},"务":{"docs":{},"同":{"docs":{},"时":{"docs":{},"注":{"docs":{},"册":{"docs":{},"到":{"docs":{},"两":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"。":{"docs":{"demos/多注册中心.html":{"ref":"demos/多注册中心.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"调":{"docs":{},"b":{"docs":{},",":{"docs":{},"b":{"docs":{},"再":{"docs":{},"调":{"docs":{},"c":{"docs":{},",":{"docs":{},"则":{"docs":{},"b":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{},",":{"docs":{},"在":{"docs":{},"b":{"docs":{},"调":{"docs":{},"c":{"docs":{},"之":{"docs":{},"前":{"docs":{},",":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"记":{"docs":{},"录":{"docs":{},"的":{"docs":{},"是":{"docs":{},"a":{"docs":{},"调":{"docs":{},"b":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"在":{"docs":{},"b":{"docs":{},"调":{"docs":{},"c":{"docs":{},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"记":{"docs":{},"录":{"docs":{},"的":{"docs":{},"是":{"docs":{},"b":{"docs":{},"调":{"docs":{},"c":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}},"覆":{"docs":{},"盖":{"docs":{},"策":{"docs":{},"略":{"docs":{},":":{"docs":{"configuration/properties.html":{"ref":"configuration/properties.html","tf":0.045454545454545456}}}}},"规":{"docs":{},"则":{"docs":{},"是":{"docs":{},"否":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"可":{"docs":{},"不":{"docs":{},"填":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}},".":{"docs":{},".":{"docs":{},".":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.026595744680851064},"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.013422818791946308},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818},"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.047619047619047616},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.05263157894736842},"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}},".":{"docs":{},".":{"docs":{},".":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353},"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}},"]":{"docs":{},"[":{"docs":{},"a":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}},"e":{"docs":{},"x":{"docs":{},"e":{"docs":{},"c":{"docs":{},"u":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}}}},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{},"i":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}},"和":{"docs":{"demos/并发控制.html":{"ref":"demos/并发控制.html","tf":0.06666666666666667},"demos/连接控制.html":{"ref":"demos/连接控制.html","tf":0.14285714285714285}},"本":{"docs":{},"地":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"一":{"docs":{},"样":{"docs":{},"使":{"docs":{},"用":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"包":{"docs":{},"放":{"docs":{},"到":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"/":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"多":{"docs":{},"个":{"docs":{},"协":{"docs":{},"议":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"可":{"docs":{},"以":{"docs":{},"用":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},")":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.010638297872340425}}}}}}}}}}}}}}}}}}}}}}}}},"协":{"docs":{},"议":{"docs":{"demos/多协议.html":{"ref":"demos/多协议.html","tf":5}},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{"demos/多协议.html":{"ref":"demos/多协议.html","tf":0.1111111111111111}}}}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{"demos/多注册中心.html":{"ref":"demos/多注册中心.html","tf":5}},"引":{"docs":{},"用":{"docs":{"demos/多注册中心.html":{"ref":"demos/多注册中心.html","tf":0.06666666666666667}}}},"注":{"docs":{},"册":{"docs":{"demos/多注册中心.html":{"ref":"demos/多注册中心.html","tf":0.06666666666666667}}}}}}}},"版":{"docs":{},"本":{"docs":{"demos/多版本.html":{"ref":"demos/多版本.html","tf":5}}}},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"进":{"docs":{},"行":{"docs":{},"传":{"docs":{},"输":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}},"端":{"docs":{},"口":{"docs":{},":":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}}},"设":{"docs":{},"置":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}},"方":{"docs":{},"法":{"docs":{},"级":{"docs":{},"配":{"docs":{},"置":{"docs":{"configuration/api.html":{"ref":"configuration/api.html","tf":0.005319148936170213}}}}}}},"服":{"docs":{},"务":{"docs":{},"协":{"docs":{},"议":{"docs":{},":":{"docs":{"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625}}},":":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}},"默":{"docs":{},"认":{"docs":{},"协":{"docs":{},"议":{"docs":{},":":{"docs":{"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625}}},":":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}}}},"优":{"docs":{},"雅":{"docs":{},"停":{"docs":{},"机":{"docs":{},"超":{"docs":{},"时":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"超":{"docs":{},"时":{"docs":{},"时":{"docs":{},"间":{"docs":{},"是":{"1":{"0":{"docs":{},"秒":{"docs":{},":":{"docs":{},"(":{"docs":{},"超":{"docs":{},"时":{"docs":{},"则":{"docs":{},"强":{"docs":{},"制":{"docs":{},"关":{"docs":{},"闭":{"docs":{},")":{"docs":{"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":0.07142857142857142}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"登":{"docs":{},"录":{"docs":{},"信":{"docs":{},"息":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}},"的":{"docs":{},"根":{"docs":{},"节":{"docs":{},"点":{"docs":{},",":{"docs":{},"不":{"docs":{},"设":{"docs":{},"置":{"docs":{},"将":{"docs":{},"使":{"docs":{},"用":{"docs":{},"无":{"docs":{},"根":{"docs":{},"树":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"中":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"的":{"docs":{},"前":{"docs":{},"缀":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"为":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}},"集":{"docs":{},"群":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},",":{"docs":{},"将":{"docs":{},"向":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"中":{"docs":{},"输":{"docs":{},"出":{"docs":{},"访":{"docs":{},"问":{"docs":{},"日":{"docs":{},"志":{"docs":{},",":{"docs":{},"也":{"docs":{},"可":{"docs":{},"填":{"docs":{},"写":{"docs":{},"访":{"docs":{},"问":{"docs":{},"日":{"docs":{},"志":{"docs":{},"文":{"docs":{},"件":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"把":{"docs":{},"访":{"docs":{},"问":{"docs":{},"日":{"docs":{},"志":{"docs":{},"输":{"docs":{},"出":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"文":{"docs":{},"件":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{},"示":{"docs":{},"使":{"docs":{},"用":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"类":{"docs":{},"名":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{},"接":{"docs":{},"口":{"docs":{},"名":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}},"代":{"docs":{},"理":{"docs":{},"类":{"docs":{},"名":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{},"接":{"docs":{},"口":{"docs":{},"名":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}}}}}}}},"@":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"docs":{},"\"":{"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"=":{"docs":{},"\"":{"1":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},"\"":{"docs":{},")":{"docs":{"configuration/annotation.html":{"ref":"configuration/annotation.html","tf":0.029411764705882353}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}},"i":{"docs":{},"z":{"docs":{},"e":{"docs":{},"(":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.009009009009009009}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},"(":{"1":{"0":{"0":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}},"docs":{}},"docs":{}},"docs":{}}}},"i":{"docs":{},"n":{"docs":{},"(":{"1":{"8":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}},"docs":{}},"docs":{}}}}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}},"l":{"docs":{},"(":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}},"关":{"docs":{},"闭":{"docs":{},"所":{"docs":{},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"检":{"docs":{},"查":{"docs":{},":":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}},"某":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"检":{"docs":{},"查":{"docs":{},":":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}},"检":{"docs":{},"查":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},",":{"docs":{},"测":{"docs":{},"试":{"docs":{},"时":{"docs":{},",":{"docs":{},"有":{"docs":{},"些":{"docs":{},"服":{"docs":{},"务":{"docs":{},"不":{"docs":{},"关":{"docs":{},"心":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"出":{"docs":{},"现":{"docs":{},"了":{"docs":{},"循":{"docs":{},"环":{"docs":{},"依":{"docs":{},"赖":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"有":{"docs":{},"一":{"docs":{},"方":{"docs":{},"先":{"docs":{},"启":{"docs":{},"动":{"docs":{},"。":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"检":{"docs":{},"查":{"docs":{},":":{"docs":{"demos/启动时检查.html":{"ref":"demos/启动时检查.html","tf":0.029411764705882353}}}}}}}}}}}}},"联":{"docs":{},"验":{"docs":{},"证":{"docs":{},"示":{"docs":{},"例":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}},"键":{"docs":{},"参":{"docs":{},"数":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}},"各":{"docs":{},"节":{"docs":{},"点":{"docs":{},"关":{"docs":{},"系":{"docs":{},":":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"情":{"docs":{},"况":{"docs":{},",":{"docs":{},"请":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"性":{"docs":{},"能":{"docs":{},"测":{"docs":{},"试":{"docs":{},"报":{"docs":{},"告":{"docs":{"reference-protocol/introduction.html":{"ref":"reference-protocol/introduction.html","tf":0.3333333333333333}}}}}}}}}}}}}}}}},"兼":{"docs":{},"容":{"docs":{},"性":{"docs":{},"不":{"docs":{},"同":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}},"来":{"docs":{},"设":{"docs":{},"置":{"docs":{},"最":{"docs":{},"大":{"docs":{},"并":{"docs":{},"行":{"docs":{},"数":{"docs":{},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}},"重":{"docs":{},"试":{"docs":{},"次":{"docs":{},"数":{"docs":{},"(":{"docs":{},"不":{"docs":{},"含":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},")":{"docs":{},"。":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}}}}}}}}}}},"集":{"docs":{},"群":{"docs":{},"容":{"docs":{},"错":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":5}},"模":{"docs":{},"式":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}},"模":{"docs":{},"式":{"docs":{},"配":{"docs":{},"置":{"docs":{},"如":{"docs":{},":":{"docs":{"demos/集群容错.html":{"ref":"demos/集群容错.html","tf":0.022222222222222223}}}}}}}},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"可":{"docs":{},"选":{"docs":{},":":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"f":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"/":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{},"/":{"docs":{},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"/":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"成":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"桥":{"docs":{},"接":{"docs":{},"各":{"docs":{},"种":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705}}}}}}}}}}}}}}}},"使":{"docs":{},"慢":{"docs":{},"的":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"收":{"docs":{},"到":{"docs":{},"更":{"docs":{},"少":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"越":{"docs":{},"慢":{"docs":{},"的":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"前":{"docs":{},"后":{"docs":{},"计":{"docs":{},"数":{"docs":{},"差":{"docs":{},"会":{"docs":{},"越":{"docs":{},"大":{"docs":{},"。":{"docs":{"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"用":{"1":{"2":{"docs":{},"台":{"docs":{},"网":{"docs":{},"站":{"docs":{},"标":{"docs":{},"配":{"docs":{},"机":{"docs":{},"器":{"docs":{},"提":{"docs":{},"供":{"docs":{},"服":{"docs":{},"务":{"docs":{},"(":{"8":{"docs":{},"核":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},",":{"8":{"docs":{},"g":{"docs":{},"内":{"docs":{},"存":{"docs":{},")":{"docs":{"capacity-plan.html":{"ref":"capacity-plan.html","tf":0.09090909090909091}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}}}}}}}},"docs":{}},"8":{"docs":{},"台":{"docs":{},"网":{"docs":{},"站":{"docs":{},"标":{"docs":{},"配":{"docs":{},"机":{"docs":{},"器":{"docs":{},"提":{"docs":{},"供":{"docs":{},"服":{"docs":{},"务":{"docs":{},"(":{"8":{"docs":{},"核":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},",":{"8":{"docs":{},"g":{"docs":{},"内":{"docs":{},"存":{"docs":{},")":{"docs":{"capacity-plan.html":{"ref":"capacity-plan.html","tf":0.09090909090909091}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}}}}}}}},"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"对":{"docs":{},"象":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}}}}}}}}},"方":{"docs":{},"式":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.02127659574468085}}}}}}},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"协":{"docs":{},"议":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"在":{"docs":{},"多":{"docs":{},"协":{"docs":{},"议":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"值":{"docs":{},"为":{"docs":{},"的":{"docs":{},"i":{"docs":{},"d":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"协":{"docs":{},"议":{"docs":{},"i":{"docs":{},"d":{"docs":{},"用":{"docs":{},"逗":{"docs":{},"号":{"docs":{},"分":{"docs":{},"隔":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"地":{"docs":{},"址":{"docs":{},"列":{"docs":{},"表":{"docs":{},"及":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"重":{"docs":{},"启":{"docs":{},"时":{"docs":{},"将":{"docs":{},"基":{"docs":{},"于":{"docs":{},"此":{"docs":{},"文":{"docs":{},"件":{"docs":{},"恢":{"docs":{},"复":{"docs":{},",":{"docs":{},"注":{"docs":{},"意":{"docs":{},":":{"docs":{},"两":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"不":{"docs":{},"能":{"docs":{},"使":{"docs":{},"用":{"docs":{},"同":{"docs":{},"一":{"docs":{},"文":{"docs":{},"件":{"docs":{},"存":{"docs":{},"储":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"结":{"docs":{},"构":{"docs":{},"存":{"docs":{},"储":{"docs":{},"数":{"docs":{},"据":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{},"/":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"事":{"docs":{},"件":{"docs":{},"通":{"docs":{},"知":{"docs":{},"数":{"docs":{},"据":{"docs":{},"变":{"docs":{},"更":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},":":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}},"d":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"o":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"监":{"docs":{},"控":{"docs":{},"项":{"docs":{},"监":{"docs":{},"控":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"上":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"的":{"docs":{},"产":{"docs":{},"品":{"docs":{},"授":{"docs":{},"权":{"docs":{},"服":{"docs":{},"务":{"docs":{},"项":{"docs":{},"目":{"docs":{"capacity-plan.html":{"ref":"capacity-plan.html","tf":0.09090909090909091}}}}}}}}}},"会":{"docs":{},"员":{"docs":{},"服":{"docs":{},"务":{"docs":{},"项":{"docs":{},"目":{"docs":{"capacity-plan.html":{"ref":"capacity-plan.html","tf":0.09090909090909091}}}}}}}}}}}}}},"固":{"docs":{},"定":{"docs":{},"端":{"docs":{},"口":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"随":{"docs":{},"机":{"docs":{},"端":{"docs":{},"口":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}},"算":{"docs":{},"法":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"e":{"docs":{},"n":{"docs":{},".":{"docs":{},"w":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"a":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"w":{"docs":{},"i":{"docs":{},"k":{"docs":{},"i":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"。":{"docs":{"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":0.041666666666666664}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{"demos/负载均衡.html":{"ref":"demos/负载均衡.html","tf":5}},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"可":{"docs":{},"选":{"docs":{},"值":{"docs":{},":":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},",":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},",":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{},"分":{"docs":{},"别":{"docs":{},"表":{"docs":{},"示":{"docs":{},":":{"docs":{},"随":{"docs":{},"机":{"docs":{},",":{"docs":{},"轮":{"docs":{},"循":{"docs":{},",":{"docs":{},"最":{"docs":{},"少":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"调":{"docs":{},"用":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"算":{"docs":{},"法":{"docs":{},"(":{"docs":{},"有":{"docs":{},"多":{"docs":{},"个":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"何":{"docs":{},"挑":{"docs":{},"选":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"调":{"docs":{},"用":{"docs":{},")":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"是":{"docs":{},"随":{"docs":{},"机":{"docs":{},"(":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"m":{"docs":{},")":{"docs":{},"。":{"docs":{},"还":{"docs":{},"可":{"docs":{},"以":{"docs":{},"有":{"docs":{},"轮":{"docs":{},"询":{"docs":{},"(":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"r":{"docs":{},"o":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},")":{"docs":{},"、":{"docs":{},"最":{"docs":{},"不":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"优":{"docs":{},"先":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},",":{"docs":{},"指":{"docs":{},"从":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"端":{"docs":{},"并":{"docs":{},"发":{"docs":{},"调":{"docs":{},"用":{"docs":{},"最":{"docs":{},"好":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"减":{"docs":{},"少":{"docs":{},"的":{"docs":{},"反":{"docs":{},"应":{"docs":{},"慢":{"docs":{},"的":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"因":{"docs":{},"为":{"docs":{},"反":{"docs":{},"应":{"docs":{},"更":{"docs":{},"容":{"docs":{},"易":{"docs":{},"累":{"docs":{},"积":{"docs":{},"并":{"docs":{},"发":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},")":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"只":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"响":{"docs":{},"应":{"docs":{},"消":{"docs":{},"息":{"docs":{},"派":{"docs":{},"发":{"docs":{},"到":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"连":{"docs":{},"接":{"docs":{},"断":{"docs":{},"开":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"心":{"docs":{},"跳":{"docs":{},"等":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"请":{"docs":{},"求":{"docs":{},"消":{"docs":{},"息":{"docs":{},"派":{"docs":{},"发":{"docs":{},"到":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},",":{"docs":{},"不":{"docs":{},"含":{"docs":{},"响":{"docs":{},"应":{"docs":{},",":{"docs":{},"响":{"docs":{},"应":{"docs":{},"和":{"docs":{},"其":{"docs":{},"它":{"docs":{},"连":{"docs":{},"接":{"docs":{},"断":{"docs":{},"开":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"心":{"docs":{},"跳":{"docs":{},"等":{"docs":{},"消":{"docs":{},"息":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"在":{"docs":{},"i":{"docs":{},"o":{"docs":{},"线":{"docs":{},"程":{"docs":{},"上":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"订":{"docs":{},"阅":{"docs":{"demos/只订阅.html":{"ref":"demos/只订阅.html","tf":5}}}},"注":{"docs":{},"册":{"docs":{"demos/只注册.html":{"ref":"demos/只注册.html","tf":5}}}},"对":{"docs":{},"使":{"docs":{},"用":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"协":{"docs":{},"议":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"demos/延迟连接.html":{"ref":"demos/延迟连接.html","tf":0.5}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"指":{"docs":{},"定":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"协":{"docs":{},"议":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}}}}}}}}}}}}}},"写":{"docs":{},"入":{"docs":{},"和":{"docs":{},"读":{"docs":{},"取":{"docs":{},"任":{"docs":{},"意":{"docs":{},"一":{"docs":{},"台":{"docs":{},",":{"docs":{},"失":{"docs":{},"败":{"docs":{},"时":{"docs":{},"重":{"docs":{},"试":{"docs":{},"另":{"docs":{},"一":{"docs":{},"台":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"自":{"docs":{},"行":{"docs":{},"配":{"docs":{},"置":{"docs":{},"数":{"docs":{},"据":{"docs":{},"同":{"docs":{},"步":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"固":{"docs":{},"定":{"docs":{},"大":{"docs":{},"小":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},",":{"docs":{},"启":{"docs":{},"动":{"docs":{},"时":{"docs":{},"建":{"docs":{},"立":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"不":{"docs":{},"关":{"docs":{},"闭":{"docs":{},",":{"docs":{},"一":{"docs":{},"直":{"docs":{},"持":{"docs":{},"有":{"docs":{},"。":{"docs":{},"(":{"docs":{},"缺":{"docs":{},"省":{"docs":{},")":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"缓":{"docs":{},"存":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},",":{"docs":{},"空":{"docs":{},"闲":{"docs":{},"一":{"docs":{},"分":{"docs":{},"钟":{"docs":{},"自":{"docs":{},"动":{"docs":{},"删":{"docs":{},"除":{"docs":{},",":{"docs":{},"需":{"docs":{},"要":{"docs":{},"时":{"docs":{},"重":{"docs":{},"建":{"docs":{},"。":{"docs":{"demos/线程模型.html":{"ref":"demos/线程模型.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{},"可":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705}}}}}}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.07692307692307693}},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"名":{"docs":{},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{},"优":{"docs":{},"先":{"docs":{},"级":{"docs":{},"最":{"docs":{},"高":{"docs":{},",":{"1":{"docs":{},".":{"0":{"docs":{},".":{"1":{"5":{"docs":{},"及":{"docs":{},"以":{"docs":{},"上":{"docs":{},"版":{"docs":{},"本":{"docs":{},"支":{"docs":{},"持":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}}}}}}}}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}},",":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.011299435028248588}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"demos/ReferenceConfig缓存.html":{"ref":"demos/ReferenceConfig缓存.html","tf":0.0425531914893617}}}}}}}},"e":{"docs":{},"p":{"docs":{},"a":{"docs":{},"l":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}},"y":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}},"b":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"中":{"docs":{},"配":{"docs":{},"置":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"指":{"docs":{},"向":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},",":{"docs":{},"将":{"docs":{},"绕":{"docs":{},"过":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"地":{"docs":{},"址":{"docs":{},"用":{"docs":{},"分":{"docs":{},"号":{"docs":{},"隔":{"docs":{},"开":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"“":{"docs":{},"对":{"docs":{},"应":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"”":{"docs":{},"一":{"docs":{},"列":{"docs":{},"。":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"名":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"说":{"docs":{},"明":{"docs":{},"。":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}},"引":{"docs":{},"用":{"docs":{},"此":{"docs":{},"i":{"docs":{},"d":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"i":{"docs":{},"d":{"docs":{},"不":{"docs":{},"填":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"和":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"重":{"docs":{},"复":{"docs":{},"则":{"docs":{},"在":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"后":{"docs":{},"加":{"docs":{},"序":{"docs":{},"号":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"里":{"docs":{},"的":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"中":{"docs":{},"的":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"r":{"docs":{},"s":{"docs":{},"s":{"docs":{},"的":{"docs":{},"值":{"docs":{},"改":{"docs":{},"为":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"2":{"1":{"8":{"1":{"docs":{},"即":{"docs":{},"可":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},":":{"6":{"3":{"7":{"9":{"docs":{},"即":{"docs":{},"可":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"然":{"docs":{},"后":{"docs":{},"在":{"docs":{},"映":{"docs":{},"射":{"docs":{},"文":{"docs":{},"件":{"docs":{},"x":{"docs":{},"x":{"docs":{},"x":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"中":{"docs":{},"加":{"docs":{},"入":{"docs":{},":":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"名":{"docs":{},",":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{"demos/直连提供者.html":{"ref":"demos/直连提供者.html","tf":0.05263157894736842}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"使":{"docs":{},"用":{"docs":{},"时":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"感":{"docs":{},"知":{"docs":{},"m":{"docs":{},"e":{"docs":{},"m":{"docs":{},"c":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"d":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},":":{"docs":{"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.047619047619047616}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"的":{"docs":{},"地":{"docs":{},"址":{"docs":{},":":{"docs":{"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"剩":{"docs":{},"下":{"docs":{},"的":{"docs":{},"一":{"docs":{},"半":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"升":{"docs":{},"级":{"docs":{},"为":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{"demos/多版本.html":{"ref":"demos/多版本.html","tf":0.1111111111111111}}}}}}}}}}}}}}}}},",":{"docs":{},"检":{"docs":{},"测":{"docs":{},"有":{"docs":{},"没":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"响":{"docs":{},"应":{"docs":{},"还":{"docs":{},"没":{"docs":{},"有":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"响":{"docs":{},"应":{"docs":{},"返":{"docs":{},"回":{"docs":{},",":{"docs":{},"除":{"docs":{},"非":{"docs":{},"超":{"docs":{},"时":{"docs":{},",":{"docs":{},"则":{"docs":{},"强":{"docs":{},"制":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"。":{"docs":{"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"中":{"docs":{},"的":{"docs":{},"线":{"docs":{},"程":{"docs":{},"是":{"docs":{},"否":{"docs":{},"正":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},",":{"docs":{},"等":{"docs":{},"待":{"docs":{},"所":{"docs":{},"有":{"docs":{},"线":{"docs":{},"程":{"docs":{},"执":{"docs":{},"行":{"docs":{},"完":{"docs":{},"成":{"docs":{},",":{"docs":{},"除":{"docs":{},"非":{"docs":{},"超":{"docs":{},"时":{"docs":{},",":{"docs":{},"则":{"docs":{},"强":{"docs":{},"制":{"docs":{},"关":{"docs":{},"闭":{"docs":{},"。":{"docs":{"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"禁":{"docs":{},"用":{"docs":{},"注":{"docs":{},"册":{"docs":{},"配":{"docs":{},"置":{"docs":{"demos/只订阅.html":{"ref":"demos/只订阅.html","tf":0.25}}}}}},"订":{"docs":{},"阅":{"docs":{},"配":{"docs":{},"置":{"docs":{"demos/只注册.html":{"ref":"demos/只注册.html","tf":0.25}}}}}},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},":":{"docs":{},"(":{"docs":{},"通":{"docs":{},"常":{"docs":{},"用":{"docs":{},"于":{"docs":{},"临":{"docs":{},"时":{"docs":{},"踢":{"docs":{},"除":{"docs":{},"某":{"docs":{},"台":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"机":{"docs":{},"器":{"docs":{},",":{"docs":{},"相":{"docs":{},"似":{"docs":{},"的":{"docs":{},",":{"docs":{},"禁":{"docs":{},"止":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"访":{"docs":{},"问":{"docs":{},"请":{"docs":{},"使":{"docs":{},"用":{"docs":{},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{},")":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"解":{"docs":{},"决":{"docs":{},"方":{"docs":{},"案":{"docs":{},"可":{"docs":{},"以":{"docs":{},"让":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"开":{"docs":{},"发":{"docs":{},"方":{"docs":{},",":{"docs":{},"只":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"服":{"docs":{},"务":{"docs":{},"(":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"可":{"docs":{},"能":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"其":{"docs":{},"它":{"docs":{},"服":{"docs":{},"务":{"docs":{},")":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"注":{"docs":{},"册":{"docs":{},"正":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"直":{"docs":{},"连":{"docs":{},"测":{"docs":{},"试":{"docs":{},"正":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"demos/只订阅.html":{"ref":"demos/只订阅.html","tf":0.25}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},",":{"docs":{},"只":{"docs":{},"注":{"docs":{},"册":{"docs":{},"服":{"docs":{},"务":{"docs":{},"到":{"docs":{},"另":{"docs":{},"一":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"而":{"docs":{},"不":{"docs":{},"从":{"docs":{},"另":{"docs":{},"一":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"demos/只注册.html":{"ref":"demos/只注册.html","tf":0.25}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"问":{"docs":{},"题":{"docs":{},"为":{"docs":{},"方":{"docs":{},"便":{"docs":{},"开":{"docs":{},"发":{"docs":{},"测":{"docs":{},"试":{"docs":{},",":{"docs":{},"经":{"docs":{},"常":{"docs":{},"会":{"docs":{},"在":{"docs":{},"线":{"docs":{},"下":{"docs":{},"共":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"所":{"docs":{},"有":{"docs":{},"服":{"docs":{},"务":{"docs":{},"可":{"docs":{},"用":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"这":{"docs":{},"时":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{},"正":{"docs":{},"在":{"docs":{},"开":{"docs":{},"发":{"docs":{},"中":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"注":{"docs":{},"册":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"影":{"docs":{},"响":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"不":{"docs":{},"能":{"docs":{},"正":{"docs":{},"常":{"docs":{},"运":{"docs":{},"行":{"docs":{},"。":{"docs":{"demos/只订阅.html":{"ref":"demos/只订阅.html","tf":0.25}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"镜":{"docs":{},"像":{"docs":{},"环":{"docs":{},"境":{"docs":{},",":{"docs":{},"两":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"只":{"docs":{},"在":{"docs":{},"其":{"docs":{},"中":{"docs":{},"一":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"有":{"docs":{},"部":{"docs":{},"署":{"docs":{},",":{"docs":{},"另":{"docs":{},"一":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"还":{"docs":{},"没":{"docs":{},"来":{"docs":{},"得":{"docs":{},"及":{"docs":{},"部":{"docs":{},"署":{"docs":{},",":{"docs":{},"而":{"docs":{},"两":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"应":{"docs":{},"用":{"docs":{},"都":{"docs":{},"需":{"docs":{},"要":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"此":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"服":{"docs":{},"务":{"docs":{},"同":{"docs":{},"时":{"docs":{},"注":{"docs":{},"册":{"docs":{},"到":{"docs":{},"两":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"但":{"docs":{},"却":{"docs":{},"不":{"docs":{},"能":{"docs":{},"让":{"docs":{},"此":{"docs":{},"服":{"docs":{},"务":{"docs":{},"同":{"docs":{},"时":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"两":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"的":{"docs":{},"其":{"docs":{},"它":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"demos/只注册.html":{"ref":"demos/只注册.html","tf":0.25}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"静":{"docs":{},"态":{"docs":{},"服":{"docs":{},"务":{"docs":{"demos/静态服务.html":{"ref":"demos/静态服务.html","tf":5}}}}}},"任":{"docs":{},"意":{"docs":{},"组":{"docs":{},":":{"docs":{"demos/服务分组.html":{"ref":"demos/服务分组.html","tf":0.2}}}}}},"再":{"docs":{},"将":{"docs":{},"所":{"docs":{},"有":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"升":{"docs":{},"级":{"docs":{},"为":{"docs":{},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{"demos/多版本.html":{"ref":"demos/多版本.html","tf":0.1111111111111111}}}}}}}}}}}}}}},"新":{"docs":{},"版":{"docs":{},"本":{"docs":{},"服":{"docs":{},"务":{"docs":{"demos/多版本.html":{"ref":"demos/多版本.html","tf":0.1111111111111111}}}}}},"建":{"docs":{},"一":{"docs":{},"个":{"docs":{},"b":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"工":{"docs":{},"程":{"docs":{},",":{"docs":{},"如":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"类":{"docs":{},",":{"docs":{},"实":{"docs":{},"现":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"n":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}}}}}}},"从":{"2":{"docs":{},".":{"1":{"docs":{},".":{"0":{"docs":{},"版":{"docs":{},"本":{"docs":{},"开":{"docs":{},"始":{"docs":{},"支":{"docs":{},"持":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}},",":{"docs":{"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":0.07142857142857142}}}}}}}}}},"docs":{}}},"2":{"docs":{},".":{"0":{"docs":{},"版":{"docs":{},"本":{"docs":{},"开":{"docs":{},"始":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"为":{"docs":{},"z":{"docs":{},"k":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"以":{"docs":{},"提":{"docs":{},"升":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"的":{"docs":{},"健":{"docs":{},"状":{"docs":{},"性":{"docs":{},"。":{"docs":{},"z":{"docs":{},"k":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"是":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"e":{"docs":{},"r":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"开":{"docs":{},"源":{"docs":{},"比":{"docs":{},"较":{"docs":{},"早":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"s":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"s":{"docs":{},"c":{"docs":{},"h":{"docs":{},"u":{"docs":{},"p":{"docs":{},"f":{"docs":{},"/":{"docs":{},"z":{"docs":{},"k":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"3":{"docs":{},".":{"0":{"docs":{},"版":{"docs":{},"本":{"docs":{},"开":{"docs":{},"始":{"docs":{},"支":{"docs":{},"持":{"docs":{},"可":{"docs":{},"选":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625}},"指":{"docs":{},"定":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"注":{"docs":{},"册":{"docs":{},"获":{"docs":{},"取":{"docs":{},"服":{"docs":{},"务":{"docs":{},"列":{"docs":{},"表":{"docs":{},",":{"docs":{},"在":{"docs":{},"多":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"值":{"docs":{},"为":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"代":{"docs":{},"码":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":0.07142857142857142},"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"合":{"docs":{},"并":{"docs":{},"指":{"docs":{},"定":{"docs":{},"分":{"docs":{},"组":{"docs":{"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":0.07142857142857142}}}}}}}},"指":{"docs":{},"定":{"docs":{},"合":{"docs":{},"并":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"将":{"docs":{},"调":{"docs":{},"用":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{},"的":{"docs":{},"指":{"docs":{},"定":{"docs":{},"方":{"docs":{},"法":{"docs":{},"进":{"docs":{},"行":{"docs":{},"合":{"docs":{},"并":{"docs":{},",":{"docs":{},"合":{"docs":{},"并":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"参":{"docs":{},"数":{"docs":{},"类":{"docs":{},"型":{"docs":{},"必":{"docs":{},"须":{"docs":{},"是":{"docs":{},"返":{"docs":{},"回":{"docs":{},"结":{"docs":{},"果":{"docs":{},"类":{"docs":{},"型":{"docs":{},"本":{"docs":{},"身":{"docs":{"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"根":{"docs":{},"据":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},"类":{"docs":{},"型":{"docs":{},"自":{"docs":{},"动":{"docs":{},"匹":{"docs":{},"配":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"同":{"docs":{},"一":{"docs":{},"类":{"docs":{},"型":{"docs":{},"有":{"docs":{},"两":{"docs":{},"个":{"docs":{},"合":{"docs":{},"并":{"docs":{},"器":{"docs":{},"时":{"docs":{},",":{"docs":{},"需":{"docs":{},"指":{"docs":{},"定":{"docs":{},"合":{"docs":{},"并":{"docs":{},"器":{"docs":{},"的":{"docs":{},"名":{"docs":{},"称":{"docs":{"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"合":{"docs":{},"并":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"未":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"将":{"docs":{},"只":{"docs":{},"调":{"docs":{},"用":{"docs":{},"一":{"docs":{},"个":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"值":{"docs":{},"为":{"docs":{},"的":{"docs":{},"i":{"docs":{},"d":{"docs":{},"属":{"docs":{},"性":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"一":{"docs":{},"个":{"docs":{},"通":{"docs":{},"用":{"docs":{},"服":{"docs":{},"务":{"docs":{},"实":{"docs":{},"现":{"docs":{"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}}}}},"搜":{"docs":{},"索":{"docs":{},"所":{"docs":{},"有":{"docs":{},"分":{"docs":{},"组":{"docs":{"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":0.07142857142857142}}}}}}}},"某":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"合":{"docs":{},"并":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"其":{"docs":{},"它":{"docs":{},"都":{"docs":{},"合":{"docs":{},"并":{"docs":{},"结":{"docs":{},"果":{"docs":{"demos/分组聚合.html":{"ref":"demos/分组聚合.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}},"'":{"docs":{},"/":{"docs":{},"'":{"docs":{},")":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}},"]":{"docs":{},"+":{"docs":{},")":{"docs":{},"*":{"docs":{},"@":{"docs":{},"[":{"docs":{},"a":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}},"与":{"docs":{"demos/结果缓存.html":{"ref":"demos/结果缓存.html","tf":0.058823529411764705}},"方":{"docs":{},"法":{"docs":{},"同":{"docs":{},"名":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"首":{"docs":{},"字":{"docs":{},"母":{"docs":{},"大":{"docs":{},"写":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"区":{"docs":{},"分":{"docs":{},"验":{"docs":{},"证":{"docs":{},"场":{"docs":{},"景":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"@":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"(":{"docs":{},"g":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"p":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"二":{"docs":{},"选":{"docs":{},"一":{"docs":{"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421}}}}}}}}}}},"保":{"docs":{},"存":{"docs":{},"时":{"docs":{},"不":{"docs":{},"允":{"docs":{},"许":{"docs":{},"为":{"docs":{},"空":{"docs":{},",":{"docs":{},"更":{"docs":{},"新":{"docs":{},"时":{"docs":{},"允":{"docs":{},"许":{"docs":{},"为":{"docs":{},"空":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}},"同":{"docs":{},"时":{"docs":{},"验":{"docs":{},"证":{"docs":{},"u":{"docs":{},"p":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"组":{"docs":{},"规":{"docs":{},"则":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}},"调":{"docs":{},"用":{"1":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"为":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"5":{"docs":{},"k":{"docs":{},")":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"1":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"为":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"1":{"docs":{},"个":{"docs":{},"参":{"docs":{},"数":{"docs":{},"为":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"值":{"docs":{},"为":{"3":{"docs":{},"个":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},")":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"持":{"docs":{},"续":{"docs":{},"运":{"docs":{},"行":{"5":{"0":{"docs":{},"小":{"docs":{},"时":{"docs":{},"。":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}}}}}}}}},"docs":{}}}},"理":{"docs":{},"等":{"docs":{},"待":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"返":{"docs":{},"回":{"docs":{},"。":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}}}}},"步":{"docs":{},"回":{"docs":{},"调":{"docs":{},"模":{"docs":{},"式":{"docs":{},":":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}},"无":{"docs":{},"回":{"docs":{},"调":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}},"一":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{},"分":{"docs":{},"成":{"docs":{},"多":{"docs":{},"组":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},":":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"只":{"docs":{},"需":{"docs":{},"标":{"docs":{},"识":{"docs":{},"j":{"docs":{},"s":{"docs":{},"r":{"3":{"0":{"3":{"docs":{},"标":{"docs":{},"准":{"docs":{},"的":{"docs":{},"验":{"docs":{},"证":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},",":{"docs":{},"并":{"docs":{},"通":{"docs":{},"过":{"docs":{},"声":{"docs":{},"明":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"验":{"docs":{},"证":{"docs":{},"。":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"y":{"docs":{},"创":{"docs":{},"建":{"docs":{},"本":{"docs":{},"地":{"docs":{},"接":{"docs":{},"口":{"docs":{},"代":{"docs":{},"理":{"docs":{},",":{"docs":{},"并":{"docs":{},"实":{"docs":{},"现":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"业":{"docs":{},"务":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"如":{"docs":{},"下":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"父":{"docs":{},"类":{"docs":{},"的":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}},"际":{"docs":{},"值":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}},"抛":{"docs":{},"出":{"docs":{},"的":{"docs":{},"是":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}},"异":{"docs":{},"常":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.017543859649122806}}}}},"里":{"docs":{},"面":{"docs":{},"嵌":{"docs":{},"了":{"docs":{},"一":{"docs":{},"个":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"v":{"docs":{},"i":{"docs":{},"o":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"长":{"docs":{},"度":{"docs":{},"或":{"docs":{},"大":{"docs":{},"小":{"docs":{},"范":{"docs":{},"围":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}},"验":{"docs":{},"证":{"docs":{},"参":{"docs":{},"数":{"docs":{},"不":{"docs":{},"为":{"docs":{},"空":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}},"异":{"docs":{},"常":{"docs":{},"信":{"docs":{},"息":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}},"方":{"docs":{},"式":{"docs":{},"可":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"验":{"docs":{},"证":{"docs":{},"扩":{"docs":{},"展":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}}}}}}}}},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"不":{"docs":{},"更":{"docs":{},"新":{"docs":{},"该":{"docs":{},"字":{"docs":{},"段":{"docs":{"demos/参数验证.html":{"ref":"demos/参数验证.html","tf":0.003003003003003003}}}}}}}}}},"使":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"在":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"容":{"docs":{},"器":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"完":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"设":{"docs":{},"为":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}},"此":{"docs":{},"属":{"docs":{},"性":{"docs":{},"只":{"docs":{},"在":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}},"将":{"docs":{},"不":{"docs":{},"生":{"docs":{},"成":{"docs":{},"$":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"而":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"接":{"docs":{},"口":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"和":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"。":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"分":{"docs":{},"组":{"docs":{},"和":{"docs":{},"所":{"docs":{},"有":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}},"假":{"docs":{},"设":{"docs":{},"存":{"docs":{},"在":{"docs":{},"p":{"docs":{},"o":{"docs":{},"j":{"docs":{},"o":{"docs":{},"如":{"docs":{},":":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}}}},"则":{"docs":{},"p":{"docs":{},"o":{"docs":{},"j":{"docs":{},"o":{"docs":{},"数":{"docs":{},"据":{"docs":{},":":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}}},"声":{"docs":{},"明":{"docs":{},"为":{"docs":{},"泛":{"docs":{},"化":{"docs":{},"接":{"docs":{},"口":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154}}}}}}}}},"弱":{"docs":{},"类":{"docs":{},"型":{"docs":{},"接":{"docs":{},"口":{"docs":{},"名":{"docs":{"demos/泛化引用.html":{"ref":"demos/泛化引用.html","tf":0.006711409395973154},"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}},"$":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"demos/泛化实现.html":{"ref":"demos/泛化实现.html","tf":0.01818181818181818}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.009523809523809525}}}}}}},"强":{"docs":{},"制":{"docs":{},"转":{"docs":{},"型":{"docs":{},"为":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.045454545454545456}}}}}}}}}}}}}}}},"烈":{"docs":{},"建":{"docs":{},"议":{"docs":{},"不":{"docs":{},"要":{"docs":{},"在":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"中":{"docs":{},"有":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"全":{"docs":{},"部":{"docs":{},"采":{"docs":{},"用":{"docs":{},"i":{"docs":{},"o":{"docs":{},"c":{"docs":{},"注":{"docs":{},"入":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"使":{"docs":{},"用":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"的":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"。":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{},"引":{"docs":{},"用":{"docs":{"demos/回声测试.html":{"ref":"demos/回声测试.html","tf":0.045454545454545456}}}},"后":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"通":{"docs":{},"常":{"docs":{},"只":{"docs":{},"剩":{"docs":{},"下":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"而":{"docs":{},"实":{"docs":{},"现":{"docs":{},"全":{"docs":{},"在":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},",":{"docs":{},"但":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"有":{"docs":{},"些":{"docs":{},"时":{"docs":{},"候":{"docs":{},"想":{"docs":{},"在":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"也":{"docs":{},"执":{"docs":{},"行":{"docs":{},"部":{"docs":{},"分":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{},"做":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"提":{"docs":{},"前":{"docs":{},"验":{"docs":{},"证":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"失":{"docs":{},"败":{"docs":{},"后":{"docs":{},"伪":{"docs":{},"造":{"docs":{},"容":{"docs":{},"错":{"docs":{},"数":{"docs":{},"据":{"docs":{},"等":{"docs":{},"等":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"就":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"中":{"docs":{},"带":{"docs":{},"上":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{},",":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"生":{"docs":{},"成":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"实":{"docs":{},"例":{"docs":{},",":{"docs":{},"会":{"docs":{},"把":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"通":{"docs":{},"过":{"docs":{},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"传":{"docs":{},"给":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{},",":{"docs":{},"然":{"docs":{},"后":{"docs":{},"把":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"组":{"docs":{},"给":{"docs":{},"用":{"docs":{},"户":{"docs":{},",":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"b":{"docs":{},"可":{"docs":{},"以":{"docs":{},"决":{"docs":{},"定":{"docs":{},"要":{"docs":{},"不":{"docs":{},"要":{"docs":{},"去":{"docs":{},"调":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"x":{"docs":{},"y":{"docs":{},"。":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{},"超":{"docs":{},"时":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},")":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}},"重":{"docs":{},"试":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"不":{"docs":{},"包":{"docs":{},"括":{"docs":{},"第":{"docs":{},"一":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"重":{"docs":{},"试":{"docs":{},"请":{"docs":{},"设":{"docs":{},"为":{"0":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"调":{"docs":{},"用":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.011904761904761904},"demos/隐式传参.html":{"ref":"demos/隐式传参.html","tf":0.02631578947368421}}}}}},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"y":{"docs":{},"y":{"docs":{},"y":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{"demos/上下文信息.html":{"ref":"demos/上下文信息.html","tf":0.023809523809523808}}}}}}}}}}}}}}}}}}},"你":{"docs":{},"也":{"docs":{},"可":{"docs":{},"以":{"docs":{},"设":{"docs":{},"置":{"docs":{},"是":{"docs":{},"否":{"docs":{},"等":{"docs":{},"待":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"出":{"docs":{},":":{"docs":{},"(":{"docs":{},"异":{"docs":{},"步":{"docs":{},"总":{"docs":{},"是":{"docs":{},"不":{"docs":{},"等":{"docs":{},"待":{"docs":{},"返":{"docs":{},"回":{"docs":{},")":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}}}}}}}}},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"做":{"docs":{},"t":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"本":{"docs":{},"地":{"docs":{},"缓":{"docs":{},"存":{"docs":{},",":{"docs":{},"或":{"docs":{},"预":{"docs":{},"先":{"docs":{},"验":{"docs":{},"证":{"docs":{},"参":{"docs":{},"数":{"docs":{},"是":{"docs":{},"否":{"docs":{},"合":{"docs":{},"法":{"docs":{},",":{"docs":{},"等":{"docs":{},"等":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"容":{"docs":{},"错":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"a":{"docs":{},"o":{"docs":{},"p":{"docs":{},"拦":{"docs":{},"截":{"docs":{},"事":{"docs":{},"项":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}},"伪":{"docs":{},"造":{"docs":{},"容":{"docs":{},"错":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"此":{"docs":{},"方":{"docs":{},"法":{"docs":{},"只":{"docs":{},"在":{"docs":{},"出":{"docs":{},"现":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"e":{"docs":{},"x":{"docs":{},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"时":{"docs":{},"被":{"docs":{},"执":{"docs":{},"行":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"拿":{"docs":{},"到":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"当":{"docs":{},"结":{"docs":{},"果":{"docs":{},"返":{"docs":{},"回":{"docs":{},"后":{"docs":{},",":{"docs":{},"会":{"docs":{},"被":{"docs":{},"通":{"docs":{},"知":{"docs":{},"和":{"docs":{},"设":{"docs":{},"置":{"docs":{},"到":{"docs":{},"此":{"docs":{},"f":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"。":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.043478260869565216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.014285714285714285}},"待":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"出":{"docs":{},",":{"docs":{},"消":{"docs":{},"息":{"docs":{},"发":{"docs":{},"送":{"docs":{},"失":{"docs":{},"败":{"docs":{},"将":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"demos/异步调用.html":{"ref":"demos/异步调用.html","tf":0.021739130434782608}}}}}}}}}}}}}}}}}}}},"号":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}},",":{"docs":{},"通":{"docs":{},"过":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}},"优":{"docs":{},"先":{"docs":{},"使":{"docs":{},"用":{"docs":{"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625}}}},",":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"的":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"策":{"docs":{},"略":{"docs":{"demos/连接控制.html":{"ref":"demos/连接控制.html","tf":0.14285714285714285}},"。":{"docs":{"demos/并发控制.html":{"ref":"demos/并发控制.html","tf":0.06666666666666667}}}}}}}}}}}}}}},"雅":{"docs":{},"停":{"docs":{},"机":{"docs":{"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":5}}}}},"于":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}},"全":{"docs":{},"局":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"最":{"docs":{},"后":{"docs":{},"是":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}},"开":{"docs":{},"始":{"docs":{},",":{"docs":{},"每":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"默":{"docs":{},"认":{"docs":{},"都":{"docs":{},"会":{"docs":{},"在":{"docs":{},"本":{"docs":{},"地":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"。":{"docs":{},"在":{"docs":{},"引":{"docs":{},"用":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"时":{"docs":{},"候":{"docs":{},",":{"docs":{},"默":{"docs":{},"认":{"docs":{},"优":{"docs":{},"先":{"docs":{},"引":{"docs":{},"用":{"docs":{},"本":{"docs":{},"地":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"希":{"docs":{},"望":{"docs":{},"引":{"docs":{},"用":{"docs":{},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"一":{"docs":{},"下":{"docs":{},"配":{"docs":{},"置":{"docs":{},"强":{"docs":{},"制":{"docs":{},"引":{"docs":{},"用":{"docs":{},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"demos/本地调用.html":{"ref":"demos/本地调用.html","tf":0.0625}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"头":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"引":{"docs":{},"用":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294},"perf-test.html":{"ref":"perf-test.html","tf":0.009433962264150943}}},"w":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{},")":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}}}}}},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},":":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}},"/":{"docs":{},"/":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":5}}}}}}}}}}}},".":{"docs":{},"x":{"docs":{},"m":{"docs":{},"l":{"docs":{},":":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.007936507936507936},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}}}}}}},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}},"s":{"docs":{},"d":{"docs":{},"l":{"docs":{},":":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"0":{"docs":{},".":{"2":{"0":{"docs":{},".":{"1":{"5":{"3":{"docs":{},".":{"1":{"0":{"docs":{},":":{"8":{"0":{"8":{"0":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"l":{"docs":{},"d":{"docs":{},"?":{"docs":{},"w":{"docs":{},"s":{"docs":{},"d":{"docs":{},"l":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}},"c":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}},"共":{"docs":{},"享":{"docs":{},"服":{"docs":{},"务":{"docs":{},"接":{"docs":{},"口":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}},"发":{"docs":{},"送":{"docs":{},"变":{"docs":{},"更":{"docs":{},"通":{"docs":{},"知":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}}}}},"防":{"docs":{},"御":{"docs":{},"容":{"docs":{},"错":{"docs":{"demos/参数回调.html":{"ref":"demos/参数回调.html","tf":0.005649717514124294}}}}},"止":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"绕":{"docs":{},"过":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"访":{"docs":{},"问":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{"demos/令牌验证.html":{"ref":"demos/令牌验证.html","tf":0.16666666666666666}}}}}}}}}}}}}}}}}},"组":{"docs":{},"合":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{},"(":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}}}}}}},"织":{"docs":{},"名":{"docs":{},"称":{"docs":{},"(":{"docs":{},"b":{"docs":{},"u":{"docs":{},"或":{"docs":{},"部":{"docs":{},"门":{"docs":{},")":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"区":{"docs":{},"分":{"docs":{},"服":{"docs":{},"务":{"docs":{},"来":{"docs":{},"源":{"docs":{},",":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},"建":{"docs":{},"议":{"docs":{},"不":{"docs":{},"要":{"docs":{},"使":{"docs":{},"用":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"写":{"docs":{},"死":{"docs":{},"在":{"docs":{},"配":{"docs":{},"置":{"docs":{},"中":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},",":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},",":{"docs":{},"i":{"docs":{},"t":{"docs":{},"u":{"docs":{},",":{"docs":{},"c":{"docs":{},"r":{"docs":{},"m":{"docs":{},",":{"docs":{},"a":{"docs":{},"s":{"docs":{},"c":{"docs":{},",":{"docs":{},"d":{"docs":{},"w":{"docs":{},",":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"等":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"播":{"docs":{},"受":{"docs":{},"网":{"docs":{},"络":{"docs":{},"结":{"docs":{},"构":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"只":{"docs":{},"适":{"docs":{},"合":{"docs":{},"小":{"docs":{},"规":{"docs":{},"模":{"docs":{},"应":{"docs":{},"用":{"docs":{},"或":{"docs":{},"开":{"docs":{},"发":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{},"组":{"docs":{},"播":{"docs":{},"地":{"docs":{},"址":{"docs":{},"段":{"docs":{},":":{"docs":{"reference-registry/multicast.html":{"ref":"reference-registry/multicast.html","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"表":{"docs":{},"示":{"docs":{},"是":{"docs":{},"否":{"docs":{},"需":{"docs":{},"要":{"docs":{},"回":{"docs":{},"调":{"docs":{},".":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}},"\"":{"docs":{},"不":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"\"":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}},"匹":{"docs":{},"配":{"docs":{},"\"":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}},"只":{"docs":{},"对":{"docs":{},"指":{"docs":{},"定":{"docs":{},"服":{"docs":{},"务":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"必":{"docs":{},"填":{"docs":{},"。":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}},"应":{"docs":{},"用":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"可":{"docs":{},"不":{"docs":{},"填":{"docs":{},",":{"docs":{},"表":{"docs":{},"示":{"docs":{},"对":{"docs":{},"所":{"docs":{},"有":{"docs":{},"应":{"docs":{},"用":{"docs":{},"生":{"docs":{},"效":{"docs":{},"。":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}},"对":{"docs":{},"所":{"docs":{},"有":{"docs":{},"i":{"docs":{},"p":{"docs":{},"地":{"docs":{},"址":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"只":{"docs":{},"想":{"docs":{},"对":{"docs":{},"某":{"docs":{},"个":{"docs":{},"i":{"docs":{},"p":{"docs":{},"的":{"docs":{},"生":{"docs":{},"效":{"docs":{},",":{"docs":{},"请":{"docs":{},"填":{"docs":{},"入":{"docs":{},"具":{"docs":{},"体":{"docs":{},"i":{"docs":{},"p":{"docs":{},",":{"docs":{},"必":{"docs":{},"填":{"docs":{},"。":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}},"覆":{"docs":{},"盖":{"docs":{},"某":{"docs":{},"个":{"docs":{},"i":{"docs":{},"p":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"请":{"docs":{},"填":{"docs":{},"入":{"docs":{},"具":{"docs":{},"体":{"docs":{},"i":{"docs":{},"p":{"docs":{},",":{"docs":{},"必":{"docs":{},"填":{"docs":{},"。":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"该":{"docs":{},"数":{"docs":{},"据":{"docs":{},"为":{"docs":{},"动":{"docs":{},"态":{"docs":{},"配":{"docs":{},"置":{"docs":{},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"必":{"docs":{},"填":{"docs":{},"。":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}},"持":{"docs":{},"久":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"docs":{},"当":{"docs":{},"注":{"docs":{},"册":{"docs":{},"方":{"docs":{},"退":{"docs":{},"出":{"docs":{},"时":{"docs":{},",":{"docs":{},"数":{"docs":{},"据":{"docs":{},"依":{"docs":{},"然":{"docs":{},"保":{"docs":{},"存":{"docs":{},"在":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"必":{"docs":{},"填":{"docs":{},"。":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"使":{"docs":{},"用":{"docs":{},"j":{"docs":{},"v":{"docs":{},"m":{"docs":{},"共":{"docs":{},"享":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{},"(":{"docs":{},"缺":{"docs":{},"省":{"docs":{},")":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}}},"独":{"docs":{},"立":{"docs":{},"两":{"docs":{},"条":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"。":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},",":{"docs":{},"必":{"docs":{},"填":{"docs":{},"。":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}},"类":{"docs":{},"型":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"条":{"docs":{},"件":{"docs":{},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{},"和":{"docs":{},"脚":{"docs":{},"本":{"docs":{},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"可":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"必":{"docs":{},"填":{"docs":{},"。":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"将":{"docs":{},"满":{"docs":{},"足":{"docs":{},"以":{"docs":{},"上":{"docs":{},"条":{"docs":{},"件":{"docs":{},"的":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"参":{"docs":{},"数":{"docs":{},"的":{"docs":{},"值":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"为":{"1":{"0":{"0":{"0":{"docs":{},"。":{"docs":{},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"其":{"docs":{},"它":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"加":{"docs":{},"在":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"参":{"docs":{},"数":{"docs":{},"上":{"docs":{},"。":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}},"数":{"docs":{},"据":{"docs":{},"采":{"docs":{},"用":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"和":{"docs":{},"a":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},",":{"docs":{},"可":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"必":{"docs":{},"填":{"docs":{},"。":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"消":{"docs":{},"费":{"docs":{},"方":{"docs":{},"对":{"docs":{},"该":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{},"在":{"docs":{},"失":{"docs":{},"败":{"docs":{},"后":{"docs":{},",":{"docs":{},"再":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"值":{"docs":{},",":{"docs":{},"不":{"docs":{},"抛":{"docs":{},"异":{"docs":{},"常":{"docs":{},"。":{"docs":{"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.05}}}}}}}}}}}}}}}}}}}}},"都":{"docs":{},"直":{"docs":{},"接":{"docs":{},"返":{"docs":{},"回":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"值":{"docs":{},",":{"docs":{},"不":{"docs":{},"发":{"docs":{},"起":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"达":{"docs":{},"式":{"docs":{},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}},"默":{"docs":{},"认":{"docs":{},")":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}},":":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"demos/事件通知.html":{"ref":"demos/事件通知.html","tf":0.006896551724137931}}}}}}}}}}}},"构":{"docs":{},"造":{"docs":{},"函":{"docs":{},"数":{"docs":{},"传":{"docs":{},"入":{"docs":{},"真":{"docs":{},"正":{"docs":{},"的":{"docs":{},"远":{"docs":{},"程":{"docs":{},"代":{"docs":{},"理":{"docs":{},"对":{"docs":{},"象":{"docs":{"demos/本地存根.html":{"ref":"demos/本地存根.html","tf":0.01818181818181818}}}}}}}}}}}}}}}}},"请":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"改":{"docs":{},"为":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"并":{"docs":{},"在":{"docs":{},"m":{"docs":{},"o":{"docs":{},"c":{"docs":{},"k":{"docs":{},"中":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"demos/本地伪装.html":{"ref":"demos/本地伪装.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}},"求":{"docs":{},"线":{"docs":{},"程":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"先":{"docs":{},"同":{"docs":{},"步":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"判":{"docs":{},"断":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"是":{"docs":{},"否":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"不":{"docs":{},"存":{"docs":{},"在":{"docs":{},"就":{"docs":{},"同":{"docs":{},"步":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"进":{"docs":{},"行":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},",":{"docs":{},"并":{"docs":{},"再":{"docs":{},"次":{"docs":{},"同":{"docs":{},"步":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"写":{"docs":{},"入":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"实":{"docs":{},"例":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"2":{"docs":{},".":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":0.06666666666666667}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"及":{"docs":{},"响":{"docs":{},"应":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"大":{"docs":{},"小":{"docs":{},"限":{"docs":{},"制":{"docs":{},",":{"docs":{},"单":{"docs":{},"位":{"docs":{},":":{"docs":{},"字":{"docs":{},"节":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}}}}}}}},"升":{"docs":{},"级":{"docs":{},"到":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0392156862745098}}}}},"检":{"docs":{},"查":{"docs":{},"应":{"docs":{},"用":{"docs":{},":":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}},"!":{"1":{"docs":{},".":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":0.06666666666666667}}}},"docs":{},"在":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"解":{"docs":{},"析":{"docs":{},"到":{"docs":{},"时":{"docs":{},",":{"docs":{},"就":{"docs":{},"已":{"docs":{},"经":{"docs":{},"向":{"docs":{},"外":{"docs":{},"暴":{"docs":{},"露":{"docs":{},"了":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"而":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"还":{"docs":{},"在":{"docs":{},"接":{"docs":{},"着":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"其":{"docs":{},"它":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"。":{"docs":{},"!":{"docs":{},"如":{"docs":{},"果":{"docs":{},"这":{"docs":{},"时":{"docs":{},"有":{"docs":{},"请":{"docs":{},"求":{"docs":{},"进":{"docs":{},"来":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},"类":{"docs":{},"里":{"docs":{},"有":{"docs":{},"调":{"docs":{},"用":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},"的":{"docs":{},"用":{"docs":{},"法":{"docs":{},"。":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.06190476190476191}}}},"而":{"docs":{},"s":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"线":{"docs":{},"程":{"docs":{},",":{"docs":{},"因":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"判":{"docs":{},"断":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"的":{"docs":{},"存":{"docs":{},"在":{"docs":{},",":{"docs":{},"直":{"docs":{},"接":{"docs":{},"同":{"docs":{},"步":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"进":{"docs":{},"行":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},",":{"docs":{},"并":{"docs":{},"同":{"docs":{},"步":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"n":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"写":{"docs":{},"入":{"docs":{},"b":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"实":{"docs":{},"例":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"。":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":0.06666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"规":{"docs":{},"避":{"docs":{},"办":{"docs":{},"法":{"docs":{"demos/延迟暴露.html":{"ref":"demos/延迟暴露.html","tf":0.06666666666666667}}}}},"则":{"docs":{},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}},"均":{"docs":{},"衡":{"docs":{"demos/并发控制.html":{"ref":"demos/并发控制.html","tf":0.06666666666666667}}}},"都":{"docs":{},"配":{"docs":{},"了":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},",":{"docs":{"demos/并发控制.html":{"ref":"demos/并发控制.html","tf":0.06666666666666667}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},",":{"docs":{"demos/连接控制.html":{"ref":"demos/连接控制.html","tf":0.14285714285714285}}}}}}}}}}}}}}}}},"限":{"docs":{},"制":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"的":{"docs":{},"s":{"docs":{},"a":{"docs":{},"y":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"并":{"docs":{},"发":{"docs":{},"执":{"docs":{},"行":{"docs":{},"(":{"docs":{},"或":{"docs":{},"占":{"docs":{},"用":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},")":{"docs":{},"不":{"docs":{},"能":{"docs":{},"超":{"docs":{},"过":{"1":{"0":{"docs":{},"个":{"docs":{},":":{"docs":{"demos/并发控制.html":{"ref":"demos/并发控制.html","tf":0.06666666666666667}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"并":{"docs":{},"发":{"docs":{},"执":{"docs":{},"行":{"docs":{},"(":{"docs":{},"或":{"docs":{},"占":{"docs":{},"用":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"数":{"docs":{},")":{"docs":{},"不":{"docs":{},"能":{"docs":{},"超":{"docs":{},"过":{"1":{"0":{"docs":{},"个":{"docs":{},":":{"docs":{"demos/并发控制.html":{"ref":"demos/并发控制.html","tf":0.06666666666666667}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"个":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"并":{"docs":{},"发":{"docs":{},"执":{"docs":{},"行":{"docs":{},"(":{"docs":{},"或":{"docs":{},"占":{"docs":{},"用":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},")":{"docs":{},"不":{"docs":{},"能":{"docs":{},"超":{"docs":{},"过":{"1":{"0":{"docs":{},"个":{"docs":{},":":{"docs":{"demos/并发控制.html":{"ref":"demos/并发控制.html","tf":0.06666666666666667}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}},"每":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"并":{"docs":{},"发":{"docs":{},"执":{"docs":{},"行":{"docs":{},"(":{"docs":{},"或":{"docs":{},"占":{"docs":{},"用":{"docs":{},"连":{"docs":{},"接":{"docs":{},"的":{"docs":{},"请":{"docs":{},"求":{"docs":{},"数":{"docs":{},")":{"docs":{},"不":{"docs":{},"能":{"docs":{},"超":{"docs":{},"过":{"1":{"0":{"docs":{},"个":{"docs":{},":":{"docs":{"demos/并发控制.html":{"ref":"demos/并发控制.html","tf":0.06666666666666667}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"服":{"docs":{},"务":{"docs":{},"使":{"docs":{},"用":{"docs":{},"连":{"docs":{},"接":{"docs":{},"连":{"docs":{},"接":{"docs":{},"数":{"docs":{},":":{"docs":{},"(":{"docs":{},"如":{"docs":{},"果":{"docs":{},"是":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"表":{"docs":{},"示":{"docs":{},"该":{"docs":{},"服":{"docs":{},"务":{"docs":{},"对":{"docs":{},"每":{"docs":{},"个":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"建":{"docs":{},"立":{"docs":{},"的":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"数":{"docs":{},")":{"docs":{"demos/连接控制.html":{"ref":"demos/连接控制.html","tf":0.14285714285714285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"接":{"docs":{},"受":{"docs":{},"的":{"docs":{},"连":{"docs":{},"接":{"docs":{},"不":{"docs":{},"能":{"docs":{},"超":{"docs":{},"过":{"1":{"0":{"docs":{},"个":{"docs":{},":":{"docs":{},"(":{"docs":{},"因":{"docs":{},"为":{"docs":{},"连":{"docs":{},"接":{"docs":{},"在":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"上":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"配":{"docs":{},"置":{"docs":{},"在":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"上":{"docs":{},")":{"docs":{"demos/连接控制.html":{"ref":"demos/连接控制.html","tf":0.14285714285714285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"还":{"docs":{},"可":{"docs":{},"在":{"docs":{},"协":{"docs":{},"议":{"docs":{},"级":{"docs":{},"别":{"docs":{},"设":{"docs":{},"置":{"docs":{},":":{"docs":{"demos/令牌验证.html":{"ref":"demos/令牌验证.html","tf":0.16666666666666666}}}}}}}}}},"以":{"docs":{},"改":{"docs":{},"为":{"docs":{},":":{"docs":{"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.05}}}}}}}},"*":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762},"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}},",":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}},"为":{"docs":{},"重":{"docs":{},"要":{"docs":{},"应":{"docs":{},"用":{"docs":{},"提":{"docs":{},"供":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"机":{"docs":{},"器":{"docs":{},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}},"什":{"docs":{},"么":{"docs":{},"不":{"docs":{},"能":{"docs":{},"传":{"docs":{},"大":{"docs":{},"包":{"docs":{},"?":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}},"要":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"比":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"个":{"docs":{},"数":{"docs":{},"多":{"docs":{},"?":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}},"采":{"docs":{},"用":{"docs":{},"异":{"docs":{},"步":{"docs":{},"单":{"docs":{},"一":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"?":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}},"防":{"docs":{},"止":{"docs":{},"被":{"docs":{},"大":{"docs":{},"量":{"docs":{},"连":{"docs":{},"接":{"docs":{},"撑":{"docs":{},"挂":{"docs":{},",":{"docs":{},"可":{"docs":{},"在":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"限":{"docs":{},"制":{"docs":{},"大":{"docs":{},"接":{"docs":{},"收":{"docs":{},"连":{"docs":{},"接":{"docs":{},"数":{"docs":{},",":{"docs":{},"以":{"docs":{},"实":{"docs":{},"现":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"方":{"docs":{},"自":{"docs":{},"我":{"docs":{},"保":{"docs":{},"护":{"docs":{},"。":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"了":{"docs":{},"减":{"docs":{},"少":{"docs":{},"广":{"docs":{},"播":{"docs":{},"量":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"使":{"docs":{},"用":{"docs":{},"单":{"docs":{},"播":{"docs":{},"发":{"docs":{},"送":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"地":{"docs":{},"址":{"docs":{},"信":{"docs":{},"息":{"docs":{},"给":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"一":{"docs":{},"个":{"docs":{},"机":{"docs":{},"器":{"docs":{},"上":{"docs":{},"同":{"docs":{},"时":{"docs":{},"启":{"docs":{},"了":{"docs":{},"多":{"docs":{},"个":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"进":{"docs":{},"程":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"需":{"docs":{},"声":{"docs":{},"明":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{},"t":{"docs":{},"=":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"只":{"docs":{},"会":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"能":{"docs":{},"收":{"docs":{},"到":{"docs":{},"消":{"docs":{},"息":{"docs":{},":":{"docs":{"reference-registry/multicast.html":{"ref":"reference-registry/multicast.html","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"值":{"docs":{},"支":{"docs":{},"持":{"docs":{},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}},"前":{"docs":{},"后":{"docs":{},"台":{"docs":{},"分":{"docs":{},"离":{"docs":{},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}},"向":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"写":{"docs":{},"入":{"docs":{},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{},":":{"docs":{},"(":{"docs":{},"通":{"docs":{},"常":{"docs":{},"由":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"或":{"docs":{},"治":{"docs":{},"理":{"docs":{},"中":{"docs":{},"心":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"完":{"docs":{},"成":{"docs":{},")":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}}},"动":{"docs":{},"态":{"docs":{},"配":{"docs":{},"置":{"docs":{},"覆":{"docs":{},"盖":{"docs":{},"规":{"docs":{},"则":{"docs":{},":":{"docs":{},"(":{"docs":{},"通":{"docs":{},"常":{"docs":{},"由":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"或":{"docs":{},"治":{"docs":{},"理":{"docs":{},"中":{"docs":{},"心":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"完":{"docs":{},"成":{"docs":{},")":{"docs":{"demos/配置规则.html":{"ref":"demos/配置规则.html","tf":0.02631578947368421}}}}}}}}}}}}}}}}}}},"过":{"docs":{},"由":{"docs":{},"监":{"docs":{},"控":{"docs":{},"中":{"docs":{},"心":{"docs":{},"或":{"docs":{},"治":{"docs":{},"理":{"docs":{},"中":{"docs":{},"心":{"docs":{},"的":{"docs":{},"页":{"docs":{},"面":{"docs":{},"完":{"docs":{},"成":{"docs":{},")":{"docs":{"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.05}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"指":{"docs":{},"定":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"注":{"docs":{},"册":{"docs":{},",":{"docs":{},"在":{"docs":{},"多":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"时":{"docs":{},"使":{"docs":{},"用":{"docs":{},",":{"docs":{},"值":{"docs":{},"为":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}},"的":{"docs":{},"i":{"docs":{},"d":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"i":{"docs":{},"d":{"docs":{},"用":{"docs":{},"逗":{"docs":{},"号":{"docs":{},"分":{"docs":{},"隔":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"想":{"docs":{},"将":{"docs":{},"该":{"docs":{},"服":{"docs":{},"务":{"docs":{},"注":{"docs":{},"册":{"docs":{},"到":{"docs":{},"任":{"docs":{},"何":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"可":{"docs":{},"将":{"docs":{},"值":{"docs":{},"设":{"docs":{},"为":{"docs":{},"n":{"docs":{},"/":{"docs":{},"a":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"写":{"docs":{},"入":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"排":{"docs":{},"除":{"docs":{},"预":{"docs":{},"发":{"docs":{},"布":{"docs":{},"机":{"docs":{},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}},"是":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.006289308176100629}},"否":{"docs":{},"在":{"docs":{},"每":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"执":{"docs":{},"行":{"docs":{},"路":{"docs":{},"由":{"docs":{},"规":{"docs":{},"则":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"只":{"docs":{},"在":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"地":{"docs":{},"址":{"docs":{},"列":{"docs":{},"表":{"docs":{},"变":{"docs":{},"更":{"docs":{},"时":{"docs":{},"预":{"docs":{},"先":{"docs":{},"执":{"docs":{},"行":{"docs":{},"并":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"结":{"docs":{},"果":{"docs":{},",":{"docs":{},"调":{"docs":{},"用":{"docs":{},"时":{"docs":{},"直":{"docs":{},"接":{"docs":{},"从":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"中":{"docs":{},"获":{"docs":{},"取":{"docs":{},"路":{"docs":{},"由":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},"时":{"docs":{},"饥":{"docs":{},"饿":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"引":{"docs":{},"用":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"等":{"docs":{},"到":{"docs":{},"有":{"docs":{},"人":{"docs":{},"注":{"docs":{},"入":{"docs":{},"或":{"docs":{},"引":{"docs":{},"用":{"docs":{},"该":{"docs":{},"实":{"docs":{},"例":{"docs":{},"时":{"docs":{},"再":{"docs":{},"初":{"docs":{},"始":{"docs":{},"化":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"必":{"docs":{},"填":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421},"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.038461538461538464}}}},"缺":{"docs":{},"省":{"docs":{},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"不":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"异":{"docs":{},"步":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"不":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"执":{"docs":{},"行":{"docs":{},"线":{"docs":{},"程":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}},"泛":{"docs":{},"化":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"为":{"docs":{},"泛":{"docs":{},"化":{"docs":{},"接":{"docs":{},"口":{"docs":{},",":{"docs":{},"将":{"docs":{},"返":{"docs":{},"回":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"启":{"docs":{},"用":{"docs":{},"j":{"docs":{},"s":{"docs":{},"r":{"3":{"0":{"3":{"docs":{},"标":{"docs":{},"准":{"docs":{},"注":{"docs":{},"解":{"docs":{},"验":{"docs":{},"证":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"启":{"docs":{},"用":{"docs":{},",":{"docs":{},"将":{"docs":{},"对":{"docs":{},"方":{"docs":{},"法":{"docs":{},"参":{"docs":{},"数":{"docs":{},"上":{"docs":{},"的":{"docs":{},"注":{"docs":{},"解":{"docs":{},"进":{"docs":{},"行":{"docs":{},"校":{"docs":{},"验":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}},"异":{"docs":{},"步":{"docs":{},"执":{"docs":{},"行":{"docs":{},",":{"docs":{},"不":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"异":{"docs":{},"步":{"docs":{},",":{"docs":{},"只":{"docs":{},"是":{"docs":{},"忽":{"docs":{},"略":{"docs":{},"返":{"docs":{},"回":{"docs":{},"值":{"docs":{},",":{"docs":{},"不":{"docs":{},"阻":{"docs":{},"塞":{"docs":{},"执":{"docs":{},"行":{"docs":{},"线":{"docs":{},"程":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}}}}}}}}}}}}}}}}}}}}},"向":{"docs":{},"此":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"注":{"docs":{},"册":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"将":{"docs":{},"只":{"docs":{},"订":{"docs":{},"阅":{"docs":{},",":{"docs":{},"不":{"docs":{},"注":{"docs":{},"册":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}},"订":{"docs":{},"阅":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"设":{"docs":{},"为":{"docs":{},"f":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"e":{"docs":{},",":{"docs":{},"将":{"docs":{},"只":{"docs":{},"注":{"docs":{},"册":{"docs":{},",":{"docs":{},"不":{"docs":{},"订":{"docs":{},"阅":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"协":{"docs":{},"议":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"多":{"docs":{},"协":{"docs":{},"议":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}}}}}}}}}}},"满":{"docs":{},"足":{"docs":{},"期":{"docs":{},"望":{"docs":{},"(":{"docs":{},"是":{"docs":{},"/":{"docs":{},"否":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"o":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"b":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"捐":{"docs":{},"给":{"docs":{},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"r":{"docs":{},"p":{"docs":{},"c":{"docs":{},"框":{"docs":{},"架":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}},"一":{"docs":{},"个":{"docs":{},"高":{"docs":{},"效":{"docs":{},"的":{"docs":{},"k":{"docs":{},"v":{"docs":{},"缓":{"docs":{},"存":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"reference-protocol/memcached.html":{"ref":"reference-protocol/memcached.html","tf":0.047619047619047616}}}}}}}},"存":{"docs":{},"储":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"reference-protocol/redis.html":{"ref":"reference-protocol/redis.html","tf":0.05}},"安":{"docs":{},"装":{"docs":{},"方":{"docs":{},"式":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"a":{"docs":{},"h":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"x":{"docs":{},"开":{"docs":{},"源":{"docs":{},"的":{"docs":{},"一":{"docs":{},"个":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"比":{"docs":{},"较":{"docs":{},"活":{"docs":{},"跃":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"白":{"docs":{},"名":{"docs":{},"单":{"docs":{},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}},"读":{"docs":{},"写":{"docs":{},"分":{"docs":{},"离":{"docs":{},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}},"隔":{"docs":{},"离":{"docs":{},"不":{"docs":{},"同":{"docs":{},"机":{"docs":{},"房":{"docs":{},"网":{"docs":{},"段":{"docs":{},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}}}}}}},"黑":{"docs":{},"名":{"docs":{},"单":{"docs":{},":":{"docs":{"demos/路由规则.html":{"ref":"demos/路由规则.html","tf":0.004761904761904762}}}}}},"容":{"docs":{},"忍":{"docs":{},"不":{"docs":{},"重":{"docs":{},"要":{"docs":{},"服":{"docs":{},"务":{"docs":{},"不":{"docs":{},"稳":{"docs":{},"定":{"docs":{},"时":{"docs":{},"对":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.05}}}}}}}}}}}}}}}}}}}},"器":{"docs":{},"启":{"docs":{},"动":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}},"量":{"docs":{},"规":{"docs":{},"划":{"docs":{"capacity-plan.html":{"ref":"capacity-plan.html","tf":5}}}}}},"屏":{"docs":{},"蔽":{"docs":{},"不":{"docs":{},"重":{"docs":{},"要":{"docs":{},"服":{"docs":{},"务":{"docs":{},"不":{"docs":{},"可":{"docs":{},"用":{"docs":{},"时":{"docs":{},"对":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"的":{"docs":{},"影":{"docs":{},"响":{"docs":{},"。":{"docs":{"demos/服务降级.html":{"ref":"demos/服务降级.html","tf":0.05}}}}}}}}}}}}}}}}}}}}},"停":{"docs":{},"止":{"docs":{},"时":{"docs":{},",":{"docs":{},"不":{"docs":{},"再":{"docs":{},"发":{"docs":{},"起":{"docs":{},"新":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"所":{"docs":{},"有":{"docs":{},"新":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"在":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"即":{"docs":{},"报":{"docs":{},"错":{"docs":{},"。":{"docs":{"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}},"先":{"docs":{},"标":{"docs":{},"记":{"docs":{},"为":{"docs":{},"不":{"docs":{},"接":{"docs":{},"收":{"docs":{},"新":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"新":{"docs":{},"请":{"docs":{},"求":{"docs":{},"过":{"docs":{},"来":{"docs":{},"时":{"docs":{},"直":{"docs":{},"接":{"docs":{},"报":{"docs":{},"错":{"docs":{},",":{"docs":{},"让":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"重":{"docs":{},"试":{"docs":{},"其":{"docs":{},"它":{"docs":{},"机":{"docs":{},"器":{"docs":{},"。":{"docs":{"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":0.07142857142857142}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"等":{"docs":{},"待":{"docs":{},"通":{"docs":{},"知":{"docs":{},"完":{"docs":{},"成":{"docs":{},"时":{"docs":{},"间":{"docs":{},"(":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},")":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}},"原":{"docs":{},"理":{"docs":{"demos/优雅停机.html":{"ref":"demos/优雅停机.html","tf":0.07142857142857142}}},"生":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"扩":{"docs":{},"展":{"docs":{},",":{"docs":{},"在":{"docs":{},"原":{"docs":{},"生":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"基":{"docs":{},"础":{"docs":{},"上":{"docs":{},"添":{"docs":{},"加":{"docs":{},"了":{"docs":{},"一":{"docs":{},"些":{"docs":{},"额":{"docs":{},"外":{"docs":{},"的":{"docs":{},"头":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"reference-protocol/thrift.html":{"ref":"reference-protocol/thrift.html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"因":{"docs":{},"如":{"docs":{},"下":{"docs":{},":":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}},"主":{"docs":{},"机":{"docs":{},"端":{"docs":{},"口":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}}}}}},"绑":{"docs":{},"定":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":5}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"名":{"docs":{},"和":{"docs":{},"类":{"docs":{},"型":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}},"要":{"docs":{},"考":{"docs":{},"察":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"和":{"docs":{},"网":{"docs":{},"络":{"docs":{},"i":{"docs":{},"o":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"服":{"docs":{},"务":{"docs":{},"端":{"docs":{},"无":{"docs":{},"任":{"docs":{},"何":{"docs":{},"业":{"docs":{},"务":{"docs":{},"逻":{"docs":{},"辑":{"docs":{},"。":{"docs":{},"取":{"1":{"0":{"docs":{},"并":{"docs":{},"发":{"docs":{},"是":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"到":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"协":{"docs":{},"议":{"docs":{},"在":{"docs":{},"高":{"docs":{},"并":{"docs":{},"发":{"docs":{},"下":{"docs":{},"对":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"的":{"docs":{},"使":{"docs":{},"用":{"docs":{},"率":{"docs":{},"较":{"docs":{},"高":{"docs":{},"可":{"docs":{},"能":{"docs":{},"会":{"docs":{},"先":{"docs":{},"打":{"docs":{},"到":{"docs":{},"瓶":{"docs":{},"颈":{"docs":{},"。":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"公":{"docs":{},"网":{"docs":{},"i":{"docs":{},"p":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},":":{"docs":{"demos/主机绑定.html":{"ref":"demos/主机绑定.html","tf":0.03333333333333333}}}}}}}}}},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},":":{"docs":{},"日":{"docs":{},"志":{"docs":{},"适":{"docs":{},"配":{"docs":{},"扩":{"docs":{},"展":{"docs":{"demos/日志适配.html":{"ref":"demos/日志适配.html","tf":0.07692307692307693}}}}}}}}}}}},"日":{"docs":{},"志":{"docs":{},"适":{"docs":{},"配":{"docs":{"demos/日志适配.html":{"ref":"demos/日志适配.html","tf":5}}}},"输":{"docs":{},"出":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"可":{"docs":{},"选":{"docs":{},":":{"docs":{},"s":{"docs":{},"l":{"docs":{},"f":{"4":{"docs":{},"j":{"docs":{},",":{"docs":{},"j":{"docs":{},"c":{"docs":{},"l":{"docs":{},",":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"4":{"docs":{},"j":{"docs":{},",":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"docs":{"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176}}}}}}}},"docs":{}}}}}}}}}}},"docs":{}}}}}}}}}}}}}},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{"demos/服务容器.html":{"ref":"demos/服务容器.html","tf":0.018867924528301886}}}}}}},"前":{"docs":{},"有":{"docs":{},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{},"信":{"docs":{},"息":{"docs":{},"和":{"docs":{},"组":{"docs":{},"织":{"docs":{},"信":{"docs":{},"息":{"docs":{},"(":{"docs":{},"用":{"docs":{},"于":{"docs":{},"区":{"docs":{},"分":{"docs":{},"站":{"docs":{},"点":{"docs":{},")":{"docs":{},"。":{"docs":{},"有":{"docs":{},"问":{"docs":{},"题":{"docs":{},"时":{"docs":{},"便":{"docs":{},"于":{"docs":{},"的":{"docs":{},"找":{"docs":{},"到":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{},",":{"docs":{},"至":{"docs":{},"少":{"docs":{},"写":{"docs":{},"两":{"docs":{},"个":{"docs":{},"人":{"docs":{},"以":{"docs":{},"便":{"docs":{},"备":{"docs":{},"份":{"docs":{},"。":{"docs":{},"负":{"docs":{},"责":{"docs":{},"人":{"docs":{},"和":{"docs":{},"组":{"docs":{},"织":{"docs":{},"的":{"docs":{},"信":{"docs":{},"息":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"的":{"docs":{},"上":{"docs":{},"看":{"docs":{},"到":{"docs":{},"。":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"两":{"docs":{},"阶":{"docs":{},"段":{"docs":{},"提":{"docs":{},"交":{"docs":{},":":{"docs":{"demos/分布式事务.html":{"ref":"demos/分布式事务.html","tf":0.3333333333333333}}}}}}}},"暂":{"docs":{},"未":{"docs":{},"实":{"docs":{},"现":{"docs":{},"。":{"docs":{"demos/分布式事务.html":{"ref":"demos/分布式事务.html","tf":0.3333333333333333}}}}}}},"&":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.1}}},"详":{"docs":{},"细":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"配":{"docs":{},"置":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}},"上":{"docs":{},"下":{"docs":{},"文":{"docs":{},"信":{"docs":{},"息":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}},"回":{"docs":{},"声":{"docs":{},"测":{"docs":{},"试":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}},"泛":{"docs":{},"化":{"docs":{},"引":{"docs":{},"用":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}},"注":{"docs":{},"解":{"docs":{},"配":{"docs":{},"置":{"docs":{"reference-apiconf/api.html":{"ref":"reference-apiconf/api.html","tf":0.025}}}}}}}}},"配":{"docs":{},"置":{"docs":{},"说":{"docs":{},"明":{"docs":{},"参":{"docs":{},"见":{"docs":{},":":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"配":{"docs":{},"置":{"docs":{},"参":{"docs":{},"考":{"docs":{},"手":{"docs":{},"册":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}},"作":{"docs":{},"用":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421},"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.038461538461538464}}},"为":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.014084507042253521}}},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},",":{"docs":{},"比":{"docs":{},"服":{"docs":{},"务":{"docs":{},"使":{"docs":{},"用":{"docs":{},"方":{"docs":{},"更":{"docs":{},"清":{"docs":{},"楚":{"docs":{},"服":{"docs":{},"务":{"docs":{},"性":{"docs":{},"能":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"如":{"docs":{},"调":{"docs":{},"用":{"docs":{},"的":{"docs":{},"超":{"docs":{},"时":{"docs":{},"时":{"docs":{},"间":{"docs":{},",":{"docs":{},"合":{"docs":{},"理":{"docs":{},"的":{"docs":{},"重":{"docs":{},"试":{"docs":{},"次":{"docs":{},"数":{"docs":{},",":{"docs":{},"等":{"docs":{},"等":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"兼":{"docs":{},"容":{"docs":{},"性":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421},"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.038461538461538464},"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}},":":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}},"声":{"docs":{},"明":{"docs":{},"因":{"2":{"docs":{},".":{"0":{"docs":{},".":{"8":{"docs":{},"最":{"docs":{},"初":{"docs":{},"设":{"docs":{},"计":{"docs":{},"的":{"docs":{},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"存":{"docs":{},"储":{"docs":{},"结":{"docs":{},"构":{"docs":{},"不":{"docs":{},"能":{"docs":{},"扩":{"docs":{},"充":{"docs":{},"不":{"docs":{},"同":{"docs":{},"类":{"docs":{},"型":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},",":{"2":{"docs":{},".":{"0":{"docs":{},".":{"9":{"docs":{},"版":{"docs":{},"本":{"docs":{},"做":{"docs":{},"了":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"所":{"docs":{},"以":{"docs":{},"不":{"docs":{},"兼":{"docs":{},"容":{"docs":{},",":{"docs":{},"需":{"docs":{},"全":{"docs":{},"部":{"docs":{},"改":{"docs":{},"用":{"2":{"docs":{},".":{"0":{"docs":{},".":{"9":{"docs":{},"版":{"docs":{},"本":{"docs":{},"才":{"docs":{},"行":{"docs":{},",":{"docs":{},"以":{"docs":{},"后":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"会":{"docs":{},"保":{"docs":{},"持":{"docs":{},"兼":{"docs":{},"容":{"2":{"docs":{},".":{"0":{"docs":{},".":{"9":{"docs":{},"。":{"2":{"docs":{},".":{"2":{"docs":{},".":{"0":{"docs":{},"版":{"docs":{},"本":{"docs":{},"改":{"docs":{},"为":{"docs":{},"基":{"docs":{},"于":{"docs":{},"z":{"docs":{},"k":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"需":{"docs":{},"增":{"docs":{},"加":{"docs":{},"z":{"docs":{},"k":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"的":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"包":{"docs":{},",":{"2":{"docs":{},".":{"3":{"docs":{},".":{"0":{"docs":{},"版":{"docs":{},"本":{"docs":{},"增":{"docs":{},"加":{"docs":{},"了":{"docs":{},"基":{"docs":{},"于":{"docs":{},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"的":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"可":{"docs":{},"选":{"docs":{},"实":{"docs":{},"现":{"docs":{},"策":{"docs":{},"略":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}},"描":{"docs":{},"述":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421},"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.038461538461538464}}}},"标":{"docs":{},"签":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.016129032258064516},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421},"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.038461538461538464}}},"识":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.05263157894736842}}}},"每":{"docs":{},"服":{"docs":{},"务":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"每":{"docs":{},"服":{"docs":{},"务":{"docs":{},"每":{"docs":{},"方":{"docs":{},"法":{"docs":{},"最":{"docs":{},"大":{"docs":{},"并":{"docs":{},"发":{"docs":{},"调":{"docs":{},"用":{"docs":{},"数":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}}},"最":{"docs":{},"大":{"docs":{},"并":{"docs":{},"发":{"docs":{},"调":{"docs":{},"用":{"docs":{},"限":{"docs":{},"制":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}}}}}},"每":{"docs":{},"方":{"docs":{},"法":{"docs":{},"最":{"docs":{},"大":{"docs":{},"使":{"docs":{},"用":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"限":{"docs":{},"制":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}}}}}}}}}}},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"对":{"docs":{},"每":{"docs":{},"个":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"最":{"docs":{},"大":{"docs":{},"连":{"docs":{},"接":{"docs":{},"数":{"docs":{},",":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"、":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"、":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"等":{"docs":{},"短":{"docs":{},"连":{"docs":{},"接":{"docs":{},"协":{"docs":{},"议":{"docs":{},"支":{"docs":{},"持":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"协":{"docs":{},"议":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"此":{"docs":{},"配":{"docs":{},"置":{"docs":{"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"接":{"docs":{},"口":{"docs":{},"都":{"docs":{},"应":{"docs":{},"定":{"docs":{},"义":{"docs":{},"版":{"docs":{},"本":{"docs":{},"号":{"docs":{},",":{"docs":{},"为":{"docs":{},"后":{"docs":{},"续":{"docs":{},"不":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"升":{"docs":{},"级":{"docs":{},"提":{"docs":{},"供":{"docs":{},"可":{"docs":{},"能":{"docs":{},",":{"docs":{},"如":{"docs":{},":":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}},"天":{"docs":{},"接":{"docs":{},"收":{"3":{"docs":{},"亿":{"docs":{},"次":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{"capacity-plan.html":{"ref":"capacity-plan.html","tf":0.09090909090909091}}}}}}}}},"4":{"docs":{},"亿":{"docs":{},"次":{"docs":{},"远":{"docs":{},"程":{"docs":{},"调":{"docs":{},"用":{"docs":{"capacity-plan.html":{"ref":"capacity-plan.html","tf":0.09090909090909091}}}}}}}}},"docs":{}}}}},"生":{"docs":{},"成":{"docs":{},"动":{"docs":{},"态":{"docs":{},"代":{"docs":{},"理":{"docs":{},"方":{"docs":{},"式":{"docs":{},",":{"docs":{},"可":{"docs":{},"选":{"docs":{},":":{"docs":{},"j":{"docs":{},"d":{"docs":{},"k":{"docs":{},"/":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"应":{"docs":{},"用":{"docs":{"reference-maven/maven.html":{"ref":"reference-maven/maven.html","tf":0.05555555555555555}}}}}}}}}}}}}}},"类":{"docs":{},"型":{"docs":{"reference-xmlconf/dubbo-service.html":{"ref":"reference-xmlconf/dubbo-service.html","tf":0.003968253968253968},"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258},"reference-xmlconf/dubbo-monitor.html":{"ref":"reference-xmlconf/dubbo-monitor.html","tf":0.03571428571428571},"reference-xmlconf/dubbo-application.html":{"ref":"reference-xmlconf/dubbo-application.html","tf":0.014705882352941176},"reference-xmlconf/dubbo-module.html":{"ref":"reference-xmlconf/dubbo-module.html","tf":0.02564102564102564},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761},"reference-xmlconf/dubbo-argument.html":{"ref":"reference-xmlconf/dubbo-argument.html","tf":0.02631578947368421},"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.038461538461538464}}},"a":{"docs":{},"多":{"docs":{},"一":{"docs":{},"种":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"传":{"docs":{},"输":{"docs":{},"类":{"docs":{},"型":{"docs":{},"设":{"docs":{},"置":{"docs":{},",":{"docs":{},"如":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"协":{"docs":{},"议":{"docs":{},"的":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"或":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"a":{"docs":{},"s":{"docs":{},"y":{"docs":{},"n":{"docs":{},"c":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}},"i":{"docs":{},"d":{"docs":{},"属":{"docs":{},"性":{"docs":{},",":{"docs":{},"多":{"docs":{},"个":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"i":{"docs":{},"d":{"docs":{},"用":{"docs":{},"逗":{"docs":{},"号":{"docs":{},"分":{"docs":{},"隔":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"不":{"docs":{},"想":{"docs":{},"将":{"docs":{},"该":{"docs":{},"服":{"docs":{},"务":{"docs":{},"注":{"docs":{},"册":{"docs":{},"到":{"docs":{},"任":{"docs":{},"何":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},",":{"docs":{},"可":{"docs":{},"将":{"docs":{},"值":{"docs":{},"设":{"docs":{},"为":{"docs":{},"n":{"docs":{},"/":{"docs":{},"a":{"docs":{"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475},"reference-xmlconf/dubbo-consumer.html":{"ref":"reference-xmlconf/dubbo-consumer.html","tf":0.006666666666666667}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"l":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045},"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.007042253521126761}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}},"签":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}},"选":{"docs":{},"择":{"docs":{},"动":{"docs":{},"态":{"docs":{},"代":{"docs":{},"理":{"docs":{},"实":{"docs":{},"现":{"docs":{},"策":{"docs":{},"略":{"docs":{},",":{"docs":{},"可":{"docs":{},"选":{"docs":{},":":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"reference-xmlconf/dubbo-reference.html":{"ref":"reference-xmlconf/dubbo-reference.html","tf":0.0045045045045045045}}}}}}}}}}}}}}}}}}}}}}}}},"项":{"docs":{},"参":{"docs":{},"数":{"docs":{},"配":{"docs":{},"置":{"docs":{},":":{"docs":{},"配":{"docs":{},"置":{"docs":{},"类":{"docs":{},":":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},".":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"说":{"docs":{},"明":{"docs":{},":":{"docs":{},"该":{"docs":{},"标":{"docs":{},"签":{"docs":{},"为":{"docs":{},"|":{"docs":{},"或":{"docs":{},"|":{"docs":{},"或":{"docs":{},"|":{"docs":{},"或":{"docs":{},"|":{"docs":{},"或":{"docs":{},"|":{"docs":{},"的":{"docs":{},"子":{"docs":{},"标":{"docs":{},"签":{"docs":{},",":{"docs":{},"用":{"docs":{},"于":{"docs":{},"配":{"docs":{},"置":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"该":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},"将":{"docs":{},"作":{"docs":{},"为":{"docs":{},"扩":{"docs":{},"展":{"docs":{},"点":{"docs":{},"设":{"docs":{},"置":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"参":{"docs":{},"数":{"docs":{},"使":{"docs":{},"用":{"docs":{},"。":{"docs":{"reference-xmlconf/dubbo-parameter.html":{"ref":"reference-xmlconf/dubbo-parameter.html","tf":0.038461538461538464}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"u":{"docs":{},"e":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.00975609756097561},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.00558659217877095}}}},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},")":{"docs":{},",":{"docs":{},"这":{"docs":{},"样":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"没":{"docs":{},"有":{"docs":{},"明":{"docs":{},"确":{"docs":{},"语":{"docs":{},"义":{"docs":{},",":{"docs":{},"会":{"docs":{},"给":{"docs":{},"后":{"docs":{},"期":{"docs":{},"维":{"docs":{},"护":{"docs":{},"带":{"docs":{},"来":{"docs":{},"不":{"docs":{},"便":{"docs":{},"。":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105},"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}},"编":{"docs":{},"码":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805},"reference-xmlconf/dubbo-provider.html":{"ref":"reference-xmlconf/dubbo-provider.html","tf":0.002793296089385475}}}},":":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}}}}}}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"标":{"docs":{},"准":{"docs":{},"二":{"docs":{},"进":{"docs":{},"制":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}},"表":{"docs":{},"单":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353}}}}}}},"s":{"docs":{},"o":{"docs":{},"a":{"docs":{},"p":{"docs":{},"文":{"docs":{},"本":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}}},"心":{"docs":{},"跳":{"docs":{},"间":{"docs":{},"隔":{"docs":{},",":{"docs":{},"对":{"docs":{},"于":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"当":{"docs":{},"物":{"docs":{},"理":{"docs":{},"层":{"docs":{},"断":{"docs":{},"开":{"docs":{},"时":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"拔":{"docs":{},"网":{"docs":{},"线":{"docs":{},",":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{},"的":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"消":{"docs":{},"息":{"docs":{},"来":{"docs":{},"不":{"docs":{},"及":{"docs":{},"发":{"docs":{},"送":{"docs":{},",":{"docs":{},"对":{"docs":{},"方":{"docs":{},"收":{"docs":{},"不":{"docs":{},"到":{"docs":{},"断":{"docs":{},"开":{"docs":{},"事":{"docs":{},"件":{"docs":{},",":{"docs":{},"此":{"docs":{},"时":{"docs":{},"需":{"docs":{},"要":{"docs":{},"心":{"docs":{},"跳":{"docs":{},"来":{"docs":{},"帮":{"docs":{},"助":{"docs":{},"检":{"docs":{},"查":{"docs":{},"连":{"docs":{},"接":{"docs":{},"是":{"docs":{},"否":{"docs":{},"已":{"docs":{},"断":{"docs":{},"开":{"docs":{"reference-xmlconf/dubbo-protocol.html":{"ref":"reference-xmlconf/dubbo-protocol.html","tf":0.004878048780487805}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"密":{"docs":{},"码":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"验":{"docs":{},"证":{"docs":{},"可":{"docs":{},"不":{"docs":{},"填":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}},"用":{"docs":{},"户":{"docs":{},"名":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"验":{"docs":{},"证":{"docs":{},"可":{"docs":{},"不":{"docs":{},"填":{"docs":{"reference-xmlconf/dubbo-registry.html":{"ref":"reference-xmlconf/dubbo-registry.html","tf":0.008064516129032258}}}}}}}}}}}}}}}}}}}}}}}}}},"子":{"docs":{},"标":{"docs":{},"签":{"docs":{},"时":{"docs":{},"有":{"docs":{},"效":{"docs":{"reference-xmlconf/dubbo-method.html":{"ref":"reference-xmlconf/dubbo-method.html","tf":0.014084507042253521}}}}}}}},"推":{"docs":{},"荐":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"协":{"docs":{},"议":{"docs":{"reference-protocol/introduction.html":{"ref":"reference-protocol/introduction.html","tf":0.3333333333333333}}}}}}}}},"z":{"docs":{},"o":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{"reference-registry/introduction.html":{"ref":"reference-registry/introduction.html","tf":1}}}}}}}}}}}}}}}}},"用":{"docs":{},"法":{"docs":{"recommend.html":{"ref":"recommend.html","tf":5}}}}}},"个":{"docs":{},"属":{"docs":{},"性":{"docs":{},"的":{"docs":{},"值":{"docs":{},",":{"docs":{},"b":{"docs":{},"没":{"docs":{},"有":{"docs":{},",":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}},"传":{"docs":{},"输":{"docs":{},"协":{"docs":{},"议":{"docs":{},":":{"docs":{},"t":{"docs":{},"c":{"docs":{},"p":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564},"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}},"方":{"docs":{},"式":{"docs":{},":":{"docs":{},"n":{"docs":{},"i":{"docs":{},"o":{"docs":{},"异":{"docs":{},"步":{"docs":{},"传":{"docs":{},"输":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}},"同":{"docs":{},"步":{"docs":{},"传":{"docs":{},"输":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564},"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}},"入":{"1":{"docs":{},"k":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"不":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"原":{"docs":{},"样":{"docs":{},"返":{"docs":{},"回":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}},"在":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"段":{"docs":{},"循":{"docs":{},"环":{"1":{"docs":{},"w":{"docs":{},"次":{"docs":{},",":{"docs":{},"每":{"docs":{},"次":{"docs":{},"重":{"docs":{},"新":{"docs":{},"生":{"docs":{},"成":{"docs":{},"一":{"docs":{},"个":{"docs":{},"随":{"docs":{},"机":{"docs":{},"数":{"docs":{},"然":{"docs":{},"后":{"docs":{},"进":{"docs":{},"行":{"docs":{},"拼":{"docs":{},"装":{"docs":{},"。":{"docs":{},"考":{"docs":{},"察":{"docs":{},"业":{"docs":{},"务":{"docs":{},"线":{"docs":{},"程":{"docs":{},"是":{"docs":{},"否":{"docs":{},"能":{"docs":{},"够":{"docs":{},"分":{"docs":{},"配":{"docs":{},"到":{"docs":{},"每":{"docs":{},"个":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"上":{"docs":{},"。":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}},"2":{"0":{"0":{"docs":{},"k":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"不":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"原":{"docs":{},"样":{"docs":{},"返":{"docs":{},"回":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"5":{"0":{"docs":{},"k":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},",":{"docs":{},"不":{"docs":{},"做":{"docs":{},"任":{"docs":{},"何":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{},"原":{"docs":{},"样":{"docs":{},"返":{"docs":{},"回":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}},"出":{"docs":{},"来":{"docs":{},"的":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"进":{"docs":{},"行":{"docs":{},"传":{"docs":{},"输":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}},"于":{"docs":{},"兼":{"docs":{},"容":{"docs":{},"性":{"docs":{},"考":{"docs":{},"虑":{"docs":{},"默":{"docs":{},"认":{"docs":{},"的":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"方":{"docs":{},"式":{"docs":{},"和":{"1":{"docs":{},".":{"0":{"docs":{},"保":{"docs":{},"持":{"docs":{},"一":{"docs":{},"致":{"docs":{},"使":{"docs":{},"用":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"2":{"docs":{},",":{"docs":{},"如":{"docs":{},"对":{"docs":{},"性":{"docs":{},"能":{"docs":{},"有":{"docs":{},"更":{"docs":{},"高":{"docs":{},"要":{"docs":{},"求":{"docs":{},"可":{"docs":{},"以":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},",":{"docs":{},"由":{"docs":{},"其":{"docs":{},"是":{"docs":{},"在":{"docs":{},"处":{"docs":{},"理":{"docs":{},"复":{"docs":{},"杂":{"docs":{},"对":{"docs":{},"象":{"docs":{},"时":{"docs":{},",":{"docs":{},"在":{"docs":{},"大":{"docs":{},"数":{"docs":{},"据":{"docs":{},"量":{"docs":{},"下":{"docs":{},"能":{"docs":{},"获":{"docs":{},"得":{"5":{"0":{"docs":{},"%":{"docs":{},"的":{"docs":{},"提":{"docs":{},"升":{"docs":{},"(":{"docs":{},"但":{"docs":{},"此":{"docs":{},"时":{"docs":{},"已":{"docs":{},"不":{"docs":{},"建":{"docs":{},"议":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"协":{"docs":{},"议":{"docs":{},")":{"docs":{},"。":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}},"名":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"但":{"docs":{},"类":{"docs":{},"型":{"docs":{},"不":{"docs":{},"相":{"docs":{},"同":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}},"因":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"协":{"docs":{},"议":{"docs":{},"采":{"docs":{},"用":{"docs":{},"单":{"docs":{},"一":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"网":{"docs":{},"络":{"docs":{},"为":{"docs":{},"千":{"docs":{},"兆":{"docs":{},"网":{"docs":{},"卡":{"docs":{},"(":{"1":{"0":{"2":{"4":{"docs":{},"m":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"=":{"1":{"2":{"8":{"docs":{},"m":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"根":{"docs":{},"据":{"docs":{},"测":{"docs":{},"试":{"docs":{},"经":{"docs":{},"验":{"docs":{},"数":{"docs":{},"据":{"docs":{},"每":{"docs":{},"条":{"docs":{},"连":{"docs":{},"接":{"docs":{},"最":{"docs":{},"多":{"docs":{},"只":{"docs":{},"能":{"docs":{},"压":{"docs":{},"满":{"7":{"docs":{},"m":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"环":{"docs":{},"境":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"供":{"docs":{},"参":{"docs":{},"考":{"docs":{},")":{"docs":{},",":{"docs":{},"理":{"docs":{},"论":{"docs":{},"上":{"1":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"需":{"docs":{},"要":{"2":{"0":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"才":{"docs":{},"能":{"docs":{},"压":{"docs":{},"满":{"docs":{},"网":{"docs":{},"卡":{"docs":{},"。":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}},"如":{"docs":{},"果":{"docs":{},"每":{"docs":{},"次":{"docs":{},"请":{"docs":{},"求":{"docs":{},"的":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"大":{"docs":{},"小":{"docs":{},"为":{"5":{"0":{"0":{"docs":{},"k":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},",":{"docs":{},"假":{"docs":{},"设":{"docs":{},"网":{"docs":{},"络":{"docs":{},"为":{"docs":{},"千":{"docs":{},"兆":{"docs":{},"网":{"docs":{},"卡":{"docs":{},"(":{"1":{"0":{"2":{"4":{"docs":{},"m":{"docs":{},"b":{"docs":{},"i":{"docs":{},"t":{"docs":{},"=":{"1":{"2":{"8":{"docs":{},"m":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"每":{"docs":{},"条":{"docs":{},"连":{"docs":{},"接":{"docs":{},"最":{"docs":{},"大":{"7":{"docs":{},"m":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"不":{"docs":{},"同":{"docs":{},"的":{"docs":{},"环":{"docs":{},"境":{"docs":{},"可":{"docs":{},"能":{"docs":{},"不":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"供":{"docs":{},"参":{"docs":{},"考":{"docs":{},")":{"docs":{},",":{"docs":{},"单":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"(":{"docs":{},"每":{"docs":{},"秒":{"docs":{},"处":{"docs":{},"理":{"docs":{},"事":{"docs":{},"务":{"docs":{},"数":{"docs":{},")":{"docs":{},"最":{"docs":{},"大":{"docs":{},"为":{"docs":{},":":{"1":{"2":{"8":{"docs":{},"m":{"docs":{},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"为":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"现":{"docs":{},"状":{"docs":{},"大":{"docs":{},"都":{"docs":{},"是":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"少":{"docs":{},",":{"docs":{},"通":{"docs":{},"常":{"docs":{},"只":{"docs":{},"有":{"docs":{},"几":{"docs":{},"台":{"docs":{},"机":{"docs":{},"器":{"docs":{},",":{"docs":{},"而":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"多":{"docs":{},",":{"docs":{},"可":{"docs":{},"能":{"docs":{},"整":{"docs":{},"个":{"docs":{},"网":{"docs":{},"站":{"docs":{},"都":{"docs":{},"在":{"docs":{},"访":{"docs":{},"问":{"docs":{},"该":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"比":{"docs":{},"如":{"docs":{},"m":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"a":{"docs":{},"n":{"docs":{},"的":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"只":{"docs":{},"有":{"6":{"docs":{},"台":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},",":{"docs":{},"却":{"docs":{},"有":{"docs":{},"上":{"docs":{},"百":{"docs":{},"台":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},",":{"docs":{},"每":{"docs":{},"天":{"docs":{},"有":{"1":{"docs":{},".":{"5":{"docs":{},"亿":{"docs":{},"次":{"docs":{},"调":{"docs":{},"用":{"docs":{},",":{"docs":{},"如":{"docs":{},"果":{"docs":{},"采":{"docs":{},"用":{"docs":{},"常":{"docs":{},"规":{"docs":{},"的":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"服":{"docs":{},"务":{"docs":{},",":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"很":{"docs":{},"容":{"docs":{},"易":{"docs":{},"就":{"docs":{},"被":{"docs":{},"压":{"docs":{},"跨":{"docs":{},",":{"docs":{},"通":{"docs":{},"过":{"docs":{},"单":{"docs":{},"一":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"单":{"docs":{},"一":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"不":{"docs":{},"会":{"docs":{},"压":{"docs":{},"死":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},",":{"docs":{},"长":{"docs":{},"连":{"docs":{},"接":{"docs":{},",":{"docs":{},"减":{"docs":{},"少":{"docs":{},"连":{"docs":{},"接":{"docs":{},"握":{"docs":{},"手":{"docs":{},"验":{"docs":{},"证":{"docs":{},"等":{"docs":{},",":{"docs":{},"并":{"docs":{},"使":{"docs":{},"用":{"docs":{},"异":{"docs":{},"步":{"docs":{},"i":{"docs":{},"o":{"docs":{},",":{"docs":{},"复":{"docs":{},"用":{"docs":{},"线":{"docs":{},"程":{"docs":{},"池":{"docs":{},",":{"docs":{},"防":{"docs":{},"止":{"docs":{},"c":{"1":{"0":{"docs":{},"k":{"docs":{},"问":{"docs":{},"题":{"docs":{},"。":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"总":{"docs":{},"结":{"docs":{},":":{"docs":{},"会":{"docs":{},"抛":{"docs":{},"异":{"docs":{},"常":{"docs":{},"的":{"docs":{},"情":{"docs":{},"况":{"docs":{},":":{"docs":{},"枚":{"docs":{},"举":{"docs":{},"值":{"docs":{},"一":{"docs":{},"边":{"docs":{},"多":{"docs":{},"一":{"docs":{},"种":{"docs":{},",":{"docs":{},"一":{"docs":{},"边":{"docs":{},"少":{"docs":{},"一":{"docs":{},"种":{"docs":{},",":{"docs":{},"正":{"docs":{},"好":{"docs":{},"使":{"docs":{},"用":{"docs":{},"了":{"docs":{},"差":{"docs":{},"别":{"docs":{},"的":{"docs":{},"那":{"docs":{},"种":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"属":{"docs":{},"性":{"docs":{},"名":{"docs":{},"相":{"docs":{},"同":{"docs":{},",":{"docs":{},"类":{"docs":{},"型":{"docs":{},"不":{"docs":{},"同":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"端":{"docs":{},"和":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"对":{"docs":{},"领":{"docs":{},"域":{"docs":{},"对":{"docs":{},"象":{"docs":{},"并":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"完":{"docs":{},"全":{"docs":{},"一":{"docs":{},"致":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"按":{"docs":{},"照":{"docs":{},"最":{"docs":{},"大":{"docs":{},"匹":{"docs":{},"配":{"docs":{},"原":{"docs":{},"则":{"docs":{},"。":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"情":{"docs":{},"况":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}},"收":{"docs":{},"数":{"docs":{},"据":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}},"枚":{"docs":{},"举":{"docs":{},"a":{"docs":{},"多":{"docs":{},"一":{"docs":{},"种":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.017543859649122806}}}}}},"(":{"docs":{},"或":{"docs":{},"者":{"docs":{},"说":{"docs":{},"b":{"docs":{},"少":{"docs":{},"一":{"docs":{},"种":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.017543859649122806}}}}}}}}}},")":{"docs":{},",":{"docs":{},"a":{"docs":{},"不":{"docs":{},"使":{"docs":{},"用":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}},"使":{"docs":{},"用":{"docs":{},"多":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}},"值":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}},"正":{"docs":{},"常":{"docs":{},"传":{"docs":{},"输":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}},"约":{"docs":{},"束":{"docs":{},":":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403},"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549},"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564},"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353},"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}},"输":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},"和":{"docs":{},"结":{"docs":{},"果":{"docs":{},"集":{"docs":{},"属":{"docs":{},"性":{"docs":{},"名":{"docs":{},"变":{"docs":{},"化":{"docs":{},",":{"docs":{},"对":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"无":{"docs":{},"影":{"docs":{},"响":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"如":{"docs":{},"果":{"docs":{},"客":{"docs":{},"户":{"docs":{},"端":{"docs":{},"不":{"docs":{},"重":{"docs":{},"新":{"docs":{},"部":{"docs":{},"署":{"docs":{},",":{"docs":{},"不":{"docs":{},"管":{"docs":{},"输":{"docs":{},"入":{"docs":{},"还":{"docs":{},"是":{"docs":{},"输":{"docs":{},"出":{"docs":{},",":{"docs":{},"属":{"docs":{},"性":{"docs":{},"名":{"docs":{},"变":{"docs":{},"化":{"docs":{},"的":{"docs":{},"属":{"docs":{},"性":{"docs":{},"值":{"docs":{},"是":{"docs":{},"获":{"docs":{},"取":{"docs":{},"不":{"docs":{},"到":{"docs":{},"的":{"docs":{},"。":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"适":{"docs":{},"用":{"docs":{},"场":{"docs":{},"景":{"docs":{},":":{"docs":{},"常":{"docs":{},"规":{"docs":{},"远":{"docs":{},"程":{"docs":{},"服":{"docs":{},"务":{"docs":{},"方":{"docs":{},"法":{"docs":{},"调":{"docs":{},"用":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}},",":{"docs":{},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"服":{"docs":{},"务":{"docs":{},"互":{"docs":{},"操":{"docs":{},"作":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}}}}}},"页":{"docs":{},"面":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"文":{"docs":{},"件":{"docs":{},"传":{"docs":{},"输":{"docs":{},",":{"docs":{},"或":{"docs":{},"与":{"docs":{},"原":{"docs":{},"生":{"docs":{},"h":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"n":{"docs":{},"服":{"docs":{},"务":{"docs":{},"互":{"docs":{},"操":{"docs":{},"作":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}}}}}}}}}}}}}}}}}}}}}}}}},"需":{"docs":{},"同":{"docs":{},"时":{"docs":{},"给":{"docs":{},"应":{"docs":{},"用":{"docs":{},"程":{"docs":{},"序":{"docs":{},"和":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"j":{"docs":{},"s":{"docs":{},"使":{"docs":{},"用":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}},"系":{"docs":{},"统":{"docs":{},"集":{"docs":{},"成":{"docs":{},",":{"docs":{},"跨":{"docs":{},"语":{"docs":{},"言":{"docs":{},"调":{"docs":{},"用":{"docs":{},"。":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}}}}}}}}}}}}}}},"范":{"docs":{},"围":{"docs":{},":":{"docs":{},"传":{"docs":{},"入":{"docs":{},"传":{"docs":{},"出":{"docs":{},"参":{"docs":{},"数":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"较":{"docs":{},"小":{"docs":{},"(":{"docs":{},"建":{"docs":{},"议":{"docs":{},"小":{"docs":{},"于":{"1":{"0":{"0":{"docs":{},"k":{"docs":{},")":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"比":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"个":{"docs":{},"数":{"docs":{},"多":{"docs":{},",":{"docs":{},"单":{"docs":{},"一":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"无":{"docs":{},"法":{"docs":{},"压":{"docs":{},"满":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},",":{"docs":{},"尽":{"docs":{},"量":{"docs":{},"不":{"docs":{},"要":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"协":{"docs":{},"议":{"docs":{},"传":{"docs":{},"输":{"docs":{},"大":{"docs":{},"文":{"docs":{},"件":{"docs":{},"或":{"docs":{},"超":{"docs":{},"大":{"docs":{},"字":{"docs":{},"符":{"docs":{},"串":{"docs":{},"。":{"docs":{"reference-protocol/dubbo.html":{"ref":"reference-protocol/dubbo.html","tf":0.008771929824561403}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}},"大":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"比":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"个":{"docs":{},"数":{"docs":{},"多":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"压":{"docs":{},"力":{"docs":{},"较":{"docs":{},"大":{"docs":{},",":{"docs":{},"可":{"docs":{},"传":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"大":{"docs":{},"小":{"docs":{},"混":{"docs":{},"合":{"docs":{},",":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"与":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"个":{"docs":{},"数":{"docs":{},"差":{"docs":{},"不":{"docs":{},"多":{"docs":{},",":{"docs":{},"可":{"docs":{},"传":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}}}}}}},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"比":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"个":{"docs":{},"数":{"docs":{},"多":{"docs":{},",":{"docs":{},"可":{"docs":{},"用":{"docs":{},"浏":{"docs":{},"览":{"docs":{},"器":{"docs":{},"查":{"docs":{},"看":{"docs":{},",":{"docs":{},"可":{"docs":{},"用":{"docs":{},"表":{"docs":{},"单":{"docs":{},"或":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"传":{"docs":{},"入":{"docs":{},"参":{"docs":{},"数":{"docs":{},",":{"docs":{},"暂":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"传":{"docs":{},"文":{"docs":{},"件":{"docs":{},"。":{"docs":{"reference-protocol/http.html":{"ref":"reference-protocol/http.html","tf":0.029411764705882353}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"性":{"docs":{},"说":{"docs":{},"明":{"docs":{},"此":{"docs":{},"s":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"只":{"docs":{},"是":{"docs":{},"简":{"docs":{},"单":{"docs":{},"实":{"docs":{},"现":{"docs":{},",":{"docs":{},"不":{"docs":{},"支":{"docs":{},"持":{"docs":{},"集":{"docs":{},"群":{"docs":{},",":{"docs":{},"可":{"docs":{},"作":{"docs":{},"为":{"docs":{},"自":{"docs":{},"定":{"docs":{},"义":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"的":{"docs":{},"参":{"docs":{},"考":{"docs":{},",":{"docs":{},"但":{"docs":{},"不":{"docs":{},"适":{"docs":{},"合":{"docs":{},"直":{"docs":{},"接":{"docs":{},"用":{"docs":{},"于":{"docs":{},"生":{"docs":{},"产":{"docs":{},"环":{"docs":{},"境":{"docs":{},"。":{"docs":{"reference-registry/simple.html":{"ref":"reference-registry/simple.html","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"更":{"docs":{},"多":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"优":{"docs":{},"化":{"docs":{},"参":{"docs":{},"数":{"docs":{},"请":{"docs":{},"查":{"docs":{},"看":{"docs":{},":":{"docs":{"reference-protocol/rmi.html":{"ref":"reference-protocol/rmi.html","tf":0.0196078431372549}}}}}}}}}}}}}}},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"其":{"docs":{},"通":{"docs":{},"讯":{"docs":{},"效":{"docs":{},"率":{"docs":{},"高":{"docs":{},"于":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"和":{"docs":{},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{},"自":{"docs":{},"带":{"docs":{},"的":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"。":{"docs":{"reference-protocol/hessian.html":{"ref":"reference-protocol/hessian.html","tf":0.02564102564102564}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"。":{"docs":{"reference-protocol/webservice.html":{"ref":"reference-protocol/webservice.html","tf":0.014925373134328358}}},"号":{"docs":{},"通":{"docs":{},"配":{"docs":{},"符":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}},"时":{"docs":{},",":{"docs":{},"记":{"docs":{},"录":{"docs":{},"失":{"docs":{},"败":{"docs":{},"注":{"docs":{},"册":{"docs":{},"和":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"请":{"docs":{},"求":{"docs":{},",":{"docs":{},"后":{"docs":{},"台":{"docs":{},"定":{"docs":{},"时":{"docs":{},"重":{"docs":{},"试":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}},"订":{"docs":{},"阅":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{},"并":{"docs":{},"向":{"docs":{},"/":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"写":{"docs":{},"入":{"docs":{},"自":{"docs":{},"己":{"docs":{},"的":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},"的":{"docs":{},"所":{"docs":{},"有":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"和":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"地":{"docs":{},"址":{"docs":{},"。":{"docs":{"reference-registry/zookeeper.html":{"ref":"reference-registry/zookeeper.html","tf":0.013157894736842105}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"普":{"docs":{},"通":{"docs":{},"消":{"docs":{},"费":{"docs":{},"者":{"docs":{},"直":{"docs":{},"接":{"docs":{},"订":{"docs":{},"阅":{"docs":{},"指":{"docs":{},"定":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},",":{"docs":{},"只":{"docs":{},"会":{"docs":{},"收":{"docs":{},"到":{"docs":{},"指":{"docs":{},"定":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"r":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},",":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"阿":{"docs":{},"里":{"docs":{},"内":{"docs":{},"部":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"采":{"docs":{},"用":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"做":{"docs":{},"为":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"而":{"docs":{},"是":{"docs":{},"使":{"docs":{},"用":{"docs":{},"自":{"docs":{},"己":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"基":{"docs":{},"于":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"的":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},",":{"docs":{},"即":{"docs":{},":":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"并":{"docs":{},"没":{"docs":{},"有":{"docs":{},"在":{"docs":{},"阿":{"docs":{},"里":{"docs":{},"内":{"docs":{},"部":{"docs":{},"长":{"docs":{},"时":{"docs":{},"间":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"保":{"docs":{},"障":{"docs":{},",":{"docs":{},"此":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"桥":{"docs":{},"接":{"docs":{},"实":{"docs":{},"现":{"docs":{},"只":{"docs":{},"为":{"docs":{},"开":{"docs":{},"源":{"docs":{},"版":{"docs":{},"本":{"docs":{},"提":{"docs":{},"供":{"docs":{},",":{"docs":{},"其":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"可":{"docs":{},"靠":{"docs":{},"性":{"docs":{},"。":{"docs":{"reference-registry/redis.html":{"ref":"reference-registry/redis.html","tf":0.020833333333333332}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"修":{"docs":{},"改":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}},"取":{"docs":{},"消":{"docs":{},"缺":{"docs":{},"省":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}},"查":{"docs":{},"看":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}},"询":{"docs":{},"方":{"docs":{},"法":{"docs":{},"不":{"docs":{},"建":{"docs":{},"议":{"docs":{},"抛":{"docs":{},"出":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"d":{"docs":{},"异":{"docs":{},"常":{"docs":{},",":{"docs":{},"否":{"docs":{},"则":{"docs":{},"调":{"docs":{},"用":{"docs":{},"方":{"docs":{},"在":{"docs":{},"查":{"docs":{},"询":{"docs":{},"时":{"docs":{},"将":{"docs":{},"过":{"docs":{},"多":{"docs":{},"的":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},",":{"docs":{},"并":{"docs":{},"且":{"docs":{},"不":{"docs":{},"能":{"docs":{},"进":{"docs":{},"行":{"docs":{},"有":{"docs":{},"效":{"docs":{},"处":{"docs":{},"理":{"docs":{},",":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"清":{"docs":{},"除":{"docs":{},"屏":{"docs":{},"幕":{"docs":{},"上":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}},"指":{"docs":{},"定":{"docs":{},"行":{"docs":{},"数":{"docs":{},"的":{"docs":{},"内":{"docs":{},"容":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}}}}},"跟":{"docs":{},"踪":{"1":{"0":{"docs":{},"次":{"docs":{},"服":{"docs":{},"务":{"docs":{},"任":{"docs":{},"意":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}}},"docs":{},"次":{"docs":{},"服":{"docs":{},"务":{"docs":{},"任":{"docs":{},"意":{"docs":{},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"情":{"docs":{},"况":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}},"方":{"docs":{},"法":{"docs":{},"的":{"docs":{},"调":{"docs":{},"用":{"docs":{},"情":{"docs":{},"况":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}},"docs":{}}},"退":{"docs":{},"出":{"docs":{},"当":{"docs":{},"前":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"命":{"docs":{},"令":{"docs":{},"行":{"docs":{},"。":{"docs":{"reference-telnet/telnet.html":{"ref":"reference-telnet/telnet.html","tf":0.007194244604316547}}}}}}}}}}}}}}}},"样":{"docs":{},"例":{"docs":{},":":{"docs":{},"以":{"docs":{},"指":{"docs":{},"定":{"docs":{},"的":{"9":{"0":{"9":{"9":{"docs":{},"端":{"docs":{},"口":{"docs":{},"启":{"docs":{},"动":{"docs":{},"一":{"docs":{},"个":{"docs":{},"简":{"docs":{},"易":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{"reference-maven/maven.html":{"ref":"reference-maven/maven.html","tf":0.05555555555555555}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}},"生":{"docs":{},"成":{"docs":{},"指":{"docs":{},"定":{"docs":{},"接":{"docs":{},"口":{"docs":{},"和":{"docs":{},"版":{"docs":{},"本":{"docs":{},"的":{"docs":{},"服":{"docs":{},"务":{"docs":{},"提":{"docs":{},"供":{"docs":{},"者":{"docs":{},"应":{"docs":{},"用":{"docs":{"reference-maven/maven.html":{"ref":"reference-maven/maven.html","tf":0.05555555555555555}}}}}}}}}}}}}}}}}}}}}},"版":{"docs":{},"本":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}},"粒":{"docs":{},"度":{"docs":{"best-practice.html":{"ref":"best-practice.html","tf":0.02702702702702703}}}},"全":{"docs":{},"局":{"docs":{},"配":{"docs":{},"置":{"docs":{},"项":{"docs":{},"值":{"docs":{},",":{"docs":{},"对":{"docs":{},"应":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"e":{"docs":{},"s":{"docs":{},"中":{"docs":{},"的":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"名":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"文":{"docs":{},"件":{"docs":{},"的":{"docs":{},"路":{"docs":{},"径":{"docs":{},",":{"docs":{},"应":{"docs":{},"用":{"docs":{},"可":{"docs":{},"以":{"docs":{},"根":{"docs":{},"据":{"docs":{},"需":{"docs":{},"要":{"docs":{},"调":{"docs":{},"整":{"docs":{},",":{"docs":{},"保":{"docs":{},"证":{"docs":{},"这":{"docs":{},"个":{"docs":{},"文":{"docs":{},"件":{"docs":{},"不":{"docs":{},"会":{"docs":{},"在":{"docs":{},"发":{"docs":{},"布":{"docs":{},"过":{"docs":{},"程":{"docs":{},"中":{"docs":{},"被":{"docs":{},"清":{"docs":{},"除":{"docs":{},"。":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"确":{"docs":{},"保":{"docs":{},"注":{"docs":{},"册":{"docs":{},"中":{"docs":{},"心":{"docs":{},"上":{"docs":{},"有":{"docs":{},"该":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"存":{"docs":{},"在":{"docs":{},"。":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.009433962264150943}}}}}}}}}}}}}}}}},")":{"docs":{},"则":{"docs":{},"并":{"docs":{},"发":{"docs":{},"限":{"docs":{},"制":{"docs":{},"针":{"docs":{},"对":{"docs":{},"方":{"docs":{},"法":{"docs":{},",":{"docs":{},"在":{"docs":{},"接":{"docs":{},"口":{"docs":{},"上":{"docs":{},"配":{"docs":{},"置":{"docs":{},"(":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},":":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},")":{"docs":{},",":{"docs":{},"则":{"docs":{},"并":{"docs":{},"发":{"docs":{},"限":{"docs":{},"制":{"docs":{},"针":{"docs":{},"对":{"docs":{},"服":{"docs":{},"务":{"docs":{},"。":{"docs":{"recommend.html":{"ref":"recommend.html","tf":0.018867924528301886}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"平":{"docs":{},"均":{"docs":{},"响":{"docs":{},"应":{"docs":{},"时":{"docs":{},"间":{"1":{"docs":{},".":{"4":{"docs":{},"到":{"2":{"docs":{},".":{"8":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},",":{"docs":{},"网":{"docs":{},"络":{"docs":{},"开":{"docs":{},"销":{"docs":{},"约":{"docs":{},"占":{"1":{"docs":{},".":{"0":{"docs":{},"到":{"1":{"docs":{},".":{"1":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},"(":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"大":{"docs":{},"小":{"docs":{},"有":{"docs":{},"关":{"docs":{},")":{"docs":{"capacity-plan.html":{"ref":"capacity-plan.html","tf":0.09090909090909091}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"2":{"docs":{},".":{"3":{"docs":{},"到":{"2":{"docs":{},".":{"5":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},",":{"docs":{},"网":{"docs":{},"络":{"docs":{},"开":{"docs":{},"销":{"docs":{},"约":{"docs":{},"占":{"1":{"docs":{},".":{"5":{"docs":{},"到":{"1":{"docs":{},".":{"6":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},"(":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"包":{"docs":{},"大":{"docs":{},"小":{"docs":{},"有":{"docs":{},"关":{"docs":{},")":{"docs":{"capacity-plan.html":{"ref":"capacity-plan.html","tf":0.09090909090909091}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}}}}}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}}}}},"负":{"docs":{},"载":{"docs":{},"在":{"1":{"docs":{},"以":{"docs":{},"下":{"docs":{},"(":{"docs":{},"对":{"docs":{},"于":{"8":{"docs":{},"核":{"docs":{},"c":{"docs":{},"p":{"docs":{},"u":{"docs":{},"负":{"docs":{},"载":{"docs":{},"很":{"docs":{},"低":{"docs":{},")":{"docs":{"capacity-plan.html":{"ref":"capacity-plan.html","tf":0.18181818181818182}}}}}}}}}}}},"docs":{}}}}}}},"docs":{}}}}}},"下":{"docs":{},"载":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}},"导":{"docs":{},"入":{"docs":{},"自":{"docs":{},"己":{"docs":{},"服":{"docs":{},"务":{"docs":{},"的":{"docs":{},"接":{"docs":{},"口":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"包":{"docs":{},"和":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"j":{"docs":{},"a":{"docs":{},"r":{"docs":{},"(":{"docs":{},"解":{"docs":{},"压":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},".":{"docs":{},"b":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},".":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"z":{"docs":{},",":{"docs":{},"在":{"docs":{},"l":{"docs":{},"i":{"docs":{},"b":{"docs":{},"目":{"docs":{},"录":{"docs":{},"下":{"docs":{},")":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},".":{"docs":{},"b":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{},")":{"docs":{},"或":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},".":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"x":{"docs":{},")":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"阅":{"docs":{},"读":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"内":{"docs":{},"容":{"docs":{},"如":{"docs":{},"下":{"docs":{},",":{"docs":{},"请":{"docs":{},"以":{"docs":{},"压":{"docs":{},"缩":{"docs":{},"包":{"docs":{},"内":{"docs":{},"的":{"docs":{},"为":{"docs":{},"准":{"docs":{},")":{"docs":{"benchmark.html":{"ref":"benchmark.html","tf":0.03571428571428571}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"业":{"docs":{},"务":{"docs":{},"线":{"docs":{},"程":{"docs":{},"负":{"docs":{},"载":{"docs":{},"均":{"docs":{},"衡":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}},"内":{"docs":{},"存":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}},"核":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"响":{"docs":{},"应":{"docs":{},"时":{"docs":{},"间":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},"成":{"docs":{},"功":{"docs":{},"平":{"docs":{},"均":{"docs":{},"值":{"docs":{},"(":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.012578616352201259}}}}}}}}}}}}}}},"场":{"docs":{},"景":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.009433962264150943}},"名":{"docs":{},"称":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}},":":{"1":{"docs":{},"k":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"2":{"0":{"0":{"docs":{},"k":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}},"docs":{}},"5":{"0":{"docs":{},"k":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}},"docs":{},"p":{"docs":{},"o":{"docs":{},"j":{"docs":{},"o":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}},"整":{"docs":{},"体":{"docs":{},"性":{"docs":{},"能":{"docs":{},"相":{"docs":{},"比":{"1":{"docs":{},".":{"0":{"docs":{},"有":{"docs":{},"了":{"docs":{},"提":{"docs":{},"升":{"docs":{},",":{"docs":{},"平":{"docs":{},"均":{"docs":{},"提":{"docs":{},"升":{"1":{"0":{"docs":{},"%":{"docs":{},",":{"docs":{},"使":{"docs":{},"用":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"2":{"docs":{},".":{"0":{"docs":{},"新":{"docs":{},"增":{"docs":{},"的":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"序":{"docs":{},"列":{"docs":{},"化":{"docs":{},"还":{"docs":{},"能":{"docs":{},"获":{"docs":{},"得":{"1":{"0":{"docs":{},"%":{"docs":{},"~":{"5":{"0":{"docs":{},"%":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"提":{"docs":{},"升":{"docs":{},",":{"docs":{},"详":{"docs":{},"见":{"docs":{},"下":{"docs":{},"面":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}},"docs":{}}},"docs":{}}}}}}},"无":{"docs":{},"频":{"docs":{},"繁":{"docs":{},"线":{"docs":{},"程":{"docs":{},"锁":{"docs":{},",":{"docs":{},"线":{"docs":{},"程":{"docs":{},"数":{"docs":{},"平":{"docs":{},"稳":{"docs":{},"。":{"docs":{},"通":{"docs":{},"过":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}},"期":{"docs":{},"望":{"docs":{},"值":{"docs":{},"范":{"docs":{},"围":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}},"性":{"docs":{},"能":{"docs":{},"指":{"docs":{},"标":{"docs":{},"(":{"docs":{},"量":{"docs":{},"化":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"状":{"docs":{},"况":{"docs":{},"(":{"docs":{},"非":{"docs":{},"量":{"docs":{},"化":{"docs":{},",":{"docs":{},"可":{"docs":{},"选":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}},"机":{"docs":{},"型":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"由":{"docs":{},"于":{"docs":{},"d":{"docs":{},"u":{"docs":{},"b":{"docs":{},"b":{"docs":{},"o":{"docs":{},"本":{"docs":{},"身":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"占":{"docs":{},"用":{"docs":{},"都":{"docs":{},"在":{"docs":{},"毫":{"docs":{},"秒":{"docs":{},"级":{"docs":{},",":{"docs":{},"占":{"docs":{},"的":{"docs":{},"基":{"docs":{},"数":{"docs":{},"很":{"docs":{},"小":{"docs":{},",":{"docs":{},"性":{"docs":{},"能":{"docs":{},"提":{"docs":{},"升":{"docs":{},"可":{"docs":{},"能":{"docs":{},"对":{"docs":{},"应":{"docs":{},"用":{"docs":{},"整":{"docs":{},"体":{"docs":{},"的":{"docs":{},"性":{"docs":{},"能":{"docs":{},"变":{"docs":{},"化":{"docs":{},"不":{"docs":{},"大":{"docs":{},"。":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"邮":{"docs":{},"件":{"docs":{},"篇":{"docs":{},"幅":{"docs":{},"所":{"docs":{},"限":{"docs":{},"没":{"docs":{},"有":{"docs":{},"列":{"docs":{},"出":{"docs":{},"所":{"docs":{},"有":{"docs":{},"的":{"docs":{},"监":{"docs":{},"控":{"docs":{},"图":{"docs":{},",":{"docs":{},"如":{"docs":{},"需":{"docs":{},"获":{"docs":{},"得":{"docs":{},"可":{"docs":{},"在":{"docs":{},"大":{"docs":{},"力":{"docs":{},"神":{"docs":{},"平":{"docs":{},"台":{"docs":{},"上":{"docs":{},"查":{"docs":{},"询":{"docs":{},"。":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"硬":{"docs":{},"件":{"docs":{},"部":{"docs":{},"署":{"docs":{},"与":{"docs":{},"参":{"docs":{},"数":{"docs":{},"调":{"docs":{},"整":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}},"磁":{"docs":{},"盘":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"稳":{"docs":{},"定":{"docs":{},"性":{"docs":{},"场":{"docs":{},"景":{"docs":{},"(":{"2":{"0":{"docs":{},"并":{"docs":{},"发":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}},"docs":{}},"docs":{}}}},"测":{"docs":{},"试":{"docs":{},"中":{"docs":{},"由":{"docs":{},"于":{"docs":{},"将":{"docs":{},"底":{"docs":{},"层":{"docs":{},"通":{"docs":{},"信":{"docs":{},"框":{"docs":{},"架":{"docs":{},"从":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"换":{"docs":{},"成":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},",":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"区":{"docs":{},"对":{"docs":{},"象":{"docs":{},"的":{"docs":{},"增":{"docs":{},"长":{"docs":{},"大":{"docs":{},"大":{"docs":{},"减":{"docs":{},"少":{"docs":{},",":{"5":{"0":{"docs":{},"小":{"docs":{},"时":{"docs":{},"运":{"docs":{},"行":{"docs":{},",":{"docs":{},"增":{"docs":{},"长":{"docs":{},"不":{"docs":{},"到":{"2":{"0":{"0":{"docs":{},"m":{"docs":{},",":{"docs":{},"无":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"g":{"docs":{},"c":{"docs":{},"。":{"docs":{},"(":{"docs":{},"可":{"docs":{},"以":{"docs":{},"确":{"docs":{},"认":{"docs":{},"为":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"a":{"docs":{},"在":{"docs":{},"高":{"docs":{},"并":{"docs":{},"发":{"docs":{},"下":{"docs":{},"的":{"docs":{},"设":{"docs":{},"计":{"docs":{},"缺":{"docs":{},"陷":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"软":{"docs":{},"件":{"docs":{},"名":{"docs":{},"称":{"docs":{},"及":{"docs":{},"版":{"docs":{},"本":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}}},"架":{"docs":{},"构":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}},"除":{"docs":{},"了":{"5":{"0":{"docs":{},"k":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}},"docs":{}},"docs":{}}},"高":{"docs":{},"压":{"docs":{},"力":{"docs":{},"场":{"docs":{},"景":{"docs":{},"(":{"2":{"0":{"docs":{},"并":{"docs":{},"发":{"docs":{},")":{"docs":{"perf-test.html":{"ref":"perf-test.html","tf":0.0031446540880503146}}}}}},"docs":{}},"docs":{}}}}}}}},"length":3918},"corpusTokens":["!1.","!=","!在spring解析到时,就已经向外暴露了服务,而spring还在接着初始化其它bean。!如果这时有请求进来,并且服务的实现类里有调用applicationcontext.getbean()的用法。","\"","\"));","\"/valid","\"1\");","\"1.6.0_18\"","\"=>\"之前的为消费者匹配条件,所有参数和消费者的url进行对比,当消费者满足匹配条件时,对该消费者执行后面的过滤规则。","\"=>\"之后为提供者地址列表的过滤条件,所有参数和提供者的url进行对比,消费者最终只拿到过滤后的地址列表。","\"^\\\\s*\\\\w+(?:\\\\.{0,1}[\\\\w","\"changed:","\"charles`son\",","\"com.xxx.personimpl\");","\"hello","\"java.lang.string\"","\"script://0.0.0.0/com.foo.barservice?category=routers&dynamic=false&rule=\"","\"value\"}):","\"welcom","\"world\"","\"xxx\");","\"yyy\");","\"容错数据\";","$","$host","$invoke(str","&","'/')","(\"sayhello\".equals(methodname))","((echoservice)memberservice).$echo(“ok”));","(1)","(1).","(2)","(2).","(2.0.12)","(3)","(3).","(3.1).","(3.2).","(4)","(5)","(6)","(barservic","(build","(callbackservice)","(chang","(constraintviolationexception)","(default)","(demoservice)","(demoservice)context.getbean(\"demoservice\");","(dubbo序列化+netty)","(echoservice)","(except","(failover集群模式生效)","(genericservice)","(hessian2序列化+mina)","(hessian2序列化+netty)","(i","(idemoservice)","(int","(invokers)\")","(list","(nofifyimpl)","(print","(recommend)","(rpcexcept","(throwabl","(validationservice)context.getbean(\"validationservice\");","(不能在协议中传递null值)","(尚未发布)","(暂不支持参数路由)","(注意:1.0不支持自定义路径,总是使用接口名,如果有1.0调2.0,配置服务路径可能不兼容)",");","*","+",",","...","......",".][a",".activ",".async",".cach",".deprec",".execut",".loadbal",".retri",".return",".sent",".sticki",".timeout",".valid","/","/&gt;","/*","//","//for","/:","/dev/sda:","/user","0","0.0.0","0.0.0.0","0.1","0.4","0.6","0.64","0.67","0.79","0.79m","0.8","0.8.0","0.81","0.9","0.9m","02","03","0;","1","1,","1.0.0.ga","1.0.0以上版本","1.0.12以上版本","1.0.13","1.0.14以上版本","1.0.16以上版本","1.0.5以上版本","1.0.6以上版本","1.0.6及以上版本支持","1.0.7以上版本","1.0.8以上版本","1.0.9以上版本","1.04","1.1","1.1.10","1.1.7","1.1.8","1.15","1.2","1.3","1.3.6","1.37","1.4","1.4.1","1.6.0_18","10","10.20.*","10.20.153.10","10.20.153.10,10.20.153.11","10.20.153.11","10.20.153.11\")","10.75","10.92","100","1000","10000","100000","1000000","100:","1011.97","1024","1031.28","10813.5","1099","10:","11","11.94","11136.02","11211","11426.83","11940","11994","12","12.22","128","128.el5xen","1293","13","13.56","13620","14","14402","14。如果能接受,可以考虑使用,否则网络将成为瓶颈。","15","15.19","15.83","15096","16","16.0","17.51","172.22.3.*","172.22.3.1*,172.22.3.2*","172.22.3.91","172.22.3.91,172.22.3.92,172.22.3.93","172.22.3.94,172.22.3.95,172.22.3.96","172.22.3.95,172.22.3.96","172.22.3.97,172.22.3.98","180","1925.33","1962.7","1966","1k","1k数据","1时,表示延迟到spring容器初始化完成时暴露服务","2","2)","2.0.0","2.0.0以上版本","2.0.10以上版本","2.0.2以上版本","2.0.5以上版本","2.0.61","2.0.6以上版本","2.0.6以上版本支持","2.0.6及其以上版本支持","2.0.7以上版本","2.0.8以上版本","2.0.9以上版本","2.0以上版本自动加载${user.home}/dubbo","2.0和1.0默认对比百分比","2.0性能不低于1.0,2.0和1.0互调用的性能无明显下降。","2.1","2.1.0以上版本","2.1.0以上版本支持","2.1.0以上版本支持,","2.1.4","2.2","2.2.0","2.2.0以上版本","2.2.0以上版本支持,","2.2.0以上版本支持,总是只调一个可用组的实现","2.2.1以上版本支持","2.27ghz","2.3.0以上版本支持","2.3.0以上版本支持。","2.3.3以上版本的zookeeper注册中心客户端。","2.3.3以上版本(推荐使用)","2.4.0+版本,提供了简单的工具类referenceconfigcache用于缓存referenceconfig实例。","2.4.0+,分配的端口在协议缺省端口的基础上增长,确保端口段可控。","2.5","2.6.1","2.6.18","2.9","20)","20.00","20.62","200k","2012","205.182.23.201","20880","20880:","224.0.0.0","239.255.255.255","2417.7","2461.79","25","262。单个消费者调用单个服务提供者的tps(每秒处理事务数)最大为:7mbyte","27.49","2;","3","3.1","3.2","3.2.1","3.2.2版本","3.3","3.3.3","3.4","30.8","324.2","3247.1","3349.88","34.12","36.30","362.92","4","4);","4.0.5.ga","4.0.7","4.1","4.1.2","4.10","4.11","4.13","4.14","4.15","4.16","4.17","4.18","4.19","4.1版本新版本的common","4.2","4.2.0.final","4.20","4.21","4.22","4.23","4.24","4.25","4.26","4.27","4.28","4.29","4.3","4.30","4.31","4.32","4.33","4.34","4.35","4.36","4.37","4.38","4.39","4.4","4.40","4.41","4.42","4.43","4.5","4.6","4.7","4.8","4.82","4.9","4096mb","5","5.03","5.1","5.13","5000","500kbyte","50k","52.05","52.68","56.92","569.5","597.9","6","6.1","6.1.26","6.10","6.11","6.12","6.2","6.25","6.3","6.4","6.5","6.6","6.7","6.8","6.9","60000","628.06","6379","64","6g","7","7.1","7.2","7.3","7.4","7.5","7.6","7.68","7.7","7.8","7158911668568000392l;","75","8","8.1","8.2","8.3","8.4","80","8179.08","8192","88388608(=8m)","8919.27","9","9.61","9.79","9090","9]+(?:[","9]+)*\\\\.[a",":","=","=>",">",">b","@","@compon","@futur","@groupsequence(update.class)","@interfac","@max(100)","@min(18)","@notnul","@notnull(group","@past","@pattern(regexp","@reference(version=\"1.0.0\")","@service(version=\"1.0.0\")","@size(min","[info]","\\","]+)*@[a","accept","accesslog","activ","actives等类似。","addlistener(str","address","admin:","advis","age)","age;","alibaba","all,","api","api.jar:","api:","api使用范围api仅用于openapi,","api使用说明如果不想使用spring配置,而希望通过api的方式进行调用,请参见:api配置","api参考手册","api属性含义参考api属性与配置项一对一,各属性含义,请参见:,比如:applicationconfig.setname(\"xxx\")","api汇总如下:","api配置","applic","application.setname(\"xxx\");","application.setname(\"yyy\");","application.vers","application=foo","applicationconfig","applicationconfig();","applicationcontext.getbean(\"barservice\");","architectur","args)","args[0];","argument","arraylist();","assert(status.equals(\"ok\"));","assert.assertequals(null,","asserteqauls(“ok”,","async","async=true,表示结果是否马上返回.","attribute属性,不在url中体现","a和b的属性","b07)","b13,","balanc","bar","baract","barfutur","barfuture.get();","barservic","barservice)","barservice.$invoke(\"sayhello\",","barservice.findbar(barid);","barservice.sayhello(name);","barservice;","barservicemock","barservicestub","benchmark压缩包,并解压","bh620","bit","boolean","bop","bridg","broadcast","bsf:","buffer","cach","cache.destroy(reference);","cache.get(reference);","cache.get方法中会cach","cache会持有referenceconfig,不要在外部再调用referenceconfig的destroy方法,导致cache内的referenceconfig失效!","calendar等接口,只能用jdk自带的实现,因为hessian会做特殊处理,自定义实现类中的属性值都会丢失。","callback","callback=\"true\"","callbacklisten","callbacklistener(){","callbacklistener.java","callbackservic","callbackservice.addlistener(\"http://10.20.160.198/wiki/display/dubbo/foo.bar\",","callbackservice.java","callbackserviceimpl","callbackserviceimpl()","callbackserviceimpl.java","callbackservicetest.java","callback与async功能正交分解:","case","catch","catch应该加上合适的回滚边界上。","catch捕获异常,如:","catch起来。tri","category=configur","category=rout","cd","changed(str","charset","check","check=\"false\"","check=\"false\",总是会返回引用,当服务恢复时,能自动连上。","check=\"tr\bue\"。","class","class/boolean","classpathxmlapplicationcontext","classpathxmlapplicationcontext(\"classpath:consumer.xml\");","classpathxmlapplicationcontext(config);","classpathxmlapplicationcontext(new","clear","clear:","client","clientip","cluster","cluster将directory中的多个invoker伪装成一个invoker,对上层透明,伪装过程包含了容错逻辑,调用失败后,重试另一个。","codec","code的配置值(见dubbo配置参考手册)","collections3","collections4","collections包(dubbo不会依赖这个包,请排查自己的应用有没有使用)的情况下,存在反序列化安全风险。","collections解决了该问题","com.alibaba.dubbo.common.url","com.alibaba.dubbo.config.annotation.refer","com.alibaba.dubbo.config.annotation.reference;","com.alibaba.dubbo.config.annotation.servic","com.alibaba.dubbo.config.annotation.service;","com.alibaba.dubbo.config.applicationconfig","com.alibaba.dubbo.config.argumentconfig","com.alibaba.dubbo.config.consumerconfig","com.alibaba.dubbo.config.methodconfig","com.alibaba.dubbo.config.moduleconfig","com.alibaba.dubbo.config.monitorconfig","com.alibaba.dubbo.config.protocolconfig","com.alibaba.dubbo.config.providerconfig","com.alibaba.dubbo.config.referenceconfig","com.alibaba.dubbo.config.registryconfig","com.alibaba.dubbo.config.serviceconfig","com.alibaba.dubbo.container.main","com.alibaba.dubbo.demo.demoservice;","com.alibaba.dubbo.demo.provider;","com.alibaba.dubbo.demo;","com.alibaba.dubbo.examples.validation.api.validationparameter;","com.alibaba.dubbo.examples.validation.api.validationservice;","com.alibaba.dubbo.remoting.http.servlet.dispatcherservlet","com.alibaba.dubbo.rpc.config.applicationconfig;","com.alibaba.dubbo.rpc.config.consumerconfig;","com.alibaba.dubbo.rpc.config.providerconfig;","com.alibaba.dubbo.rpc.config.referenceconfig;","com.alibaba.dubbo.rpc.config.registryconfig;","com.alibaba.dubbo.rpc.config.serviceconfig;","com.alibaba.dubbo.rpc.rpccontext","com.alibaba.dubbo.rpc.rpcexcept","com.alibaba.dubbo.rpc.rpcexception;","com.alibaba.dubbo.rpc.service.echoservic","com.alibaba.dubbo.rpc.service.genericexcept","com.alibaba.dubbo.rpc.service.genericservic","com.alibaba.dubbo.rpc.service.genericservice;","com.alibaba.xxx.xxxservice=dubbo://localhost:20890","com.alibaba:dubbo:jar:2.1.2:compil","com.callback.callbacklistener;","com.callback.callbackservice;","com.callback.impl;","com.callback;","com.caucho","com.foo.barservic","com.foo.barservicemock","com.foo.barservicestub","com.foo;","com.github.sgroschupf","com.netflix.cur","com.xxx.xxxservice;","com.xxx.xxxserviceimpl;","com.xxx;","common","compil","compiler编译生成相应的java代码,后续版本中会在这方面做一些增强。","concurrenthashmap();","condition://","config","configur","config为准,列举所有配置项,其它配置方式,请参见相应转换关系:properti","config缓存","config,annot","config,api","connect","connections)","connection等","consistenthash","constraintviolationexcept","consum","consumer.java","consumer.xml","consumer.xml\";","consumer:","consumer端配置","contain","container:","context","context.getbean(\"callbackservice\");","context.getbean(\"democallback\");","context.getbean(\"demoservice\");","context.start();","contextpath","count","cpu","cpu、内存、网络、磁盘、文件句柄占用平稳。通过","cpu个数+1","ctx.getbean(\"memberservice\");","curat","curator:","cxf","cxf:","cxf是apache开源的一个rpc框架:http://cxf.apache.org,由xfire和celtix合并而来","dapplication=xxx","date","date());","date,","dcom.alibaba.xxx.xxxservice=dubbo://localhost:20890","dd","ddubbo.application.logger=log4j","ddubbo.consumer.check=fals","ddubbo.container=spring,jetty,log4j","ddubbo.properties.file=xxx.properti","ddubbo.reference.check=fals","ddubbo.reference.com.foo.barservice.check=fals","ddubbo.registry.check=fals","ddubbo.resolve.file=xxx.properti","ddubbo.resolve.file指定映射文件路径,此配置优先级高于中的配置,1.0.15及以上版本支持","debug:","default","default.act","default.async","default.clust","default.connect","default.loadbal","default.retri","default.timeout","defin","delay","delet(key)。","delete(@min(1)","delete(key)。","demoservic","demoservice.get(requestid);","demoservice.java","demoservice.sayhello(\"world\");","demoservice.sendrequest(\"hello\");","demoserviceimpl","demoserviceimpl.java","dep.log命令分析,dubbo缺省依赖以下三方库:","dependency:tre","deployer:","deprec","direct","direct,","directli","directory代表多个invoker,可以把它看成list,但与list不同的是,它的值可能是动态变化的,比如注册中心推送变更。","disable。","dispatch","dispatcher:","document","dogfooding注册中心本身就是一个普通的dubbo服务,可以减少第三方依赖,使整体通讯方式一致。","dogfooding,注册中心本身也是一个标准的rpc服务","dpackage=com.alibaba.xxx","dport=9099","dragoon监控服务在注册中心上的状态:http://dubbo","dservice=xxxservice,yyyservic","dsun.rmi.transport.tcp.responsetimeout=3000","dsun.rmi.transport.tcp.responsetimeout=3000,参见下面的rmi配置","dubbo","dubbo,","dubbo.application.logger=log4j","dubbo.application.name=foo","dubbo.application.owner=bar","dubbo.consumer.check=fals","dubbo.consumer.check=false,是设置check的缺省值,如果配置中有显式的声明,如:,不会受影响。","dubbo.container=spring,jetty,log4j","dubbo.jetty.directory=/foo/bar","dubbo.jetty.page=log,status,system","dubbo.jetty.port=8080","dubbo.log4j.file=/foo/bar.log","dubbo.log4j.level=warn","dubbo.log4j.subdirectory=20880","dubbo.properti","dubbo.protocol.dubbo.port=20880","dubbo.protocol.host=205.182.23.201","dubbo.reference.check=fals","dubbo.reference.check=false,强制改变所有reference的check值,就算配置中有声明,也会被覆盖。","dubbo.reference.com.foo.barservice.check=fals","dubbo.registry.address=10.20.153.10:9090","dubbo.registry.check=fals","dubbo.registry.check=false,前面两个都是指订阅成功,但提供者列表是否为空是否报错,如果注册订阅失败时,也允许启动,需使用此选项,将在后台定时重试。","dubbo.registry.client=cur","dubbo.registry.client=zkcli","dubbo.service.protocol=dubbo","dubbo.service.protocol=rmi","dubbo.xml","dubbo.xml:","dubbo1","dubbo1.0.13及其以上版本支持","dubbo1(hessian2序列化+mina","dubbo1(hessian2序列化+mina)","dubbo2","dubbo2.0.0以上版本支持","dubbo2.0.5以上版本服务提供端口支持telnet命令,","dubbo2.0的性能测试结论为通过,从性能、内存占用和稳定性上都有了提高和改进。由其是内存管理由于将mina换成netty,大大减少了1.0版本在高并发大数据下的内存大锯齿。如下图:","dubbo2.0相比较dubbo1.0(默认使用的都是hessian2序列化)性能均有提升(除了50k","dubbo2.1.0及其以上版本支持","dubbo2中所有的配置项都可以spring配置中,并且可以针对单个服务配置。","dubbo:","dubbo://","dubbo:appl","dubbo:argu","dubbo:consum","dubbo:cr","dubbo:method","dubbo:modul","dubbo:monitor","dubbo:paramet","dubbo:protocol","dubbo:provid","dubbo:refer","dubbo:registri","dubbo:servic","dubbo:service、dubbo:reference没有配置负责人,则使用dubbo:application设置的负责人。","dubbo中除这里声明以外的接口或类,都是内部接口或扩展接口,普通用户请不要直接依赖,否则升级版本可能出现不兼容。","dubbo协议","dubbo协议缺省为al","dubbo协议缺省为hessian2,rmi协议缺省为java,http协议缺省为json","dubbo协议缺省为netti","dubbo协议缺省为netty,http协议缺省为servlet","dubbo协议缺省每服务每提供者每消费者使用单一长连接,如果数据量较大,可以使用多个连接。","dubbo协议缺省端口为20880,rmi协议缺省端口为1099,http和hessian协议缺省端口为80","dubbo将自动加载classpath根目录下的dubbo.properties,可以通过jvm启动参数:","dubbo序列化相比hessian2序列化百分比","dubbo是通过jdk的shutdownhook来完成优雅停机的,所以如果用户使用\"kil","dubbo的常规功能,都保持零侵入,但有些功能不得不用api侵入才能实现。","dubbo的设计目的是为了满足高并发小数据量的rpc调用,在大数据量下的性能表现并不好,建议使用rmi或http协议。","dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止spring初始化完成,以便上线时,能及早发现问题,默认","dubbo缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。","dubbo缺省协议采用单一长连接和nio异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。","dubbo配置中的超时时间对rmi无效,需使用java启动参数设置:","dubbo配置参考手册","dubbo采用全spring配置方式,透明化接入应用,对应用没有任何api侵入,只需用spring加载dubbo的配置即可,dubbo基于spring的schema扩展进行加载。","duplex.","dversion=1.0.0","dynam","dynamic=fals","d参数","d参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口。","d参数或者dubbo.properties中","d参数映射服务地址,如:","e)","e.getcause();","e5520","echo","echoservic","echoservice.$echo(\"ok\");","email)","email;","enabled=tru","entri","entry.getvalue().changed(getchanged(entry.getkey()));","environ","error","error\");","errors.put(id,","esb,","eth0:","ex);","ex,","examples/src/main/java/com/alibaba/dubbo/examples/cach","examples/src/main/java/com/alibaba/dubbo/examples/callback","examples/src/main/java/com/alibaba/dubbo/examples/merg","examples/src/main/java/com/alibaba/dubbo/examples/valid","except","execut","execution,","exit","exit:","expirydate)","expirydate;","export","exporter.listen","extensionloader.getextensionloader(registryfactory.class).getadaptiveextension();","fail","failback","failfast","failov","failover:","failsaf","fals","fastjson:","featur","file","filter","final","find*,list*,get*,is*","fix","fixed,","foo","foofutur","foofuture.get();","fooservic","fooservice.findfoo(fooid);","fooservice;","fooserviceimpl","for(map.entri","force=fals","fork","forks=\"2\"","framework","frontend","full","function","futur","ga:compil","gb","gener","genericexcept","genericservic","genericservice.$invoke(\"findperson\",","genericservice.$invoke(\"sayhello\",","get(int","getage()","getchanged(str","getemail()","getexpirydate()","getlogindate()","getname()","getpassword()","govern","grep","grizzi","grizzli","grizzly:","groovi","group","guide/images/50kres.png","h4.","hadoop的子项目,是一个树型的目录服务,支持变更推送,适合作为dubbo服务的注册中心,工业强度较高,可用于生产环境,并推荐使用。","hard","hardwar","hashmap();","heartbeat","hello","help","help:","hessian","hessian2,","hessian:","hessian://","hessian_lite:","hessian协议","hessian协议用于集成hessian的服务,hessian底层采用http通讯,采用servlet暴露服务,dubbo缺省内嵌jetty作为服务器实现。","hessian序列化,只传成员属性值和值的类型,不传方法或静态变量,兼容情况:(由吴亚军提供)","hessian的各版本兼容性不好,可能和应用使用的hessian冲突,dubbo内嵌了hessian3.2.1的源码","hh:mm:ss\").format(new","hibern","host","host,","hotspot(tm)","http","http,","http:","http://","http://code.alibabatech.com/blog/experience_1402/servic","http://code.alibabatech.com/schema/dubbo/dubbo.xsd","http://download.oracle.com/docs/cd/e17409_01/javase/6/docs/technotes/guides/rmi/sunrmiproperties.html","httpclient:","httpd","http实现。","http(json序列化)","id","id)","id);","idemoservic","idemoservice.java","implement","import","index","index=\"0\"","inf/spr","inf/spring/*.xml","inf/spring目录下的所有spring配置","info:","init","injvm","injvm:","injvm=\"true\"","int","integ","intel(r)","interfac","introduct","invok","invoke(servicefactori","invoker.listen","iothread","io线程池大小(固定大小)","io线程池,接收网络读写中断,以及序列化和反序列化,不处理业务,业务线程池参见threads配置,此线程池和cpu相关,不建议配置。","isconsumersid","isprovidersid","java","java(tm)","java,","java.io.serializable;","java.text.simpledateformat;","java.util.arraylist(invokers.size());","java.util.concurrent.concurrenthashmap;","java.util.date;","java.util.map;","javassist","javassist.jar","javax.valid","javax.validation.constraints.future;","javax.validation.constraints.max;","javax.validation.constraints.min;","javax.validation.constraints.notnull;","javax.validation.constraints.past;","javax.validation.constraints.pattern;","javax.validation.constraints.size;","javax.validation.constraintviolationexception;","javax.validation.groupsequence;","java原生支持","java字节码编译器,用于动态类的生成,可选:jdk或javassist","java标准的远程调用协议","jboss","jboss的nio框架,性能较好(推荐使用)","jcach","jcache:","jcache等","jcl","jdk","jdk1.5+","jdk原生支持","jedis:","jee:","jetti","jetty,","jetty:","jfreechart:","jruby,","json","jsr107","jsr303","jta/xa三阶段提交事务","jvm内存运行稳定,无oom,堆内存中无不合理的大对象的占用。通过","jvm启动","kb","keepal","keepalivetimeout","key","key)","key,","keygener","key为服务名,value为服务提供者url,此配置优先级最高,1.0.15及以上版本支持","kylin","l","l:","laiwang","layer","leastact","libthrift","limit","link","list","listen","listener)","listener);","listener.changed(getchanged(key));","listeners.entryset()){","listeners.put(key,","listeners.remove(entry.getkey());","load","loadbal","loadbalance,","loadbalance负责从多个invoker中选出具体的一个用于本次调用,选的过程包含了负载均衡算法,调用失败后,需要重选","localhost","local三种协议,分别表示,dubbo地址,http地址,本地注册中心","local后缀。","local后缀,服务接口客户端本地代理类名,用于在客户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象,构造函数如:publ","log","log4j","log4j.jar和common","log4j:log4j:jar:1.2.16:compil","log4j等加载,可通过container扩展点进行扩展,参见:container。配置配在java命令","logger","logger.error(e);","logger的日志级别","logger的最后100字符的日志","logging.jar日志输出包。","logging:common","logging:jar:1.1.1:compil","logging,则不能去掉。","logindate)","logindate;","long","lru","ls","ls:","l,其中的20880为服务端口","main(string[]","map","map,","map.put(\"class\",","map.put(\"name\",","map.put(\"password\",","map中的key为url地址。","map中的value为过期时间,用于判断脏数据,脏数据由监控中心删除。(注意:服务器时间必需同步,否则过期检测会不准确)","matur","maven插件参考手册","max","maxclient","maxkeepaliverequest","maxrequestsperchild","maxsparethread","mbps,","memberservic","memberservice;","memcach","memcached:","memcached://","memori","memory:","messag","message,","meta","method","method.setname(\"createxxx\");","method.setretries(0);","method.settimeout(10000);","methodconfig","methodconfig();","methodname,","methods)","methods.add(method);","mina","mina,","mina:","minsparethread","mix","mm","mock","mock=fail:return+nul","mock=force:return+nul","mock后缀。","mock后缀,服务接口调用失败mock实现类,该mock类必须有一个无参构造函数,与local的区别在于,local总是被执行,而mock只在出现非业务异常(比如超时,网络异常等)时执行,local在远程调用之前执行,mock在远程调用后执行。","mock是stub的一个子集,便于服务提供方在客户端执行容错逻辑,因经常需要在出现rpcexception(比如网络失败,超时等)时进行容错,而在出现业务异常(比如登录用户名密码错误)时不需要容错,如果用stub,可能就需要捕获并依赖rpcexception类,而用mock就可以不依赖rpcexception,因为它的约定就是只有出现rpcexception时才执行。","mock等系统集成,普通服务提供方或消费方,请采用配置方式使用dubbo,请参见:","mock通常用于服务降级,比如某验权服务,当服务提供方全部挂掉后,客户端不抛出异常,而是通过mock数据返回授权失败。","mode)","model","modul","module.vers","monitor","monitor:","msg)","msg);","msg,","multi","multicast注册中心","mvn","mygenericservic","n/a","name","name)","name);","name;","name=\"findxxx\"","name,mag","nc","netti","netty,","netty.jar","new","nofifyimpl","normaldemoservic","notifi","notify.java","notifyimpl","notifyimpl.java","null;","null。","number,","number等。使用dubbo","object","object[]","object[]{person});","offer","offerservice.findoffer(offerid);","ok","oninvok","onreturn","onreturn(person","onreturn,","onreturn=\"xxx\"","onthrow","onthrow(throw","onthrow三个事件,可以配置当事件发生时,通知哪个类的哪个方法。","or:","org.apache.cxf","org.apache.thrift","org.apache.zookeep","org.hibern","org.javassist:javassist:jar:3.15.0","org.jboss.netty:netty:jar:3.2.5.final:compil","org.springframework.context.support.classpathxmlapplicationcontext;","org.springframework.stereotype.component;","org.springframework:spring:jar:2.5.6.sec03:compil","organ","override:","override://","override://0.0.0.0/com.foo.barservice?category=configurators&dynamic=false&application=foo&mock=force:return+nul","override://10.20.153.10/com.foo.barservice?category=configurators&dynamic=false&disbaled=tru","override://10.20.153.10/com.foo.barservice?category=configurators&dynamic=false&loadbalance=leastact","override://10.20.153.10/com.foo.barservice?category=configurators&dynamic=false&weight=200","owner","packag","paramet","parameter);","parametertypes,","password","password)","password;","path","payload","person","person(id,","person.put(\"name\",","person.put(\"password\",","person.setname(\"xxx\");","person.setpassword(\"yyy\");","personimpl","personimpl();","peth0:","pid\"时,才会执行。","pid\"等强制关闭指令,是不会执行优雅停机的,只有通过\"kil","pojo","pojo(嵌套的复杂person对象),不做任何处理,原样返回","port","port:","priority=1","privat","problem","process.html","processor_count","properties最后,相当于缺省值,只有xml没有配置时,dubbo.properties的相应配置项才会生效,通常用于共享公共配置,比如应用名。","protocol","protocol.setname(\"dubbo\");","protocol.setport(12345);","protocol.setthreads(200);","protocol:","protocol://username:password@host:port/path?key=value&key=valu","protocolconfig","protocolconfig();","protocolconfig.destroyall();","provid","provider.java","provider.xml","provider:","providerconfig均可以缺省配置。","provider上可以配置的provider端属性有:","provider上尽量多配置consumer端的属性,让provider实现者一开始就思考provider服务特点、服务质量的问题。","provider上配置合理的provider端属性","proxi","proxyfactori","ps","ps:","public","pwd","pwd:","query(map),这样的接口没有明确语义,会给后期维护带来不便。","queue","quick","random","redi","redis:","redis://","redis安装手册,只需搭一个原生的redis服务器,并将","redis注册中心","redis过期数据","ref","refer","reference.filt","reference.get();","reference.setapplication(application);","reference.setgeneric(true);","reference.setinterface(\"com.xxx.xxxservice\");","reference.setinterface(xxxservice.class);","reference.setmethods(methods);","reference.setregistry(registry);","reference.seturl(\"dubbo://10.20.130.230:20880/com.xxx.xxxservice\");","reference.setversion(\"1.0.0\");","reference.xml","referenceconfig","referenceconfig();","referenceconfigcach","referenceconfigcache.getcache();","referenceconfigcache.getcache(keygener","referenceconfig实例很重,封装了与注册中心的连接以及与提供者的连接,需要缓存,否则重复生成referenceconfig可能造成性能问题并且会有内存和连接泄漏。api方式编程时,容易忽略此问题。","reference对象,并且调用referenceconfig.get方法启动referenceconfig","reference配置负责人","reg1.hst.xyi.cn.alidc.net:8080/status/com.alibaba.morgan.member.memberservice:1.0.5","regist","registri","registry.fil","registry.register(url.valueof(\"condition://0.0.0.0/com.foo.barservice?category=routers&dynamic=false&rule=\"","registry.register(url.valueof(\"memcached://10.20.153.11/com.foo.barservice?category=providers&dynamic=false&application=foo\"));","registry.register(url.valueof(\"memcached://10.20.153.11/com.foo.barservice?category=providers&dynamic=false&application=foo&group=member&loadbalance=consistenthash\"));","registry.register(url.valueof(\"override://0.0.0.0/com.foo.barservice?category=configurators&dynamic=false&application=foo&mock=force:return+null\"));","registry.register(url.valueof(\"override://0.0.0.0/com.foo.barservice?category=configurators&dynamic=false&application=foo&timeout=1000\"));","registry.register(url.valueof(\"redis://10.20.153.11/com.foo.barservice?category=providers&dynamic=false&application=foo&group=member&loadbalance=consistenthash\"));","registry.sess","registry.setaddress(\"10.20.130.230:9090\");","registry.setpassword(\"bbb\");","registry.setusername(\"aaa\");","registry.timeout","registry.transport","registry.wait","registry:","registryconfig","registryconfig();","registryfactori","registryfactory.getregistry(url.valueof(\"zookeeper://10.20.153.10:2181\"));","relation:","replicate:","repository:","requestid","research","resolve.properties文件,不需要配置","respons","result","ret","ret);","ret.put(id,","retri","retries=\"2\"","retries=\"2\"&gt;","return","return=\"false\",以减少future对象的创建和管理成本:","rmi","rmi//","rmi:","rmi协议","rmi协议采用jdk标准的java.rmi.*实现,采用阻塞式短连接和jdk标准序列化方式。","rmi配置:","roundrobin","route(invokers)","router负责从多个invoker中按路由规则选出子集,比如读写分离,应用隔离等。","rpc","rpc/dubbo","rpccontext.getcontext().getattachment(\"index\");","rpccontext.getcontext().getfuture();","rpccontext.getcontext().getremotehost();","rpccontext.getcontext().geturl().getparameter(\"application\");","rpccontext.getcontext().isconsumerside();","rpccontext.getcontext().isproviderside();","rpccontext.getcontext().setattachment(\"index\",","rpccontext是一个threadlocal的临时状态记录器,当接收到rpc请求,或发起rpc请求时,rpccontext的状态都会变化。","rt","rule=url.encode(\"host","run()","runnable()","runtim","runtime=fals","save(@notnul","save(validationparamet","save{}","sayhello(str","scan,如果用的是spring2.0及以前版本,需配置:","scheduler:","schema:","schema配置参考手册","se","sent","sent=\"false\"","sent=\"true\"","serial","serialid","serializ","serialization:","serialversionuid","server","server:","serverip","serverlimit","servic","service)","service.export();","service.filt","service.setapplication(application);","service.setinterface(\"com.xxx.xxxservice\");","service.setinterface(xxxservice.class);","service.setprotocol(protocol);","service.setref(xxxservice);","service.setregistry(registry);","service.setversion(\"1.0.0\");","service:","serviceconfig","serviceconfig();","servicefactory)","servicefactory.get(demoservice.class);","service配置负责人","servlet","servlet:","session","set","set(key,","set>","setage(int","setattachment设置的kv,在完成下面一次远程调用会被清空。即多次远程调用要多次设置。","setemail(str","setexpirydate(d","setlogindate(d","setname(str","setpassword(str","simpl","simpledateformat(\"yyyi","simple和transport","simple注册中心","simple监控中心","size","size:","slf4j","spring","spring.jar","spring2.5及以后版本支持compon","spring2.x初始化死锁问题","stabl","start","startserv","static","statu","status:","status命令所检查的资源也可以扩展,参见:扩展参考手册。","sticki","strength","string","string/boolean","string[]","string[]{\"com.xxx.person\"},","string其余皆通过","string场景","string),详见第五章的性能数据。","stub","stub必须有可传入proxy的构造函数。","subscrib","subscribe,","sun的nio框架,应用于glassfish服务器中","system","system.in.read();","system.out.println(","system.out.println(\"callback1:\"","system.out.println(\"onreturn:\"","system.out.println(\"valid","system.out.println(violations);","t","t)","t.printstacktrace();","t.setdaemon(true);","t.start();","tecal","telnet","telnet命令参考手册","telnet命令可以扩展,参见:扩展参考手册。","test","test,","test.java","test/dubbo","test1","test:只是用来说明callback正常被调用,业务具体实现自行决定.","this.ag","this.barservic","this.email","this.expiryd","this.logind","this.nam","this.password","thread","thread(new","thread.sleep(5000);","threadlimit","threadloc","threadlocal,","threadpool","threadpool:","threadsperchild","thrift","thrift/src/test/java/com/alibaba/dubbo/rpc/protocol/thrift/exampl","thrift:","thrift://","thrift不支持数据类型:null值","thrift协议同样需要使用thrift的idl","throw","timeout","timeout=\"3000\"","timeout=1000","timeout可以在多处设置,配置项及覆盖规则详见:","token","total","tp","tps成功平均值","trace","transport","transporter:","tri","true","type","type=javascript","unregister,","unregister事件。","unsubscribe。","up","update(validationparamet","update{}","url","url.encode(\"funct","url.encode(\"http://10.20.160.198/wiki/display/dubbo/host","url本身的字段,如:protocol,","url格式:","user","usernam","utf","valid","validationconsum","validationconsumer.class.getpackage().getname().replace('.',","validationparamet","validationparameter();","validationservic","validationservice.class)","validationservice.save(parameter);","validationservice.save.class)","validationservice.save.class),可选","validator:","valu","value),","var","ve","ve.getconstraintviolations();","version","violat","vm","void","wait","wc","web.xml:","webservice:","webservice://","weight","while(true)","work","wsdl:http://10.20.153.10:8080/com.foo.helloworld?wsdl","x86_64","xeon(r)","xmemcached:","xml次之,如果在xml中有配置,则dubbo.properties中的相应配置项无效。","xml配置","xmn256m","xms2g","xmx2g","xss256k","xstream:","xx:+cmsparallelremarken","xx:+disableexplicitgc","xx:+usecmscompactatfullcollect","xx:+usecmsinitiatingoccupancyonli","xx:+useconcmarksweepgc","xx:+usefastaccessormethod","xx:cmsinitiatingoccupancyfraction=70","xx:largepagesizeinbytes=128m","xx:permsize=128m","xxx()","xxx:","xxxgenericservice();","xxxmethod","xxxmethod({\"prop\":","xxxmethod:","xxxservic","xxxservice)","xxxservice.sayhello();","xxxservice.xxx();","xxxservice.xxxmethod({\"prop\":","xxxservice:","xxxserviceimpl","xxxserviceimpl();","xxxservicelocal(xxxservic","yyyservice.yyy();","z0","z]+\\\\s*$\")","za","zkclient","zkclient:","zookeep","zookeeper:","zookeeper://10.20.153.10:2181?client=cur","zookeeper://10.20.153.10:2181?client=zkcli","zookeeper单机配置:","zookeeper安装安装方式参见:","zookeeper安装手册,只需搭一个原生的zookeep","zookeeper注册中心","zookeeper说明zookeep","zookeeper集群配置:","{","{\"http://10.20.160.198/wiki/display/dubbo/consumer.xml\"});","{\"http://10.20.160.198/wiki/display/dubbo/provider.xml\"});","{\"java.lang.string\"},","{\"world\"});","|","|&lt;dubbo:argu","|&lt;dubbo:method","|&lt;dubbo:method&gt;","}","});","},","。","一个服务提供者并行执行请求上限,即当provider对一个服务的并发调用到上限后,新调用会wait(consumer可能到超时)。在方法上配置(dubbo:method","一次请求派发两种事件,需屏蔽无用事件","一致性hash,相同参数的请求总是发到同一提供者。","一致性hash,相同参数的请求总是发到同一提供者,当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动","上下文api","上下文中存放的是当前调用过程中所需的环境信息。","上下文信息","上图中以timeout为例,显示了配置的查找顺序,其它retries,","上述场景在dubbo1.0\\dubbo2.0(hessian2序列化)\\dubbo2.0(dubbo序列化)\\rmi\\hessian3.2.0\\http(json序列化)进行10分钟的性能测试。","下载","不允许为空","不区分版本:(2.2.0以上版本支持)","不可用","不可靠异步调用","不可靠,重启丢失","不同服务不同协议","不同服务使用不同注册中心","不建议使用过于抽象的通用接口,如:map","不抛异常,a多的那","不抛异常,b正常接","不支持权重,在容量规划时,不能通过权重把压力导向一台机器压测容量","不相同","不稳定","不等号","不等待消息发出,将消息放入io队列,即刻返回。","不要使用dubbo.properties文件配置,推荐使用对应xml配置","不要只是因为是dubbo调用,而把调用tri","不需要启动任何中心节点,只要广播地址一样,就可以互相发现。","与","与index二选一","与方法同名接口,首字母大写,用于区分验证场景,如:@notnull(group","业务线程负载均衡。通过","两阶段提交:","个属性的值,b没有,","中provider和consumer里的conf/dubbo.properties中的dubbo.registry.addrss的值改为redis://127.0.0.1:6379即可使用。","中provider和consumer里的conf/dubbo.properties中的dubbo.registry.addrss的值改为zookeeper://127.0.0.1:2181即可使用。","中引用此id","中引用此id,如果id不填,缺省和name属性值一样,重复则在name后加序号。","中的key名alibaba.intl.commons.dubbo.service.allow.no.provid","中的key名dubbo.service.max.thread.threads.s","中的“对应url参数”一列。","中的说明。","中配置url指向提供者,将绕过注册中心,多个地址用分号隔开,配置如下:","为了减少广播量,dubbo缺省使用单播发送提供者地址信息给消费者,如果一个机器上同时启了多个消费者进程,消费者需声明unicast=false,否则只会有一个消费者能收到消息:","为什么不能传大包?","为什么要消费者比提供者个数多?","为什么采用异步单一长连接?","为重要应用提供额外的机器:","为防止被大量连接撑挂,可在服务提供方限制大接收连接数,以实现服务提供方自我保护。","主key为服务名和类型。","主机端口配置:","主机绑定","主要考察序列化和网络io的性能,因此服务端无任何业务逻辑。取10并发是考虑到http协议在高并发下对cpu的使用率较高可能会先打到瓶颈。","也可以使用ioc注入","也可以使用自定义接口:","也可以使用:(等价于前面的:)","也可以用","也可以用dubbo.properties配置","也可以:","也可在服务级别设置:","事件处理线程说明","事件通知","事件通知,在远程调用执行前后触发","从","从2.1.0版本开始支持","从2.1.0版本开始支持,","从2.2.0版本开始缺省为zkclient实现,以提升zookeeper客户端的健状性。zkclient是datameer开源的一个zookeeper客户端实现,开源比较早,参见:https://github.com/sgroschupf/zkcli","从2.3.0版本开始支持可选curator实现。cur","从指定注册中心注册获取服务列表,在多个注册中心时使用,值为","仓库用于存储服务应用发布包。","代码参见:https://github.com/alibaba/dubbo/tree/master/dubbo","令牌验证","令牌验证,为空表示不开启,如果为true,表示随机生成动态令牌","令牌验证,为空表示不开启,如果为true,表示随机生成动态令牌,否则使用静态令牌,令牌的作用是防止消费者绕过注册中心直接访问,保证注册中心的授权功能有效,如果使用点对点调用,需关闭令牌功能","令牌验证,用于服务授权","以上是dubbo最基本的几个需求,更多服务治理问题参见:","以上版本支持","以下依赖,在主动配置使用相应实现策略时用到,需自行加入依赖。","以下数据供参考:","以及url上的所有参数,如:application,","以星号","以缺省的9090端口启动一个简易注册中心","以美元符","以调用参数为key,缓存返回结果,可选:lru,","以逗号","任意组:","优于","优于全局配置,最后是dubbo","优先使用","优先,参见:配置的覆盖策略","优先,参见:配置的覆盖策略。","优雅停机","传入1k","传入1kstring,不做任何处理,原样返回","传入1kstring,在服务器段循环1w次,每次重新生成一个随机数然后进行拼装。考察业务线程是否能够分配到每个cpu上。","传入200kstring,不做任何处理,原样返回","传入50kstring,不做任何处理,原样返回","传输协议:http","传输协议:tcp","传输方式:nio异步传输","传输方式:同步传输","伪造返回结果,可在失败时执行,或直接执行,用于服务降级","伸缩性:","但如果事件处理逻辑较慢,或者需要发起新的io请求,比如需要查询数据库,则必须派发到线程池,否则io线程阻塞,将导致不能接收其它请求。","但如果其它三方库比如spring.jar间接依赖common","但如果设置了","作为","作服务的提供者,比服务使用方更清楚服务性能参数,如调用的超时时间,合理的重试次数,等等","作用","你也可以设置是否等待消息发出:(异步总是不等待返回)","你可以伪造容错数据,此方法只在出现rpcexception时被执行","你可以在客户端做threadlocal本地缓存,或预先验证参数是否合法,等等","你可以容错,可以做任何aop拦截事项","使慢的提供者收到更少请求,因为越慢的提供者的调用前后计数差会越大。","使用12台网站标配机器提供服务(8核cpu,8g内存)","使用8台网站标配机器提供服务(8核cpu,8g内存)","使用dragoon的http监控项监控注册中心上服务提供方","使用dubbo的产品授权服务项目","使用dubbo的会员服务项目","使用redis的key/map结构存储数据","使用redis的publish/subscribe事件通知数据变更","使用xxxservice对象","使用固定端口暴露服务,而不要使用随机端口","使用如:","使用指定的协议暴露服务,在多协议时使用,值为的id属性,多个协议id用逗号分隔","使用文件缓存注册中心地址列表及服务提供者列表,应用重启时将基于此文件恢复,注意:两个注册中心不能使用同一文件存储","使用方式如下:","依赖","依赖于javassist.jar包,占用jvm的perm内存,perm可能要设大一些:java","依赖于zookeeper的稳定性","依赖于网络拓普和路由,跨机房有风险","依赖:","保存时不允许为空,更新时允许为空","修改dubbo","值支持:","假设存在pojo如:","停止时等待通知完成时间(毫秒)","停止时,不再发起新的调用请求,所有新的调用在客户端即报错。","停止时,先标记为不接收新请求,新请求过来时直接报错,让客户端重试其它机器。","健状性:","偶尔会连接失败,需重建stub","全局配置项值,对应dubbo.properties中的key名dubbo.service.invoke.timeout","公网ip,比如:","共享服务接口","关联验证示例","关键参数","关闭所有服务的启动时检查:","关闭某个服务的启动时检查:","关闭检查,比如,测试时,有些服务不关心,或者出现了循环依赖,必须有一方先启动。","关闭注册中心启动时检查:","其中:","其中,协议对应provider.setprotocol()的值,端口对应provider.setport()的值,","其中,服务提供方配置,通过url经由注册中心传递给消费方。","其中:","其他正常","其它的参数(retries、loadbalance、actives等)的覆盖策略也一样。","其次,要可以动态调整权重,在线上,将某台机器的权重一直加大,并在加大的过程中记录响应时间的变化,直到响应时间到达阀值,记录此时的访问量,再以此访问量乘以机器数反推总容量。","典型配置如:","兼容性","兼容性声明因2.0.8最初设计的zookeeper存储结构不能扩充不同类型的数据,2.0.9版本做了调整,所以不兼容,需全部改用2.0.9版本才行,以后的版本会保持兼容2.0.9。2.2.0版本改为基于zkclient实现,需增加zkclient的依赖包,2.3.0版本增加了基于curator的实现,作为可选实现策略。","兼容性:","内存","内核","再将所有消费者升级为新版本","出于兼容性考虑默认的序列化方式和1.0保持一致使用hessian2,如对性能有更高要求可以使用dubbo序列化,由其是在处理复杂对象时,在大数据量下能获得50%的提升(但此时已不建议使用dubbo协议)。","出来的枚举进行传输","分包","分布式事务","分布式服务架构","分组聚合","分组聚合返回值,用于菜单聚合等服务","分组验证示例","分隔多个值,如:host","则pojo数据:","前后台分离:","功能成熟度","加载spring配置","加载spring配置,并调用远程服务","动态下发配置,实现功能的开关","动态决定调用关系","升级性:","协议:","协议beanid,可以在","协议参考手册","协议名称","协议序列化方式,当协议支持多种序列化方式时使用,比如:dubbo协议的dubbo,hessian2,java,compactedjava,以及http协议的json,xml等","协议序列化方式,当协议支持多种序列化方式时使用,比如:dubbo协议的dubbo,hessian2,java,compactedjava,以及http协议的json等","协议是对","协议的上下文路径必须与servlet应用的上下文路径相同。","协议的客户端实现类型,比如:dubbo协议的mina,netty等","协议的服务器端实现类型,比如:dubbo协议的mina,netty等,http协议的jetty,servlet等","协议的服务端和客户端实现类型,比如:dubbo协议的mina,netty等,可以分拆为server和client配置","协议的消息派发方式,用于指定线程模型,比如:dubbo协议的all,","协议的端口必须与servlet容器的端口相同,","协议编码方式","协议配置,用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受。","协议:","单一应用架构","压力分摊不均","原因如下:","原理","原生协议的扩展,在原生协议的基础上添加了一些额外的头信息,比如servic","去中心化,不需要安装注册中心","参数及返回值不能自定义实现list,","参数及返回值需实现serializable接口","参数及返回值需符合bean规范","参数回调","参数回调方式与调用本地callback或listener相同,只需要在spring的配置文件中声明哪个参数是callback类型即可,dubbo将基于长连接生成反向代理,这样就可以从服务器端调用客户端逻辑。","参数尽量使用基本类型和pojo。","参数支持:","参数是否为callback接口,如果为callback,服务提供方将生成反向代理,可以从服务提供方反向调用消费方,通常用于事件推送.","参数标注示例","参数设置脚本类型,缺省为javascript。","参数验证","参数验证功能是基于","参数验证示例","参数验证,jsr303验证框架集成","参见:合并结果扩展","参见:延迟连接","参见:配置规则","发送变更通知","取消缺省服务。","只写入和读取任意一台,失败时重试另一台,需要服务器端自行配置数据同步。","只对使用长连接的dubbo协议生效。","只有请求响应消息派发到线程池,其它连接断开事件,心跳等消息,直接在io线程上执行。","只注册","只订阅","只请求消息派发到线程池,不含响应,响应和其它连接断开事件,心跳等消息,直接在io线程上执行。","只调用指定协议的服务提供方,其它协议忽略。","可与原生hessian互操作,基于http协议","可与原生rmi互操作,基于tcp协议","可以修改这个策略,在referenceconfigcache.getcache时,传一个keygenerator。详见referenceconfigcache类的方法。","可以全局设置开启令牌验证","可以和原生hessian服务互操作,即:","可以和原生webservice服务互操作,即:","可以在/etc/hosts中加入:机器名","可以在多个配置项设置超时,由上至下覆盖(即上面的优先),示例如下:","可以拿到一个验证错误详细信息的集合","可以直接去掉,dubbo本身的日志会自动切换为jdk的java.util.logging输出。","可以自行扩展协议,参见:协议扩展","可以自行扩展注册中心,参见:注册中心扩展","可以自行扩展集群容错策略,参见:集群扩展","可以通过","可以通过以下方式配置日志输出策略","可以通过脚本或监控中心手工填写表单注册memcached服务的地址:","可伸缩线程池,但池中的线程数只会增长不会收缩。(为避免收缩时突然来了大流量引起的性能问题)。","可用下面map表示:","可用于生产环境","可选","可通过","可靠性声明","可靠性声明阿里内部并没有采用zookeeper做为注册中心,而是使用自己实现的基于数据库的注册中心,即:zookeeper注册中心并没有在阿里内部长时间运行的可靠性保障,此zookeeper桥接实现只为开源版本提供,其可靠性依赖于zookeeper本身的可靠性。","号通配符","各协议的兼容性不同,参见:","各协议的性能情况,请参见:性能测试报告","各节点关系:","合并指定分组","同一zookeeper,分成多组注册中心:","同时调用1个参数为string(5k)方法,1个参数为person对象的方法,1个参数为map(值为3个person)的方法,持续运行50小时。","同时验证update组规则","同步回调模式:async=fals","同步无回调","同理等待bar返回。","名相同,但类型不相同","向/dubbo/com.foo.barservice/providers目录下写入自己的url地址。","向指定注册中心注册,在多个注册中心时使用,值为","向指定注册中心注册,在多个注册中心时使用,值为的id属性,多个注册中心id用逗号分隔,如果不想将该服务注册到任何registry,可将值设为n/a","向注册中心写入动态配置覆盖规则:(通常由监控中心或治理中心的页面完成)","向注册中心写入动态配置覆盖规则:(通过由监控中心或治理中心的页面完成)","向注册中心写入路由规则:(通常由监控中心或治理中心的页面完成)","启动一个内嵌jetty,用于汇报状态","启动一个内嵌jetty,用于汇报状态。","启动时检查","启动时检查提供者是否存在,true报错,false忽略","和","和服务的api包放到dubbo.benchmark/lib目录下","和本地bean一样使用xxxservic","响应时间","响应时间成功平均值(ms)","回声测试","回声测试可用性","回声测试用于检测服务是否可用,回声测试按照正常请求流程执行,能够测试整个调用是否通畅,可用于监控。","因dubbo协议采用单一长连接,假设网络为千兆网卡(1024mbit=128mbyte),根据测试经验数据每条连接最多只能压满7mbyte(不同的环境可能不一样,供参考),理论上1个服务提供者需要20个服务消费者才能压满网卡。","因dubbo协议采用单一长连接,如果每次请求的数据包大小为500kbyte,假设网络为千兆网卡(1024mbit=128mbyte),每条连接最大7mbyte(不同的环境可能不一样,供参考),单个服务提供者的tps(每秒处理事务数)最大为:128mbyt","因为服务的现状大都是服务提供者少,通常只有几台机器,而服务的消费者多,可能整个网站都在访问该服务,比如morgan的提供者只有6台提供者,却有上百台消费者,每天有1.5亿次调用,如果采用常规的hessian服务,服务提供者很容易就被压跨,通过单一连接,保证单一消费者不会压死提供者,长连接,减少连接握手验证等,并使用异步io,复用线程池,防止c10k问题。","固定大小线程池,启动时建立线程,不关闭,一直持有。(缺省)","在api旁边放一个mock实现,它实现barservice接口,并有一个无参构造函数","在api旁边放一个stub实现,它实现barservice接口,并有一个传入远程barservice实例的构造函数","在dubbo.xml中加入主机地址的配置:","在dubbo1中需要在dubbo.properties文件中的配置项,dubbo2中配置示例如下:","在io线程上,将连接断开事件放入队列,有序逐个执行,其它消息派发到线程池。","在jvm启动参数中加入","在provider上尽量多配置consumer端属性","在provider可以配置的consumer端属性有:","在provider和consumer中增加zookeeper客户端jar包依赖:","在provider配置后,consumer不配置则会使用provider的配置值,即provider配置可以作为consumer的缺省值。否则,consumer会使用consumer端的全局设置,这对于provider不可控的,并且往往是不合理的。","在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。","在一个截面上碰撞的概率高,重试时,可能出现瞬间压力不均","在低压力时间段,先升级一半提供者为新版本","在大文件传输时,单一连接会成为瓶颈","在大规模服务化之前,应用可能只是通过rmi或hessian等工具,简单的暴露和引用远程服务,通过配置服务的url地址进行调用,通过f5等硬件进行负载均衡。","在客户端同时写入所有服务器,只读取单台,服务器端不需要同步,注册中心集群增大,性能压力也会更大。","在客户端执行部分逻辑","在客户端验证参数","在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连,点对点直联方式,将以服务接口为单位,忽略注册中心的提供者列表,a接口配置点对点,不影响b接口从注册中心获取列表。","在方法上配置(dubbo:method","在服务器端验证参数","在服务提供方实现接口","在注册中心控制权限,以决定要不要下发令牌给消费者","在稳定性场景的基础上,将提供者和消费者布置成均为2台(一台机器2个实例),且string的参数从20byte到200k,每隔10分钟随机变换。","在调用之前,调用之后,出现异常时,会触发oninvoke,","在集群调用失败时,dubbo提供了多种容错方案,缺省为failover重试。","在集群负载均衡时,dubbo提供了多种均衡策略,缺省为random随机调用。可以自行扩展负载均衡策略,参见:负载均衡扩展","场景","场景名称","场景名称:1k","场景名称:200k","场景名称:50k","场景名称:pojo","均衡","垂直应用架构``","基于cxf的frontend","基于hessian的远程调用协议。","基于http表单的远程调用协议。参见:http协议使用说明","基于jta/xa规范实现。","基于nio的非阻塞实现并行调用,客户端不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销较小。","基于webservice的远程调用协议:","基于最近最少使用原则删除多余缓存,保持最热的数据被缓存。","基于条件表达式的路由规则,功能简单易用","基于条件表达式的路由规则,如:host","基于脚本引擎的路由规则,功能强大","基于脚本引擎的路由规则,如:","基准测试工具包","基本类型以及date,list,map等不需要转换,直接调用","声明为泛化接口","多个协议可以用setprotocols()","多个注册中心可以用setregistries()","多出来的枚举进行传输","多协议","多协议暴露服务","多注册中心","多注册中心引用","多注册中心注册","多版本","多端口:","大量访问页面时,会影响服务器的线程和内存","失败安全,出现异常时,直接忽略。","失败安全,出现异常时,直接忽略,通常用于写入审计日志等操作","失败自动切换,当出现失败,重试其它服务器。(缺省)","失败自动切换,当出现失败,重试其它服务器,通常用于读操作(推荐使用)","失败自动恢复,后台记录失败请求,定时重发。","失败自动恢复,后台记录失败请求,定时重发,通常用于消息通知操作","失败重试次数,缺省是2(表示加上第一次调用,会调用3次)","如","如完全不配置使用dubbo缺省值,参见","如想测试dubbo的不同版本,直接替换lib下的dubbo的jar包即可。","如果","如果classpath根目录下存在多个dubbo.properties,比如多个jar包中有dubbo.properties,dubbo会任意加载,并打印error日志,后续可能改为抛异常。","如果foo已返回,直接拿到返回值,否则线程wait住,等待foo返回后,线程会被notify唤醒。","如果foo需要5秒返回,bar需要6秒返回,实际只需等6秒,即可获取到foo和bar,进行接下来的处理。","如果shutdownhook不能生效,可以自行调用:","如果xml有多行同名标签配置,可用id号区分,如果没有id号将对所有同名标签生效:","如果不想使用spring配置,而希望通过api的方式进行调用(不推荐),请参见:api配置","如果不想依赖配置顺序,可以使用","如果事件处理的逻辑能迅速完成,并且不会发起新的io请求,比如只是在内存中记个标识,则直接在io线程上处理更快,因为减少了线程池调度。","如果你只是想异步,完全忽略返回值,可以配置","如果你想记录每一次请求信息,可开启访问日志,类似于apache的访问日志。","如果你正依赖dubbo作为你业务工程的rpc通信框架,这里可以作为你的参考手册","如果你的spring容器是懒加载的,或者通过api编程延迟引用服务,请关闭check,否则服务临时不可用时,会抛出异常,拿到null引用,如果","如果你的服务需要warmup时间,比如初始化缓存,等待相关资源就位等,可以使用delay进行延迟暴露。","如果公共配置很简单,没有多注册中心,多协议等情况,或者想多个spring容器想共享配置,可以使用dubbo.properties作为缺省配置。","如果匹配条件为空,表示对所有消费方应用,如:=>","如果只是想简单的忽略异常,在2.0.11以上版本可用:","如果只是测试环境临时需要连接两个不同注册中心,使用竖号分隔多个不同注册中心地址:","如果大量使用getbean(),相当于已经把spring退化为工厂模式在用,可以将dubbo的服务隔离单独的spring容器。","如果实在要调getbean(),可以将dubbo的配置放在spring的最后加载。","如果或,以及,则不需要。","如果或,则换成mina.jar或grizzly.jar。","如果担心性能问题,在必要时,可以通过override掉异常类的fillinstacktrace()方法为空方法,使其不拷贝栈信息,","如果方法名和memcached的标准方法名不相同,则需要配置映射关系:(其中\"p:xxx\"为spring的标准p标签)","如果方法名和redis的标准方法名不相同,则需要配置映射关系:(其中\"p:xxx\"为spring的标准p标签)","如果是127.*等loopback地址,则扫描各网卡,获取网卡ip。","如果是一个第三方独立提供者,比如memcached等,可以直接向注册中心写入提供者地址信息,消费者正常使用:","如果是业务种类,以后明显会有类型增加,不建议用enum,可以用string代替。","如果是在传入参数中用了enum,并新增了enum值,建议先升级服务提供方,这样服务消费方不会传入新值。","如果是在返回值中用了enum,并新增了enum值,建议先升级服务消费方,这样服务提供方不会返回新值。","如果是完备集,可以用enum,比如:enable,","如果是线上需求需要点对点,可在","如果有多个应用进程注意不要使用同一个文件,避免内容被覆盖。","如果有机器正在重启,可能会出现调用失败","如果服务接口没有继承java.rmi.remote接口","如果服务接口继承了java.rmi.remote接口,可以和原生rmi互操作,即:","如果服务比较多,也可以用文件映射,如:","如果服务的消费方经常需要tri","如果正在使用rmi提供服务给外部访问(公司内网环境应该不会有攻击风险),同时应用里依赖了老的common","如果点对点直连,可以用reference.seturl()指定目标地址,设置url后将绕过注册中心,","如果用io线程处理事件,又在事件处理过程中发起新的io请求,比如在连接事件中发起登录请求,会报“可能引发死锁”异常,但不会真死锁。","如果用serviceconfig和referenceconfig的api调用,则不需要。","如果用了参数路由,必须设为true,需要注意设置会影响调用的性能,可不填,缺省为flase。","如果级别一样,则消费方优先,提供方次之。","如果过滤条件为空,表示禁止访问,如:host","如果返回pojo将自动转成map","如果配置为","如果需要改为curator实现,请配置:","如果需要饥饿加载,即没有人引用也立即生成动态代理,可以配置:","如果需要,也可以考虑在api包中放置一份spring的引用配置,这样使用方,只需在spring加载过程中引用此配置即可,配置建议放在模块的包目录下,以免冲突,如:com/alibaba/china/xxx/dubbo","如果,则不需要。可选依赖","如:","如:(缺省只加载spring)","子标签时有效","字节码生成。","存在慢的提供者累积请求的问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。","存在慢的机器累积请求问题,极端情况可能产生雪崩","存在的问题:在50k数据的时候2.0性能不如1.0,怀疑可能是缓冲区设置的问题,下版本会进一步确认。","完整安装步骤,请参见:示例提供者安装","完整安装步骤,请参见:示例消费者安装","完整示例代码参见:https://github.com/alibaba/dubbo/tree/master/dubbo","定义","定义服务接口","定时触发变更通知","实现invoke方法,通过servicefactory创建本地接口代理,并实现自己的业务逻辑,如下","实现父类的构造函数","实现的,用户只需标识jsr303标准的验证annotation,并通过声明filter来实现验证。","实际值","客户端传输类型设置,如dubbo协议的netty或mina。","容器启动","容忍不重要服务不稳定时对调用方的影响。","容量规划","对于输入参数的校验逻辑在provider端要有。如有性能上的考虑,服务实现者可以考虑在api包上加上服务stub类来完成检验。","对应","对应dubbo.properties中的key名dubbo.application.nam","对应dubbo.properties中的key名dubbo.registry.address","对应dubbo.properties中的key名dubbo.service.protocol、dubbo.service.server.port","对应url参数","对应指标名称","对性能有影响","对方地址","对服务消费方隐藏实现","对每个提供者的最大连接数,rmi、http、hessian等短连接协议表示限制连接数,dubbo等长连接协表示建立的长连接个数","导入自己服务的接口api包和dubbo.benchmark.jar(解压dubbo.benchmark.tar.gz,在lib目录下)","将common","将demo.benchmark.jar","将xml配置的标签名,加属性名,用点分隔,多个属性拆成多行:","将自己的benchmark工程打成jar包,如demo.benchmark.jar","将访问日志输出到当前应用的log4j日志:","将访问日志输出到指定文件:","小规模应用或开发测试环境","屏蔽不重要服务不可用时对调用方的影响。","属性","属性配置","属性(或者说类b少一种","属性)|","平均响应时间1.4到2.8毫秒,网络开销约占1.0到1.1毫秒(和数据包大小有关)","平均响应时间2.3到2.5毫秒,网络开销约占1.5到1.6毫秒(和数据包大小有关)","平均负载在1以下(对于8核cpu负载很低)","并发场景(20并发)","并发控制","并向channel:/dubbo/com.foo.barservice/providers发送register事件。","并向key:/dubbo/com.foo.barservice/providers下,添加当前消费者的地址。","并行调用多个服务器,只要一个成功即返回。","并行调用多个服务器,只要一个成功即返回,通常用于实时性要求较高的读操作","并通过在消费方获取服务提供方地址列表,实现软负载均衡和failover,降低对f5硬件负载均衡器的依赖,也能减少部分成本。(2)","广播调用所有提供者,逐个调用,任意一台报错则报错。(2.1.0开始支持)","广播调用所有提供者,逐个调用,任意一台报错则报错,通常用于更新提供方本地状态","序列化","序列化编码","序列化:hessian二进制序列化","序列化:java标准二进制序列化","序列化:soap文本序列化","序列化:表单序列化","应用信息配置:配置类:com.alibaba.dubbo.config.applicationconfig","应用名","应用环境,如:develop/test/product,不同环境使用不同的缺省值,以及作为只用于开发测试功能的限制条件","应用负责人,用于服务治理,请填写负责人公司邮箱前缀","应用配置负责人、组织","应用配置,用于配置当前应用信息,不管该应用是提供者还是消费者。","延迟5秒暴露服务","延迟到spring初始化完成后,再暴露服务:(基于spring的contextrefreshedevent事件触发暴露)","延迟建立连接,调用时建立","延迟暴露","延迟暴露服务,用于等待应用加载warmup数据,或等待spring加载完成","延迟注册服务时间(毫秒)","延迟连接","延迟连接,用于减少长连接数,当有调用发起时,再创建长连接。","建议不要配置,让dubbo自动获取本机ip","建议使用dubbo","建议使用两位版本号,因为第三位版本号通常表示兼容升级,只有不兼容时才需要变更服务版本。","建议使用异常汇报错误,而不是返回错误码,异常信息能携带更多信息,以及语义更友好,","建议将服务接口,服务模型,服务异常等均放在api包中,因为服务模型及异常也是api的一部分,同时,这样做也符合分包原则:重用发布等价原则(rep),共同重用原则(crp)","建议由服务提供方设置超时,因为一个方法需要执行多长时间,服务提供方更清楚,如果一个消费方同时引用多个服务,就不需要关心每个服务的超时设置。","开头,表示引用消费者参数,如:host","开始,每个服务默认都会在本地暴露。在引用服务的时候,默认优先引用本地服务。如果希望引用远程服务可以使用一下配置强制引用远程服务。","异常","异步回调模式:async=tru","异步无回调","异步调用","异步调用时,标记sent=true时,表示网络已发出数据","引用","引用新版本","引用缺省是延迟初始化的,只有引用被注入到其它bean,或被getbean()获取,才会初始化。","引用老版本","引用远程服务","引用配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心。","弱类型接口名","强制转型为echoservic","强烈建议不要在服务的实现类中有applicationcontext.getbean()的调用,全部采用ioc注入的方式使用spring的bean。","当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用。","当一个接口有多种实现时,可以用group区分。","当不兼容时,先升级一半提供者为新版本,再将消费者全部升为新版本,然后将剩下的一半提供者升为新版本。","当会话过期时,能自动恢复注册数据,以及订阅请求。","当前","当前应用名称,用于注册中心计算应用间依赖关系,注意:消费者和提供者应用名不要一样,此参数不是匹配条件,你当前项目叫什么名字就填什么,和提供者消费者角色无关,比如:kylin应用调用了morgan应用的服务,则kylin项目配成kylin,morgan项目配成morgan,可能kylin也提供其它服务给别人使用,但kylin项目永远配成kylin,这样注册中心将显示kylin依赖于morgan","当前应用的版本","当前应用配置","当前模块名称,用于注册中心计算模块间依赖关系","当前模块的版本","当前线程缓存,比如一个页面渲染,用到很多portal,每个portal都要去查用户信息,通过线程缓存,可以减少这种多余访问。","当参数对象增加字段时,需外部文件声明","当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。","当提供者出现断电等异常停机时,注册中心能自动删除提供者信息。","当服务越来越多时,服务url配置管理变得非常困难,f5硬件负载均衡器的单点压力也越来越大。此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。","当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。","当服务集群规模进一步扩大,带动it治理结构进一步升级,需要实现动态部署,进行流动计算,现有分布式服务架构不会带来阻力:","当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。","当注册中心重启时,能自动恢复注册数据,以及订阅请求。","当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。","当设置","当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。","当路由结果为空时,是否强制执行,如果不强制执行,路由结果为空的路由规则将自动失效,可不填,缺省为flase。","当进一步发展,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整的描述应用的架构关系。这时,需要自动画出应用间的依赖关系图,以帮助架构师理清理关系。(3)","待发送消息队列派发不及时,大压力下,会出现fullgc","心跳间隔,对于长连接,当物理层断开时,比如拔网线,tcp的fin消息来不及发送,对方收不到断开事件,此时需要心跳来帮助检查连接是否已断开","必填","必须为一个未来的时间","必须为一个过去的时间","必须依赖","快速失败,只发起一次调用,失败立即报错,通常用于非幂等性的写操作","快速失败,只发起一次调用,失败立即报错。","性能优化","性能分析评估","性能对比分析(新旧环境、不同数据量级等)","性能测试场景(10并发)","性能测试报告","性能调优","性能调优:表示该配置项用于调优性能,不同的选项对性能会产生影响。","性能较好,多语言支持(推荐使用)","性能较差","总结:会抛异常的情况:枚举值一边多一种,一边少一种,正好使用了差别的那种,或者属性名相同,类型不同","总结:服务器端和客户端对领域对象并不需要完全一致,而是按照最大匹配原则。","情况","成熟度","或","或在dubbo.properties中加入主机地址的配置:","或直接下载:http://repo1.maven.org/maven2/com/github/sgroschupf/zkcli","或直接下载:http://repo1.maven.org/maven2/com/netflix/curator/cur","或直接下载:http://repo1.maven.org/maven2/org/apache/zookeeper/zookeep","或者","或者提供方用标准hessian暴露服务,消费方用dubbo的hessian协议调用。","或者提供方用标准rmi暴露服务,消费方用dubbo的rmi协议调用。","或者提供方用标准webservice暴露服务,消费方用dubbo的webservice协议调用。","或者,点对点直连:","或者:","或:","或:(2.1.0开始支持)","或:(通过classpath下的dubbo.properties配置传入要加载的容器)","或:(通过jvm启动参数传入要加载的容器)","或:(通过main函数参数传入要加载的容器)","所支持的telnet命令,多个命令用逗号分隔","所有服务共用一个端口:(与原生thrift不兼容)","所有服务自动实现echoservice接口,只需将任意服务引用强制转型为echoservice,即可使用。","所有标签者支持自定义参数,用于不同扩展点实现的特殊配置。","所有消息都不派发到线程池,全部在io线程上直接执行。","所有消息都派发到线程池,包括请求,响应,连接事件,断开事件,心跳等。","所有配置信息都将转换为url的参数,参见","所有配置最终都将转换为url表示,并由服务提供方生成,经注册中心传递给消费方,各属性对应url的参数,参见配置项一览表中的\"对应url参数\"列。","所有配置项分为三大类,参见下表中的\"作用\"一列。","执行远程方法","扩展点:日志适配扩展","抛出的是rpcexcept","抛异常","拿到调用的future引用,当结果返回后,会被通知和设置到此future。","指向一个通用服务实现","指定provider,值为的id属性","指定合并方法,将调用返回结果的指定方法进行合并,合并方法的参数类型必须是返回结果类型本身","指定合并策略,缺省根据返回值类型自动匹配,如果同一类型有两个合并器时,需指定合并器的名称","指定方法合并结果,其它未指定的方法,将只调用一个group","按任意键退出","按组合并返回结果,比如菜单服务,接口一样,但有多种实现,用group区分,现在消费方需从每种group中调用一次返回结果,合并结果返回,这样就可以实现聚合菜单项。","排除预发布机:","接口增加方法,对客户端无影响,如果该方法不是客户端需要的,客户端不需要重新部署。输入参数和结果集中增加属性,对客户端无影响,如果客户端并不需要新属性,不用重新部署。","接着,服务的调用量越来越大,服务的容量问题就暴露出来,这个服务需要多少机器支撑?什么时候该加机器?为了解决这些问题,第一步,要将服务现在每天的调用量,响应时间,都统计出来,作为容量规划的参考指标。","推荐使用dubbo协议","推荐使用zookeeper注册中心","推荐用法","描述","提供方启动时广播自己的地址。","提供方收到订阅请求时,单播自己的地址给订阅者,如果设置了unicast=false,则广播给订阅者。","提供方的缺省值,当protocolconfig和serviceconfig某属性没有配置时,采用此缺省值,可选。","提供者上下文路径,为服务path的前缀","提供者与消费者部署在同集群内,本机只访问本机的服务:","提供者列表缓存文件","提供者用dubbo的hessian协议暴露服务,消费者直接用标准hessian接口调用,","提供者用dubbo的rmi协议暴露服务,消费者直接用标准rmi接口调用,","提供者用dubbo的webservice协议暴露服务,消费者直接用标准webservice接口调用,","提供者端特定接口的配置","提供者端特定方法的配置","搜索所有分组","支持","支持jdk脚本引擎的所有脚本,比如:javascript,","支持jfreechart统计报表","支持zkclient和curator两种zookeeper客户端实现:","支持以下功能:","支持基于客户端双写的集群方式,性能高","支持基于网络的集群方式,有广泛周边开源产品,建议使用dubbo","支持版本:2.0.7之后","支持的","收数据","改变缺省服务,当设置了缺省服务,凡是需要输入服务名作为参数的命令,都可以省略服务参数。","改变缺省配置位置。","数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务","数据结构:","数据通讯","整体性能相比1.0有了提升,平均提升10%,使用dubbo2.0新增的dubbo序列化还能获得10%~50%的性能提升,详见下面的性能数据。","文件的路径,应用可以根据需要调整,保证这个文件不会在发布过程中被清除。","新建一个benchmark工程,如demo.benchmark","新建一个类,实现abstractclientrunn","新版本服务","方法参数配置:配置类:com.alibaba.dubbo.config.argumentconfig说明:该标签为|的子标签,用于方法参数的特征描述,比如:","方法名","方法名建议和memcached的标准方法名相同,即:get(key),","方法名建议和redis的标准方法名相同,即:get(key),","方法执行前拦截","方法执行有异常拦截","方法执行返回后拦截","方法级优先,接口级次之,全局配置再次之。","方法级设置","方法级配置","方法级配置别优于接口级别,即小scope优先","方法级配置:配置类:com.alibaba.dubbo.config.methodconfig说明:该标签为|或|的子标签,用于控制到方法级,","方法调用是否需要返回值,async设置为true时才生效,如果设置为true,则返回future,或回调onreturn等方法,如果设置为false,则请求发送成功后直接返回nul","方法调用超时","方法调用超时时间(毫秒)","方法配置,用于serviceconfig和referenceconfig指定方法级的配置信息。","无频繁线程锁,线程数平稳。通过","日志输出方式,可选:slf4j,jcl,log4j,jdk","日志适配","时,记录失败注册和订阅请求,后台定时重试。","映射规则:","是","是apacah","是caucho开源的一个","是facebook捐给apache的一个rpc框架","是netflix开源的一个zookeeper客户端实现,比较活跃。","是一个高效的kv存储服务器。","是一个高效的kv存储服务器。安装方式参见:","是一个高效的kv缓存服务器。","是否为缺省协议,用于多协议","是否向此注册中心注册服务,如果设为false,将只订阅,不注册","是否向此注册中心订阅服务,如果设为false,将只注册,不订阅","是否启用jsr303标准注解验证,如果启用,将对方法参数上的注解进行校验","是否在afterpropertiesset()时饥饿初始化引用,否则等到有人注入或引用该实例时再初始化。","是否在每次调用时执行路由规则,否则只在提供者地址列表变更时预先执行并缓存结果,调用时直接从缓存中获取路由结果。","是否异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程","是否必填","是否满足期望(是/否)","是否缺省异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程","是否缺省泛化接口,如果为泛化接口,将返回genericservic","显示telnet命帮助信息。","显示xxx命令的详细帮助信息。","显示当前缺省服务。","显示服务列表。","显示服务地址列表。","显示服务的方法列表。","显示服务的方法详细信息列表。","显示服务端口列表。","显示服务详细信息列表。","显示汇总状态,该状态将汇总所有资源的状态,当全部ok时则显示ok,只要有一个error则显示error,只要有一个warn则显示warn。","显示状态列表。","显示端口上的连接信息。","显示端口上的连接详细信息。","显示调用结果","普通消费者直接订阅指定服务提供者的key,只会收到指定服务的register,","暂未实现。","暴露及注册服务","暴露服务的服务提供方","更多rmi优化参数请查看:","最大值","最小值","最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差。","最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差,使慢的机器收到更少请求","有了这项配置后,当应用重启过程中,dubbo注册中心不可用时则应用会从这个缓存文件读取服务提供者列表的信息,进一步保证应用可靠性。","有些复杂多分支条件情况,规则很难描述","有时候希望人工管理服务提供者的上线和下线,此时需将注册中心标识为非动态管理模式","服力治理","服务","服务api","服务主机名,多网卡选择或指定vip及域名时使用,为空则自动查找本机ip,","服务主机名,多网卡选择或指定vip及域名时使用,为空则自动查找本机ip,建议不要配置,让dubbo自动获取本机ip","服务分组","服务分组,当一个接口有多个实现,可以用分组区分","服务分组,当一个接口有多个实现,可以用分组区分,必需和服务提供方一致","服务化最佳实践","服务协议","服务参数及返回值不建议使用接口,因为数据模型抽象的意义不大,并且序列化需要接口实现类的元信息,并不能起到隐藏实现的意图。","服务参数及返回值建议使用pojo对象,即通过set,get方法表示属性的对象。","服务参数及返回值都必需是byvalue的,而不能是byref的,消费方和提供方的参数或返回值引用并不是同一个,只是值相同,dubbo不支持引用远程对象。","服务发现","服务发现:表示该配置项用于服务的注册与发现,目的是让消费方找到提供方。","服务器,并将","服务实现","服务容器","服务容器只是一个简单的main方法,并加载一个简单的spring容器,用于暴露服务。","服务容器是一个standalone的启动程序,因为后台服务不需要tomcat或jboss等web容器的功能,如果硬要用web容器去加载服务提供方,增加复杂性,也浪费资源。","服务容器的加载内容可以扩展,内置了spring,","服务容器负责启动,加载,运行服务提供者。","服务寄宿在应用上,只暴露一部分的机器,防止整个集群挂掉:","服务对象实现引用","服务引用beanid","服务接口名","服务接口增加方法,或服务模型增加字段,可向后兼容,删除方法或删除字段,将不兼容,枚举类型新增字段也不兼容,需通过变更版本号升级。","服务接口客户端本地代理类名,用于在客户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象,构造函数如:public","服务接口尽可能大粒度,每个服务方法应代表一个功能,而不是某功能的一个步骤,否则将面临分布式事务问题,dubbo暂未提供分布式事务支持。","服务接口建议以业务场景为单位划分,并对相近业务做抽象,防止接口数量爆炸","服务接口示例","服务接口调用失败mock实现类名,该mock类必须有一个无参构造函数,与local的区别在于,local总是被执行,而mock只在出现非业务异常(比如超时,网络异常等)时执行,local在远程调用之前执行,mock在远程调用后执行。","服务提供方","服务提供方不应将dao或sql等异常抛给消费方,应在服务实现中对消费方不关心的异常进行包装,否则可能出现消费方无法反序列化相应异常。","服务提供方启动时,向key:/dubbo/com.foo.barservice/providers下,添加当前提供者的地址。","服务提供方导出服务监听器名称,多个名称用逗号分隔","服务提供方最大可接受连接数","服务提供方注解:","服务提供方远程调用过程拦截器名称,多个名称用逗号分隔","服务提供方配置:","服务提供方,使用dragoon的telnet或shell监控项","服务提供者","服务提供者与消费者共享服务接口","服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复","服务提供者列表","服务提供者初次注册时为禁用状态,需人工启用,断线时,将不会被自动删除,需人工禁用。","服务提供者协议、服务的监听端口","服务提供者协议配置","服务提供者协议配置:配置类:com.alibaba.dubbo.config.protocolconfig说明:如果需要支持多协议,可以声明多个|标签,并在|中通过protocol属性指定使用的协议。","服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销","服务提供者启动时:","服务提供者在启动时,向注册中心注册自己提供的服务。","服务提供者实现","服务提供者所在的分层。如:biz、dao、intl:web、china:acton。","服务提供者接口实现示例","服务提供者无状态,任意一台宕掉后,不影响使用","服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者","服务提供者暴露服务配置","服务提供者暴露服务配置:配置类:com.alibaba.dubbo.config.serviceconfig","服务提供者最大可接受连接数","服务提供者每服务每方法最大可并行执行请求数","服务提供者缺省值配置:配置类:com.alibaba.dubbo.config.providerconfig说明:该标签为|和|标签的缺省值设置。","服务提供者配置","服务提供者配置示例","服务文档url","服务方法实现","服务方法是否过时,此属性只在","服务方法调用超时时间(毫秒)","服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。","服务是否过时,如果设为true,消费方引用时将打印服务过时警告error日志","服务权重","服务治理","服务治理:表示该配置项用于治理服务间的关系,或为开发测试提供便利条件。","服务注册与发现的注册中心。","服务消费方","服务消费方启动时,从channel:/dubbo/com.foo.barservice/providers订阅register和unregister事件。","服务消费方引用服务监听器名称,多个名称用逗号分隔","服务消费方收到register和unregister事件后,从key:/dubbo/com.foo.barservice/providers下获取提供者地址列表。","服务消费方注解:","服务消费方远程调用过程拦截器名称,多个名称用逗号分隔","服务消费方配置:","服务消费方,通过将服务强制转型为echoservice,并调用$echo()测试该服务的提供者是可用","服务消费者","服务消费者callback接口及实现","服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销","服务消费者启动时:","服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。","服务消费者在启动时,向注册中心订阅自己所需的服务。","服务消费者引用服务配置:配置类:com.alibaba.dubbo.config.referenceconfig","服务消费者缺省值配置:配置类:com.alibaba.dubbo.config.consumerconfig说明:该标签为|标签的缺省值设置。","服务消费者调用示例","服务消费者配置示例","服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。","服务版本,与服务提供者的版本一致","服务版本,建议使用两位数字版本,如:1.0,通常在接口不兼容时版本号才需要升级","服务监控中心启动时,从channel:/dubbo/*订阅register和unregister,以及subscribe和unsubsribe事件。","服务监控中心收到register和unregister事件后,从key:/dubbo/com.foo.barservice/providers下获取提供者地址列表。","服务监控中心收到subscribe和unsubsribe事件后,从key:/dubbo/com.foo.barservice/consumers下获取消费者地址列表。","服务端口","服务线程池大小","服务线程池大小(固定大小)","服务调用信息,如:method,","服务调用者所在的分层。如:biz、dao、intl:web、china:acton。","服务负责人,用于服务治理,请填写负责人公司邮箱前缀","服务路径","服务运行容器。","服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。","服务降级","服务降级:(通常用于临时屏蔽某个出错的非关键服务)","期望值范围","期望性能指标(量化)","期望运行状况(非量化,可选)","本地伪装","本地存储,影响性能,受磁盘大小限制","本地存根","本地调用","本地调用,使用了injvm协议,是一个伪协议,它不开启端口,不发起远程调用,只在jvm内直接关联,但执行dubbo的filter链。","本次性能测试考察的是dubbo本身的性能,实际使用过程中的性能有待应用来验证。","本次性能测试,测试了dubbo2.0所有支持的协议在不同大小和数据类型下的表现,并与dubbo1.0进行了对比。","本端是否为提供端,这里会返回true","本端是否为消费端,这里会返回true","机型","条件支持:","条件路由规则","来设置最大并行数。","来设置重试次数(不含第一次)。","构造函数传入真正的远程代理对象","枚举a多一种","枚举值","枚举(或者说b少一种","枚举),a不使用","枚举),a使用多","架构","某个方法不合并结果,其它都合并结果","查看file","查询方法不建议抛出checked异常,否则调用方在查询时将过多的try...catch,并且不能进行有效处理,","标签","标识","样例:以指定的9099端口启动一个简易注册中心","样例:生成指定接口和版本的服务提供者应用","框架,其通讯效率高于webservice和java自带的序列化。","模块信息配置:","模块负责人,用于服务治理,请填写负责人公司邮箱前缀","模块配置,用于配置当前模块信息,可选。","模型api","正常传输","此代码在客户端执行","此实例很重,封装了与注册中心的连接以及与提供者的连接,请自行缓存,否则可能造成内存和连接泄漏","此实例很重,封装了与注册中心的连接,请自行缓存,否则可能造成内存和连接泄漏","此日志量比较大,请注意磁盘容量。","此时findfoo和findbar的请求同时在执行,客户端不需要启动多线程来支持并行,而是借助nio的非阻塞完成。","此时本端变成消费端,这里会返回fals","此时,用于加速前端页面开发的web框架(mvc)是关键。","此时,用于提高业务复用及整合的分布式服务框架(rpc)是关键。","此时,用于提高机器利用率的资源调度和治理中心(soa)是关键。","此时,用于简化增删改查工作量的数据访问框架(orm)是关键。","此调用会立即返回null","每个接口都应定义版本号,为后续不兼容升级提供可能,如:","每个服务对每个提供者的最大连接数,rmi、http、hessian等短连接协议支持此配置,dubbo协议长连接不支持此配置","每天接收3亿次远程调用","每天接收4亿次远程调用","每服务每方法最大使用线程数限制","每服务消费者最大并发调用限制","每服务消费者每服务每方法最大并发调用数","比如:","比如:","比如:a调b,b再调c,则b机器上,在b调c之前,rpccontext记录的是a调b的信息,在b调c之后,rpccontext记录的是b调c的信息。","比如:crm有些服务是专门为国际站设计的,有些服务是专门为中文站设计的。","比如:crm需同时调用中文站和国际站的pc2服务,pc2在中文站和国际站均有部署,接口及版本号都一样,但连的数据库不一样。","比如:dubbo.application.name=foo等价于","比如:dubbo.protocol.rmi.port=1234等价于(协议的id没配时,缺省使用协议名作为id)","比如:dubbo.registry.address=10.20.153.10:9090等价于","比如:dubbo.registry.china.address=10.20.153.10:9090等价于","比如:不同服务在性能上适用不同协议进行传输,比如大数据用短连接协议,小数据大并发用长连接协议","比如:中文站有些服务来不及在青岛部署,只在杭州部署,而青岛的其它应用需要引用此服务,就可以将服务同时注册到两个注册中心。","比如:需要与http客户端互操作","没有提供者时报错","没有运行沙箱,脚本能力过于强大,可能成为后门","没有配置port,则会分配一个没有被占用的端口。dubbo","没有集群支持,可能单点故障","没有集群支持,可能单点故障,但故障后不影响rpc运行","泛化实现","泛化实现,无需业务接口类实现任意接口,用于mock平台","泛化引用","泛化调用,无需业务接口类进行远程调用,用于测试平台,开放网关桥接等","泛接口实现方式主要用于服务器端没有api接口及模型类元的情况,参数及返回值中的所有pojo均用map表示,通常用于框架集成,比如:实现一个通用的远程服务mock框架,可通过实现genericservice接口处理所有服务请求。","泛接口调用方式主要用于客户端没有api接口及模型类元的情况,参数及返回值中的所有pojo均用map表示,通常用于框架集成,比如:实现一个通用的服务测试框架,可通过genericservice调用所有服务实现。","注:","注册中心不存在时,是否报错","注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心","注册中心会话超时时间(毫秒),用于检测提供者非正常断线后的脏数据,比如用心跳检测的实现,此时间就是心跳间隔,不同注册中心实现不一样。","注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯","注册中心参考手册","注册中心可灵活改变授权方式,而不需修改或升级提供者","注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表","注册中心和监控中心都是可选的,服务消费者可以直连服务提供者","注册中心地址","注册中心对等集群,任意一台宕掉后,将自动切换到另一台","注册中心引用beanid,可以在","注册中心服务器地址,如果地址没有端口缺省为9090,同一集群内的多个地址用逗号分隔,如:ip:port,ip:port,不同集群的注册中心,请配置多个","注册中心的列表","注册中心缺省端口,当address没有带端口时使用此端口做为缺省值","注册中心请求超时时间(毫秒)","注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小","注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。","注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者","注册中心配置,用于配置连接注册中心相关信息。","注册中心配置:配置类:com.alibaba.dubbo.config.registryconfig说明:如果有多个不同的注册中心,可以声明多个|标签,并在|或|的registry属性指定使用的注册中心。","注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外","注册的地址如果获取不正确,比如需要注册公网地址,可以:","注册订阅失败时报错","注同中心地址协议,支持dubbo,","注意","注意为了避免复杂化线上环境,不要在线上使用这个功能,只应在测试阶段使用。","注意区别","注意声明:xmlns:p=\"http://www.springframework.org/schema/p\"","注意!","注意,如果使用servlet派发请求:","注意:","注意:referenceconfig为重对象,内部封装了与注册中心的连接,以及与服务提供方的连接","注意:serviceconfig为重对象,内部封装了与注册中心的连接,以及开启服务端口","注意:一个服务只能有一条白名单规则,否则两条规则交叉,就都被筛选掉了)","注意:只有group,interface,version是服务的匹配条件,三者决定是不是同一个服务,其它配置项均为调优和治理参数。","注意:如果参数类型是接口,或者list等丢失泛型,可通过class属性指定类型。","注意:服务暴露与服务引用都需要声明","注意:此代理对象内部封装了所有通讯细节,对象较重,请缓存复用","注意:每发起rpc调用,上下文状态会变化","注解api","注解配置","注:path,group,version,dubbo,token,timeout几个key有特殊处理,请使用其它key值。","注:下面只列出不同的地方,其它参见上面的写法","流动计算架构","流程说明:","测试分析","测试局限性分析(可选)","测试环境","测试环境使用","测试目的","测试结果","测试脚本","测试覆盖率报告","测试说明","消费方启动时广播订阅请求。","消费方收到提供方地址时,连接该地址进行rpc调用。","消费方缺省配置,当referenceconfig某属性没有配置时,采用此缺省值,可选。","消费者启动时,没有提供者是否抛异常fast","消费者端,最大并发调用限制,即当consumer对一个服务的并发调用到上限后,新调用会wait直到超时。","消除cache中的referenceconfig,销毁referenceconfig并释放对应的资源。","清除屏幕上的内容。","清除屏幕上的指定行数的内容。","点对点直连","点对点直连服务提供方,用于测试","点对点直连服务提供者地址,将绕过注册中心","然后在客户端使用时,不需要感知memcached的地址:","然后在客户端使用时,不需要感知redis的地址:","然后在映射文件xxx.properties中加入:(key为服务名,value为服务提供者url)","然后将剩下的一半提供者升级为新版本","然后,检测有没有请求的响应还没有返回,等待响应返回,除非超时,则强制关闭。","然后,检测线程池中的线程是否正在运行,如果有,等待所有线程执行完成,除非超时,则强制关闭。","版本","特殊场景","特殊场景使用","理论上dubbo可以只依赖jdk,不依赖于任何三方库运行,只需配置使用jdk相关实现策略。","理论上referenceconfig的非服务标识配置,在consumerconfig,serviceconfig,","生成demo服务提供者应用","生成动态代理方式,可选:jdk/javassist","用","用com.alibaba.dubbo.rpc.service.genericservice可以替代所有接口实现","用com.alibaba.dubbo.rpc.service.genericservice可以替代所有接口引用","用map表示pojo参数,如果返回值为pojo也将自动转成map","用于指定方法参数配置。","用于服务分层对应的架构。如,intl、china。不同的架构使用不同的分层。","用户不能控制log4j的配置,不灵活","用法","由于dubbo本身的性能占用都在毫秒级,占的基数很小,性能提升可能对应用整体的性能变化不大。","由于邮件篇幅所限没有列出所有的监控图,如需获得可在大力神平台上查询。","登录注册中心密码,如果注册中心不需要验证可不填","登录注册中心用户名,如果注册中心不需要验证可不填","白名单:","的async","的check","的connect","的gener","的id属性,多个注册中心id用逗号分隔","的id属性,多个注册中心id用逗号分隔,如果不想将该服务注册到任何registry,可将值设为n/a","的loadbal","的retri","的timeout","监控中心协议,如果为protocol=\"registry\",表示从注册中心发现监控中心地址,否则直连监控中心。","监控中心启动时:","监控中心宕掉不影响使用,只是丢失部分采样数据","监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示","监控中心通过psubscribe功能订阅/dubbo/*,会收到所有服务的所有变更事件。","监控中心配置,用于配置连接监控中心相关信息,可选。","监控中心配置:配置类:com.alibaba.dubbo.config.monitorconfig","监控服务提供者端口状态:echo","监控配置","目前有负责人信息和组织信息(用于区分站点)。有问题时便于的找到服务的负责人,至少写两个人以便备份。负责人和组织的信息可以在注册中心的上看到。","目录下的所有","直接对基本类型参数验证","直连提供者","直连监控中心服务器地址,address=\"10.20.130.230:12080\"","直连:","硬件部署与参数调整","确保注册中心上有该服务的存在。","磁盘","示例代码:https://github.com/alibaba/dubbo/tree/master/dubbo","示例:","示例:https://github.com/alibaba/dubbo/tree/master/dubbo","禁用提供者:(通常用于临时踢除某台提供者机器,相似的,禁止消费者访问请使用路由规则)","禁用注册配置","禁用订阅配置","稳定性场景(20并发)","稳定性测试中由于将底层通信框架从mina换成netty,old区对象的增长大大减少,50小时运行,增长不到200m,无fullgc。(可以确认为mina在高并发下的设计缺陷)","等","等号","等待消息发出,消息发送失败将抛出异常。","等,通过","策略成熟度","签","算法参见:http://en.wikipedia.org/wiki/consistent_hashing。","类a多一种","类型","粒度","粘滞连接","粘滞连接将自动开启延迟连接,以减少长连接数,","粘滞连接用于有状态服务,尽可能让客户端总是向同一提供者发起调用,除非该提供者挂了,再连另一台。","粘滞连接,总是向同一个提供方发起请求,除非此提供方挂掉,再切换到另一台","约束:","纯文本,可跨语言解析,缺省采用fastjson解析","线程模型","线程池不可扩展,filter不能拦截下一filt","线程池类型,可选:fixed/cach","线程池队列大小,当线程池满时,排队等待执行的队列大小,建议不要设置,当线程程池时应立即失败,重试其它服务提供机器,而不是排队,除非有特殊需求。","组合情况:(async=fals","组播受网络结构限制,只适合小规模应用或开发阶段使用。组播地址段:","组织名称(bu或部门),用于注册中心区分服务来源,此配置项建议不要使用autoconfig,直接写死在配置中,比如china,intl,itu,crm,asc,dw,aliexpress等","结尾,表示通配,如:host","结果","结果缓存","结果缓存,用于加速热门数据的访问速度,dubbo提供声明式缓存,以减少用户加缓存的工作量。","结果缓存,用于加速请求","统一管理控制台。","统计10次服务任意方法的调用情况。","统计10次服务方法的调用情况。","统计1次服务任意方法的调用情况。","统计1次服务方法的调用情况。","统计于","统计服务的调用次调和调用时间的监控中心。","缓存类型可扩展,参见:cachefactory扩展点","缓存线程池,空闲一分钟自动删除,需要时重建。","缺使用第一个provider配置","缺省dubbo将自动生成一个com.xxx.xxxservice$remote的接口,并继承java.rmi.remote接口,并以此接口暴露服务,","缺省referenceconfigcache把相同服务group、接口、版本的referenceconfig认为是相同,缓存一份。即以服务group、接口、版本为缓存的key。","缺省为","缺省为接口名","缺省为的loadbal","缺省为的timeout","缺省为空串","缺省主机ip查找顺序:","缺省主机端口与协议相关:","缺省使用","缺省依赖","缺省值","缺省协议,使用基于mina1.1.7+hessian3.2.1的tbremoting交互。","缺省只对第一个参数hash,如果要修改,请配置","缺省可按服务接口区分验证场景,如:@notnull(group","缺省向所有registry注册","缺省将从所有注册中心获服务列表后合并结果","缺省用160份虚拟节点,如果要修改,请配置","缺省自动查找:","缺省配置:","网络","网络传输。","网络传输方式,可选mina,netti","网络读写缓冲区大小","老版本服务","老牌nio框架,稳定","而spring初始化线程,因不需要判断bean的存在,直接同步beandefinitionmap进行初始化,并同步singletonobjects写入bean实例缓存。","背景","脚本没有沙箱约束,可执行任意代码,存在后门风险","脚本路由规则","自动加载","自动加载meta","自动暴露、引用本地服务","自动查找本机ip","自动部署服务的本地代理。","自动配置log4j的配置,在多进程启动时,自动给日志文件按进程分目录","自动配置log4j的配置,在多进程启动时,自动给日志文件按进程分目录。","节点角色说明:","获取客户端隐式传入的参数,用于框架集成,不建议常规业务使用","获取当前服务配置信息,所有配置信息都将转换为url的参数","获取最后一次调用的提供方ip地址","获取调用方ip地址","获取远程服务代理","表示\"不匹配\",如:host","表示\"匹配\",如:host","表示只对指定应用生效,可不填,表示对所有应用生效。","表示只对指定服务生效,必填。","表示对所有ip地址生效,如果只想对某个ip的生效,请填入具体ip,必填。","表示对所有ip地址生效,如果只想覆盖某个ip的数据,请填入具体ip,必填。","表示将满足以上条件的timeout参数的值覆盖为1000。如果想覆盖其它参数,直接加在override的url参数上。","表示数据采用覆盖方式,支持override和absent,可扩展,必填。","表示是否需要回调.","表示消费方对该服务的方法调用在失败后,再返回null值,不抛异常。","表示消费方对该服务的方法调用都直接返回null值,不发起远程调用。","表示该数据为动态配置类型,必填。","表示该数据为持久数据,当注册方退出时,数据依然保存在注册中心,必填。","表示该服务使用jvm共享长连接。(缺省)","表示该服务使用独立两条长连接。","表示该服务使用独立长连接。","表示路由规则的内容,必填。","表示路由规则的类型,支持条件路由规则和脚本路由规则,可扩展,必填。","表达式:","要求服务器时间同步,用于检查心跳过期脏数据","覆盖策略:","覆盖规则是否生效,可不填,缺省生效。","规则:","规避办法","解决方案可以让服务提供者开发方,只订阅服务(开发的服务可能依赖其它服务),而不注册正在开发的服务,通过直连测试正在开发的服务。","解决方案可以让服务提供者方,只注册服务到另一注册中心,而不从另一注册中心订阅服务。","订阅/dubbo/com.foo.barservice/providers目录下的提供者url地址。并向/dubbo/com.foo.barservice/consumers目录下写入自己的url地址。","订阅/dubbo/com.foo.barservice目录下的所有提供者和消费者url地址。","设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件","设为true,表示使用缺省mock类名,即:接口名","设为true,表示使用缺省代理类名,即:接口名","设置","设置redis中key的前缀,缺省为dubbo。","设置redis集群策略,缺省为failover。","设置true","设置zookeeper登录信息。","设置zookeeper的根节点,不设置将使用无根树。","设置优雅停机超时时间,缺省超时时间是10秒:(超时则强制关闭)","设置方法级配置","设置服务协议:","设置服务协议:","设置默认协议:","设置默认协议:","访问日志","访问日志,用于记录调用信息","试用","该协议的服务是否注册到注册中心","该实例很重量,里面封装了所有与注册中心及服务提供方连接,请缓存","该接口上的所有方法使用同一个provider.如果需要更复杂的规则,请使用用路由","该接口需单独打包,在服务提供方和消费方共享","详细参见:api配置","详细参见:上下文信息","详细参见:回声测试","详细参见:泛化引用","详细参见:注解配置","详细配置说明参见:dubbo配置参考手册","请升级到","请检查应用:","请求及响应数据包大小限制,单位:字节","请求线程的applicationcontext.getbean()调用,先同步singletonobjects判断bean是否存在,不存在就同步beandefinitionmap进行初始化,并再次同步singletonobjects写入bean实例缓存。2.","请考虑改为mock实现,并在mock中return","读写分离:","调度中心基于访问压力自动增减服务提供者。","调整权重:(通常用于容量评估,缺省权重为100)","调整负载均衡策略:(缺省负载均衡策略为random)","调用","调用代码:","调用信息丢失","调用关系说明:","调用服务的方法(自动查找包含此方法的服务)。","调用服务的方法。","调用服务负责人,用于服务治理,请填写负责人公司邮箱前缀","调用超时","调用过程:","调用远程服务的服务消费方。","负载均衡","负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用","负载均衡算法(有多个provider时,如何挑选provider调用),缺省是随机(random)。还可以有轮询(roundrobin)、最不活跃优先(leastactive,指从consumer端并发调用最好的provider,可以减少的反应慢的provider的调用,因为反应更容易累积并发的调用)","跟踪10次服务任意方法的调用情况。","跟踪10次服务方法的调用情况。","跟踪1次服务任意方法的调用情况。","跟踪1次服务方法的调用情况","路径对应service.setpath()的值,如果未设置path,缺省path为接口名","路由参数值","路由参数键","路由规则","路由规则扩展点:路由扩展","路由规则的优先级,用于排序,优先级越大越靠前执行,可不填,缺省为0。","轮循,按公约后的权重设置轮循比率","轮循,按公约后的权重设置轮循比率。","软件名称及版本","软件架构","输入参数和结果集属性名变化,对客户端序列化无影响,但是如果客户端不重新部署,不管输入还是输出,属性名变化的属性值是获取不到的。","运行run.bat(windows)或run.sh(linux)","还可以改为:","还可在协议级别设置:","这个文件会缓存:","这样在注册中心推送有延迟的情况下,消费者通过缓存列表也能调用到原地址,保证调用成功。","这样就导致getbean线程,先锁singletonobjects,再锁beandefinitionmap,再次锁singletonobjects。而spring初始化线程,先锁beandefinitionmap,再锁singletonobjects。反向锁导致线程死锁,不能提供服务,启动不了。","这篇文档详细讲解了dubbo的使用,基本涵盖dubbo的所有功能特性。","这里以xml","这里所有依赖都是换照dubbo缺省配置选的,这些缺省值是基于稳定性和性能考虑的。","这里的invoker是provider的一个可调用service的抽象,invoker封装了provider地址及service接口信息。","远程服务后,客户端通常只剩下接口,而实现全在服务器端,但提供方有些时候想在客户端也执行部分逻辑,比如:做threadlocal缓存,提前验证参数,调用失败后伪造容错数据等等,此时就需要在api中带上stub,客户端生成proxy实例,会把proxy通过构造函数传给stub,然后把stub暴露组给用户,stub可以决定要不要去调proxy。","远程服务引用","远程服务调用超时时间(毫秒)","远程服务调用重试次数,不包括第一次调用,不需要重试请设为0","远程调用","连接个数:单连接","连接个数:多连接","连接控制","连接数控制","连接方式:短连接","连接方式:长连接","连接注册中心配置","连通性:","退出当前telnet命令行。","适用场景:常规远程服务方法调用","适用场景:常规远程服务方法调用,与原生rmi服务互操作","适用场景:系统集成,跨语言调用。","适用场景:需同时给应用程序和浏览器js使用的服务。","适用场景:页面传输,文件传输,或与原生hessian服务互操作","适用性说明此simpleregistryservice只是简单实现,不支持集群,可作为自定义注册中心的参考,但不适合直接用于生产环境。","适用范围:传入传出参数数据包大小混合,提供者比消费者个数多,可用浏览器查看,可用表单或url传入参数,暂不支持传文件。","适用范围:传入传出参数数据包大小混合,消费者与提供者个数差不多,可传文件。","适用范围:传入传出参数数据包较大,提供者比消费者个数多,提供者压力较大,可传文件。","适用范围:传入传出参数数据包较小(建议小于100k),消费者比提供者个数多,单一消费者无法压满提供者,尽量不要用dubbo协议传输大文件或超大字符串。","选择动态代理实现策略,可选:javassist,","选项参数配置:配置类:java.util.map说明:该标签为|或|或|或|或|的子标签,用于配置自定义参数,该配置项将作为扩展点设置自定义参数使用。","选项:","通常用于写入审计日志等操作。","通常用于实时性要求较高的读操作,但需要浪费更多服务资源。","通常用于消息通知操作。","通常用于读操作,但重试会带来更长延迟。","通常用于通知所有提供者更新缓存或日志等本地资源信息。","通常用于非幂等性的写操作,比如新增记录。","通常由脚本监控中心页面等调用","通过localhost.getlocalhost()获取本机地址。","通过mvn","通过spring配置引用远程服务","通过不传送pojo的类元信息,在大量pojo传输时,性能较好","通过事件的值区分事件类型:register,","通过参数类型查找参数的index","通过字节码生成代替反射,性能比较好(推荐使用)","通过心跳的方式检测脏数据,服务器时间必须相同,并且对服务器有一定压力。","速度慢,任意一台报错则报错","都配了actives,","都配了connections,","配置","配置api","配置duubo.properti","配置jetty启动端口","配置spring配置加载位置:dubbo.spring.config=classpath*:meta","配置。","配置上dubbo缓存文件","配置上管理信息","配置使用说明想知道如何使用配置,请参见:tutori","配置关联","配置可通过jetty直接访问的目录,用于存放静态文件","配置声明暴露服务","配置声明:","配置如下:","配置如:","配置方法如下:","配置日志子目录,用于多进程启动,避免冲突","配置日志文件路径","配置日志级别","配置显示的页面,缺省加载所有页面","配置服务的客户端的loadbalance属性为leastactive,此loadbalance会调用并发数最小的provider(consumer端并发数)。","配置的覆盖规则:1)","配置类:com.alibaba.dubbo.config.moduleconfig","配置规则","配置解析。","配置项一览表","配置项说明详细配置项,请参见:配置参考手册","配置:","采用nio复用单一长连接,并使用线程池并发处理请求,减少握手和加大并发效率,性能较好(推荐使用)","采用spring的httpinvoker实现","里面嵌了一个constraintviolationexcept","重试会带来更长延迟","重试次数配置如:","长度或大小范围","问题为方便开发测试,经常会在线下共用一个所有服务可用的注册中心,这时,如果一个正在开发中的服务提供者注册,可能会影响消费者不能正常运行。","问题如果有两个镜像环境,两个注册中心,有一个服务只在其中一个注册中心有部署,另一个注册中心还没来得及部署,而两个注册中心的其它应用都需要依赖此服务,所以需要将服务同时注册到两个注册中心,但却不能让此服务同时依赖两个注册中心的其它服务。","阅读readme.txt(内容如下,请以压缩包内的为准)","防御容错","防止消费者绕过注册中心访问提供者","阿里内部并没有采用redis做为注册中心,而是使用自己实现的基于数据库的注册中心,即:redis注册中心并没有在阿里内部长时间运行的可靠性保障,此redis桥接实现只为开源版本提供,其可靠性依赖于redis本身的可靠性。","附加参数","限制com.foo.barservice的sayhello方法,服务器端并发执行(或占用线程池线程数)不能超过10个:","限制com.foo.barservice的sayhello方法,每客户端并发执行(或占用连接的请求数)不能超过10个:","限制com.foo.barservice的每个方法,服务器端并发执行(或占用线程池线程数)不能超过10个:","限制com.foo.barservice的每个方法,每客户端并发执行(或占用连接的请求数)不能超过10个:","限制客户端服务使用连接连接数:(如果是长连接,比如dubbo协议,connections表示该服务对每个提供者建立的长连接数)","限制服务器端接受的连接不能超过10个:(因为连接在server上,所以配置在provider上)","除了50k","随机,按权重设置随机概率。","随机,按权重设置随机概率(推荐使用)","随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。","隐式传参","隐式传参,后面的远程调用都会隐式将这些参数发送到服务器端,类似cookie,用于框架集成,不建议常规业务使用","隐式参数","隔离不同机房网段:","集成,可以桥接各种缓存实现。","集群容错","集群容错模式","集群方式,可选:failover/failfast/failsafe/failback/fork","集群模式配置如:","需hessian.jar支持,http短连接的开销大","需依赖:","需求","需注册中心支持","需要加入依赖","需要浪费更多服务资源","静态服务","验证参数不为空","验证异常信息","验证方式可扩展,参见:验证扩展","高压力场景(20并发)","黑名单:","默认)",")则并发限制针对方法,在接口上配置(dubbo:service),则并发限制针对服务。",",使dubbo在spring容器初始化完后,再暴露服务。",",可订阅服务的所有分组和所有版本的提供者。",",将不生成$remote接口,而使用spring的rmiinvocationhandler接口暴露服务,和spring兼容。",",此属性只在",",表示不更新该字段",",设为",":async=fals",":async=tru"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"Introduction","keywords":"","body":"这篇文档详细讲解了dubbo的使用,基本涵盖dubbo的所有功能特性。\n如果你正依赖dubbo作为你业务工程的RPC通信框架,这里可以作为你的参考手册\n"},"preface/background.html":{"url":"preface/background.html","title":"1.1 背景","keywords":"","body":"随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。\n  \n\n单一应用架构\n当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。\n此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。\n\n\n垂直应用架构``\n当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。\n此时,用于加速前端页面开发的Web框架(MVC)是关键。\n\n\n分布式服务架构\n当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。\n此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。\n\n\n流动计算架构\n当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。\n此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键。\n\n\n\n"},"preface/requirements.html":{"url":"preface/requirements.html","title":"1.2 需求","keywords":"","body":"在大规模服务化之前,应用可能只是通过RMI或Hessian等工具,简单的暴露和引用远程服务,通过配置服务的URL地址进行调用,通过F5等硬件进行负载均衡。\n(1) 当服务越来越多时,服务URL配置管理变得非常困难,F5硬件负载均衡器的单点压力也越来越大。此时需要一个服务注册中心,动态的注册和发现服务,使服务的位置透明。\n并通过在消费方获取服务提供方地址列表,实现软负载均衡和Failover,降低对F5硬件负载均衡器的依赖,也能减少部分成本。(2) 当进一步发展,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整的描述应用的架构关系。这时,需要自动画出应用间的依赖关系图,以帮助架构师理清理关系。(3) 接着,服务的调用量越来越大,服务的容量问题就暴露出来,这个服务需要多少机器支撑?什么时候该加机器?为了解决这些问题,第一步,要将服务现在每天的调用量,响应时间,都统计出来,作为容量规划的参考指标。\n其次,要可以动态调整权重,在线上,将某台机器的权重一直加大,并在加大的过程中记录响应时间的变化,直到响应时间到达阀值,记录此时的访问量,再以此访问量乘以机器数反推总容量。\n以上是Dubbo最基本的几个需求,更多服务治理问题参见:\nhttp://code.alibabatech.com/blog/experience_1402/service-governance-process.html\n"},"preface/architacture.html":{"url":"preface/architacture.html","title":"1.3 架构","keywords":"","body":"\n节点角色说明:\nProvider: 暴露服务的服务提供方\nConsumer: 调用远程服务的服务消费方。\nRegistry: 服务注册与发现的注册中心。\nMonitor: 统计服务的调用次调和调用时间的监控中心。\nContainer: 服务运行容器。\n\n\n\n调用关系说明:\n服务容器负责启动,加载,运行服务提供者。\n服务提供者在启动时,向注册中心注册自己提供的服务。\n服务消费者在启动时,向注册中心订阅自己所需的服务。\n注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。\n服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。\n服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。\n\n(1) 连通性:\n注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小\n监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示\n服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销\n服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销\n注册中心,服务提供者,服务消费者三者之间均为长连接,监控中心除外\n注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送事件通知消费者\n注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表\n注册中心和监控中心都是可选的,服务消费者可以直连服务提供者\n(2) 健状性:\n监控中心宕掉不影响使用,只是丢失部分采样数据\n数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务\n注册中心对等集群,任意一台宕掉后,将自动切换到另一台\n注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯\n服务提供者无状态,任意一台宕掉后,不影响使用\n服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复\n(3) 伸缩性:\n注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心\n服务提供者无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者\n(4) 升级性:\n当服务集群规模进一步扩大,带动IT治理结构进一步升级,需要实现动态部署,进行流动计算,现有分布式服务架构不会带来阻力:\n\n\nDeployer: 自动部署服务的本地代理。\nRepository: 仓库用于存储服务应用发布包。\nScheduler: 调度中心基于访问压力自动增减服务提供者。\nAdmin: 统一管理控制台。\n\n"},"preface/usage.html":{"url":"preface/usage.html","title":"1.4 用法","keywords":"","body":"Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。\n如果不想使用Spring配置,而希望通过API的方式进行调用(不推荐),请参见:API配置\n服务提供者\n\n完整安装步骤,请参见:示例提供者安装\n\n定义服务接口\nDemoService.java\npackage com.alibaba.dubbo.demo;\n\npublic interface DemoService {\n\n    String sayHello(String name);\n\n}\n\n\n该接口需单独打包,在服务提供方和消费方共享\n\n在服务提供方实现接口\nDemoServiceImpl.java\n\npackage com.alibaba.dubbo.demo.provider;\n\nimport com.alibaba.dubbo.demo.DemoService;\n\npublic class DemoServiceImpl implements DemoService {\n\n    public String sayHello(String name) {\n        return \"Hello \" + name;\n    }\n\n}\n\n\n对服务消费方隐藏实现\n\n用 Spring 配置声明暴露服务\nprovider.xml\n\n\n\n    \n    \n\n    \n    \n\n    \n    \n\n    \n    \n\n    \n    \n\n\n\n加载Spring配置\nProvider.java\nimport org.springframework.context.support.ClassPathXmlApplicationContext;\n\npublic class Provider {\n    public static void main(String[] args) throws Exception {\n        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {\"http://10.20.160.198/wiki/display/dubbo/provider.xml\"});\n        context.start();\n\n        System.in.read(); // 按任意键退出\n    }\n}\n\n服务消费者\n\n完整安装步骤,请参见:示例消费者安装\n\n通过Spring配置引用远程服务\nconsumer.xml\n\n\n\n    \n    \n\n    \n    \n\n    \n    \n\n\n加载Spring配置,并调用远程服务\nConsumer.java\nimport org.springframework.context.support.ClassPathXmlApplicationContext;\nimport com.alibaba.dubbo.demo.DemoService;\n\npublic class Consumer {\n\n    public static void main(String[] args) throws Exception {\n        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {\"http://10.20.160.198/wiki/display/dubbo/consumer.xml\"});\n        context.start();\n\n        DemoService demoService = (DemoService)context.getBean(\"demoService\"); // 获取远程服务代理\n        String hello = demoService.sayHello(\"world\"); // 执行远程方法\n\n        System.out.println( hello ); // 显示调用结果\n    }\n\n}\n\n\n也可以使用IoC注入\n\n"},"dependencies/dependencies.html":{"url":"dependencies/dependencies.html","title":"2.1 依赖","keywords":"","body":"必须依赖\nJDK1.5+\n\n理论上Dubbo可以只依赖JDK,不依赖于任何三方库运行,只需配置使用JDK相关实现策略。\n\n缺省依赖\n通过mvn dependency:tree > dep.log命令分析,Dubbo缺省依赖以下三方库:\n[INFO] +- com.alibaba:dubbo:jar:2.1.2:compile\n[INFO] |  +- log4j:log4j:jar:1.2.16:compile \n[INFO] |  +- org.javassist:javassist:jar:3.15.0-GA:compile\n[INFO] |  +- org.springframework:spring:jar:2.5.6.SEC03:compile\n[INFO] |  +- commons-logging:commons-logging:jar:1.1.1:compile\n[INFO] |  \\- org.jboss.netty:netty:jar:3.2.5.Final:compile\n这里所有依赖都是换照Dubbo缺省配置选的,这些缺省值是基于稳定性和性能考虑的。\n\nlog4j.jar和commons-logging.jar日志输出包。  \n可以直接去掉,dubbo本身的日志会自动切换为JDK的java.util.logging输出。\n但如果其它三方库比如spring.jar间接依赖commons-logging,则不能去掉。\n\n\njavassist.jar 字节码生成。\n如果或,以及,则不需要。\n\n\nspring.jar 配置解析。\n如果用ServiceConfig和ReferenceConfig的API调用,则不需要。\n\n\nnetty.jar 网络传输。\n如果或,则换成mina.jar或grizzly.jar。\n如果,则不需要。可选依赖\n以下依赖,在主动配置使用相应实现策略时用到,需自行加入依赖。\n\n\nmina: 1.1.7\ngrizzly: 2.1.4\nhttpclient: 4.1.2\nhessian_lite: 3.2.1-fixed\nxstream: 1.4.1\nfastjson: 1.1.8\nzookeeper: 3.3.3\njedis: 2.0.0\nxmemcached: 1.3.6\njfreechart: 1.0.13\nhessian: 4.0.7\njetty: 6.1.26\nhibernate-validator: 4.2.0.Final\nzkclient: 0.1\ncurator: 1.1.10\ncxf: 2.6.1\nthrift: 0.8.0\n\nJEE:\n\nservlet: 2.5\nbsf: 3.1\nvalidation-api: 1.0.0.GA\njcache: 0.4\n\n"},"maturity/maturity.html":{"url":"maturity/maturity.html","title":"2.2 成熟度","keywords":"","body":"功能成熟度\n\n\n\nFeature\nMaturity\nStrength\nProblem\nAdvise\nUser\n\n\n\n\n并发控制\nTested\n并发控制\n\n试用\n\n\n\n连接控制\nTested\n连接数控制\n\n试用\n\n\n\n直连提供者\nTested\n点对点直连服务提供方,用于测试\n\n测试环境使用\nAlibaba\n\n\n分组聚合\nTested\n分组聚合返回值,用于菜单聚合等服务\n特殊场景使用\n可用于生产环境\n\n\n\n参数验证\nTested\n参数验证,JSR303验证框架集成\n对性能有影响\n试用\nLaiWang\n\n\n结果缓存\nTested\n结果缓存,用于加速请求\n\n试用\n\n\n\n泛化引用\nStable\n泛化调用,无需业务接口类进行远程调用,用于测试平台,开放网关桥接等\n\n可用于生产环境\nAlibaba\n\n\n泛化实现\nStable\n泛化实现,无需业务接口类实现任意接口,用于Mock平台\n\n可用于生产环境\nAlibaba\n\n\n回声测试\nTested\n回声测试\n\n试用\n\n\n\n隐式传参\nStable\n附加参数\n\n可用于生产环境\n\n\n\n异步调用\nTested\n不可靠异步调用\n\n试用\n\n\n\n本地调用\nTested\n本地调用\n\n试用\n\n\n\n参数回调\nTested\n参数回调\n特殊场景使用\n试用\nRegistry\n\n\n事件通知\nTested\n事件通知,在远程调用执行前后触发\n\n试用\n\n\n\n本地存根\nStable\n在客户端执行部分逻辑\n\n可用于生产环境\nAlibaba\n\n\n本地伪装\nStable\n伪造返回结果,可在失败时执行,或直接执行,用于服务降级\n需注册中心支持\n可用于生产环境\nAlibaba\n\n\n延迟暴露\nStable\n延迟暴露服务,用于等待应用加载warmup数据,或等待spring加载完成\n\n可用于生产环境\nAlibaba\n\n\n延迟连接\nTested\n延迟建立连接,调用时建立\n\n试用\nRegistry\n\n\n粘滞连接\nTested\n粘滞连接,总是向同一个提供方发起请求,除非此提供方挂掉,再切换到另一台\n\n试用\nRegistry\n\n\n令牌验证\nTested\n令牌验证,用于服务授权\n需注册中心支持\n试用\n\n\n\n路由规则\nTested\n动态决定调用关系\n需注册中心支持\n试用\n\n\n\n配置规则\nTested\n动态下发配置,实现功能的开关\n需注册中心支持\n试用\n\n\n\n访问日志\nTested\n访问日志,用于记录调用信息\n本地存储,影响性能,受磁盘大小限制\n试用\n\n\n\n分布式事务\nResearch\nJTA/XA三阶段提交事务\n不稳定\n不可用\n\n\n\n策略成熟度\n\n\n\nFeature\nMaturity\nStrength\nProblem\nAdvise\nUser\n\n\n\n\nZookeeper注册中心\nStable\n支持基于网络的集群方式,有广泛周边开源产品,建议使用dubbo-2.3.3以上版本(推荐使用)\n依赖于Zookeeper的稳定性\n可用于生产环境\n\n\n\nRedis注册中心\nStable\n支持基于客户端双写的集群方式,性能高\n要求服务器时间同步,用于检查心跳过期脏数据\n可用于生产环境\n\n\n\nMulticast注册中心\nTested\n去中心化,不需要安装注册中心\n依赖于网络拓普和路由,跨机房有风险\n小规模应用或开发测试环境\n\n\n\nSimple注册中心\nTested\nDogfooding,注册中心本身也是一个标准的RPC服务\n没有集群支持,可能单点故障\n试用\n\n\n\nFeature\nMaturity\nStrength\nProblem\nAdvise\nUser\n\n\nSimple监控中心\nStable\n支持JFreeChart统计报表\n没有集群支持,可能单点故障,但故障后不影响RPC运行\n可用于生产环境\n\n\n\nFeature\nMaturity\nStrength\nProblem\nAdvise\nUser\n\n\nDubbo协议\nStable\n采用NIO复用单一长连接,并使用线程池并发处理请求,减少握手和加大并发效率,性能较好(推荐使用)\n在大文件传输时,单一连接会成为瓶颈\n可用于生产环境\nAlibaba\n\n\nRmi协议\nStable\n可与原生RMI互操作,基于TCP协议\n偶尔会连接失败,需重建Stub\n可用于生产环境\nAlibaba\n\n\nHessian协议\nStable\n可与原生Hessian互操作,基于HTTP协议\n需hessian.jar支持,http短连接的开销大\n可用于生产环境\n\n\n\nFeature\nMaturity\nStrength\nProblem\nAdvise\nUser\n\n\nNetty Transporter\nStable\nJBoss的NIO框架,性能较好(推荐使用)\n一次请求派发两种事件,需屏蔽无用事件\n可用于生产环境\nAlibaba\n\n\nMina Transporter\nStable\n老牌NIO框架,稳定\n待发送消息队列派发不及时,大压力下,会出现FullGC\n可用于生产环境\nAlibaba\n\n\nGrizzly Transporter\nTested\nSun的NIO框架,应用于GlassFish服务器中\n线程池不可扩展,Filter不能拦截下一Filter\n试用\n\n\n\nFeature\nMaturity\nStrength\nProblem\nAdvise\nUser\n\n\nHessian Serialization\nStable\n性能较好,多语言支持(推荐使用)\nHessian的各版本兼容性不好,可能和应用使用的Hessian冲突,Dubbo内嵌了hessian3.2.1的源码\n可用于生产环境\nAlibaba\n\n\nDubbo Serialization\nTested\n通过不传送POJO的类元信息,在大量POJO传输时,性能较好\n当参数对象增加字段时,需外部文件声明\n试用\n\n\n\nJson Serialization\nTested\n纯文本,可跨语言解析,缺省采用FastJson解析\n性能较差\n试用\n\n\n\nJava Serialization\nStable\nJava原生支持\n性能较差\n可用于生产环境\n\n\n\nFeature\nMaturity\nStrength\nProblem\nAdvise\nUser\n\n\nJavassist ProxyFactory\nStable\n通过字节码生成代替反射,性能比较好(推荐使用)\n依赖于javassist.jar包,占用JVM的Perm内存,Perm可能要设大一些:java -XX:PermSize=128m\n可用于生产环境\nAlibaba\n\n\nJdk ProxyFactory\nStable\nJDK原生支持\n性能较差\n可用于生产环境\n\n\n\nFeature\nMaturity\nStrength\nProblem\nAdvise\nUser\n\n\nFailover Cluster\nStable\n失败自动切换,当出现失败,重试其它服务器,通常用于读操作(推荐使用)\n重试会带来更长延迟\n可用于生产环境\nAlibaba\n\n\nFailfast Cluster\nStable\n快速失败,只发起一次调用,失败立即报错,通常用于非幂等性的写操作\n如果有机器正在重启,可能会出现调用失败\n可用于生产环境\nAlibaba\n\n\nFailsafe Cluster\nStable\n失败安全,出现异常时,直接忽略,通常用于写入审计日志等操作\n调用信息丢失\n可用于生产环境\nMonitor\n\n\nFailback Cluster\nTested\n失败自动恢复,后台记录失败请求,定时重发,通常用于消息通知操作\n不可靠,重启丢失\n可用于生产环境\nRegistry\n\n\nForking Cluster\nTested\n并行调用多个服务器,只要一个成功即返回,通常用于实时性要求较高的读操作\n需要浪费更多服务资源\n可用于生产环境\n\n\n\nBroadcast Cluster\nTested\n广播调用所有提供者,逐个调用,任意一台报错则报错,通常用于更新提供方本地状态\n速度慢,任意一台报错则报错\n可用于生产环境\n\n\n\nFeature\nMaturity\nStrength\nProblem\nAdvise\nUser\n\n\nRandom LoadBalance\nStable\n随机,按权重设置随机概率(推荐使用)\n在一个截面上碰撞的概率高,重试时,可能出现瞬间压力不均\n可用于生产环境\nAlibaba\n\n\nRoundRobin LoadBalance\nStable\n轮循,按公约后的权重设置轮循比率\n存在慢的机器累积请求问题,极端情况可能产生雪崩\n可用于生产环境\n\n\n\nLeastActive LoadBalance\nStable\n最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差,使慢的机器收到更少请求\n不支持权重,在容量规划时,不能通过权重把压力导向一台机器压测容量\n可用于生产环境\n\n\n\nConsistentHash LoadBalance\nStable\n一致性Hash,相同参数的请求总是发到同一提供者,当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动\n压力分摊不均\n可用于生产环境\n\n\n\nFeature\nMaturity\nStrength\nProblem\nAdvise\nUser\n\n\n条件路由规则\nStable\n基于条件表达式的路由规则,功能简单易用\n有些复杂多分支条件情况,规则很难描述\n可用于生产环境\nAlibaba\n\n\n脚本路由规则\nTested\n基于脚本引擎的路由规则,功能强大\n没有运行沙箱,脚本能力过于强大,可能成为后门\n试用\n\n\n\nFeature\nMaturity\nStrength\nProblem\nAdvise\nUser\n\n\nSpring Container\nStable\n自动加载META-INF/spring目录下的所有Spring配置\n\n可用于生产环境\nAlibaba\n\n\nJetty Container\nStable\n启动一个内嵌Jetty,用于汇报状态\n大量访问页面时,会影响服务器的线程和内存\n可用于生产环境\nAlibaba\n\n\nLog4j Container\nStable\n自动配置log4j的配置,在多进程启动时,自动给日志文件按进程分目录\n用户不能控制log4j的配置,不灵活\n可用于生产环境\nAlibaba\n\n\n\n"},"configuration/xml.html":{"url":"configuration/xml.html","title":"3.1 XML配置","keywords":"","body":"\n配置项说明详细配置项,请参见:配置参考手册\nAPI使用说明如果不想使用Spring配置,而希望通过API的方式进行调用,请参见:API配置\n配置使用说明想知道如何使用配置,请参见:tutorials\n\n示例:\nprovider.xml\n\n\n  \n      \n      \n      \n      \n      \n\n\n\n所有标签者支持自定义参数,用于不同扩展点实现的特殊配置。\n\n如:\n\n    \n\n\n或:(2.1.0开始支持)\n\n 注意声明:xmlns:p=\"http://www.springframework.org/schema/p\"\n  \n      \n\n\nConfiguration Relation:\n\n 服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心。\n 引用配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心。\n 协议配置,用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受。\n 应用配置,用于配置当前应用信息,不管该应用是提供者还是消费者。\n 模块配置,用于配置当前模块信息,可选。\n 注册中心配置,用于配置连接注册中心相关信息。\n 监控中心配置,用于配置连接监控中心相关信息,可选。\n 提供方的缺省值,当ProtocolConfig和ServiceConfig某属性没有配置时,采用此缺省值,可选。\n 消费方缺省配置,当ReferenceConfig某属性没有配置时,采用此缺省值,可选。\n 方法配置,用于ServiceConfig和ReferenceConfig指定方法级的配置信息。\n 用于指定方法参数配置。\n\n\nConfiguration Override:\n\n上图中以timeout为例,显示了配置的查找顺序,其它retries, loadbalance, actives等类似。\n方法级优先,接口级次之,全局配置再次之。\n如果级别一样,则消费方优先,提供方次之。\n\n\n其中,服务提供方配置,通过URL经由注册中心传递给消费方。\n建议由服务提供方设置超时,因为一个方法需要执行多长时间,服务提供方更清楚,如果一个消费方同时引用多个服务,就不需要关心每个服务的超时设置。\n理论上ReferenceConfig的非服务标识配置,在ConsumerConfig,ServiceConfig, ProviderConfig均可以缺省配置。\n\n"},"configuration/properties.html":{"url":"configuration/properties.html","title":"3.2 属性配置","keywords":"","body":"\n如果公共配置很简单,没有多注册中心,多协议等情况,或者想多个Spring容器想共享配置,可以使用dubbo.properties作为缺省配置。\nDubbo将自动加载classpath根目录下的dubbo.properties,可以通过JVM启动参数:-Ddubbo.properties.file=xxx.properties 改变缺省配置位置。\n如果classpath根目录下存在多个dubbo.properties,比如多个jar包中有dubbo.properties,Dubbo会任意加载,并打印Error日志,后续可能改为抛异常。\n\n映射规则:\n\n将XML配置的标签名,加属性名,用点分隔,多个属性拆成多行:  \n比如:dubbo.application.name=foo等价于 \n比如:dubbo.registry.address=10.20.153.10:9090等价于  \n\n\n如果XML有多行同名标签配置,可用id号区分,如果没有id号将对所有同名标签生效:  \n比如:dubbo.protocol.rmi.port=1234等价于(协议的id没配时,缺省使用协议名作为id)\n比如:dubbo.registry.china.address=10.20.153.10:9090等价于\n\n\n\n典型配置如:\ndubbo.properties\ndubbo.application.name=foo\ndubbo.application.owner=bar\ndubbo.registry.address=10.20.153.10:9090\n\n\n覆盖策略:\n\nJVM启动-D参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口。\nXML次之,如果在XML中有配置,则dubbo.properties中的相应配置项无效。\nProperties最后,相当于缺省值,只有XML没有配置时,dubbo.properties的相应配置项才会生效,通常用于共享公共配置,比如应用名。\n\n"},"configuration/api.html":{"url":"configuration/api.html","title":"3.3 API配置","keywords":"","body":"\n API使用范围API仅用于OpenAPI, ESB, Test, Mock等系统集成,普通服务提供方或消费方,请采用配置方式使用Dubbo,请参见:\n API属性含义参考API属性与配置项一对一,各属性含义,请参见:,比如:ApplicationConfig.setName(\"xxx\") 对应 \n\n(1). 服务提供者\nimport com.alibaba.dubbo.rpc.config.ApplicationConfig;\nimport com.alibaba.dubbo.rpc.config.RegistryConfig;\nimport com.alibaba.dubbo.rpc.config.ProviderConfig;\nimport com.alibaba.dubbo.rpc.config.ServiceConfig;\nimport com.xxx.XxxService;\nimport com.xxx.XxxServiceImpl;\n\n// 服务实现\nXxxService xxxService = new XxxServiceImpl();\n\n// 当前应用配置\nApplicationConfig application = new ApplicationConfig();\napplication.setName(\"xxx\");\n\n// 连接注册中心配置\nRegistryConfig registry = new RegistryConfig();\nregistry.setAddress(\"10.20.130.230:9090\");\nregistry.setUsername(\"aaa\");\nregistry.setPassword(\"bbb\");\n\n// 服务提供者协议配置\nProtocolConfig protocol = new ProtocolConfig();\nprotocol.setName(\"dubbo\");\nprotocol.setPort(12345);\nprotocol.setThreads(200);\n\n// 注意:ServiceConfig为重对象,内部封装了与注册中心的连接,以及开启服务端口\n\n// 服务提供者暴露服务配置\nServiceConfig service = new ServiceConfig(); // 此实例很重,封装了与注册中心的连接,请自行缓存,否则可能造成内存和连接泄漏\nservice.setApplication(application);\nservice.setRegistry(registry); // 多个注册中心可以用setRegistries()\nservice.setProtocol(protocol); // 多个协议可以用setProtocols()\nservice.setInterface(XxxService.class);\nservice.setRef(xxxService);\nservice.setVersion(\"1.0.0\");\n\n// 暴露及注册服务\nservice.export();\n\n(2). 服务消费者\nimport com.alibaba.dubbo.rpc.config.ApplicationConfig;\nimport com.alibaba.dubbo.rpc.config.RegistryConfig;\nimport com.alibaba.dubbo.rpc.config.ConsumerConfig;\nimport com.alibaba.dubbo.rpc.config.ReferenceConfig;\nimport com.xxx.XxxService;\n\n// 当前应用配置\nApplicationConfig application = new ApplicationConfig();\napplication.setName(\"yyy\");\n\n// 连接注册中心配置\nRegistryConfig registry = new RegistryConfig();\nregistry.setAddress(\"10.20.130.230:9090\");\nregistry.setUsername(\"aaa\");\nregistry.setPassword(\"bbb\");\n\n// 注意:ReferenceConfig为重对象,内部封装了与注册中心的连接,以及与服务提供方的连接\n\n// 引用远程服务\nReferenceConfig reference = new ReferenceConfig(); // 此实例很重,封装了与注册中心的连接以及与提供者的连接,请自行缓存,否则可能造成内存和连接泄漏\nreference.setApplication(application);\nreference.setRegistry(registry); // 多个注册中心可以用setRegistries()\nreference.setInterface(XxxService.class);\nreference.setVersion(\"1.0.0\");\n\n// 和本地bean一样使用xxxService\nXxxService xxxService = reference.get(); // 注意:此代理对象内部封装了所有通讯细节,对象较重,请缓存复用\n\n(3). 特殊场景\n\n注:下面只列出不同的地方,其它参见上面的写法\n\n(3.1). 方法级设置\n...\n\n// 方法级配置\nList methods = new ArrayList();\nMethodConfig method = new MethodConfig();\nmethod.setName(\"createXxx\");\nmethod.setTimeout(10000);\nmethod.setRetries(0);\nmethods.add(method);\n\n// 引用远程服务\nReferenceConfig reference = new ReferenceConfig(); // 此实例很重,封装了与注册中心的连接以及与提供者的连接,请自行缓存,否则可能造成内存和连接泄漏\n...\nreference.setMethods(methods); // 设置方法级配置\n\n...\n\n(3.2). 点对点直连\n\n...\n\nReferenceConfig reference = new ReferenceConfig(); // 此实例很重,封装了与注册中心的连接以及与提供者的连接,请自行缓存,否则可能造成内存和连接泄漏\n// 如果点对点直连,可以用reference.setUrl()指定目标地址,设置url后将绕过注册中心,\n// 其中,协议对应provider.setProtocol()的值,端口对应provider.setPort()的值,\n// 路径对应service.setPath()的值,如果未设置path,缺省path为接口名\nreference.setUrl(\"dubbo://10.20.130.230:20880/com.xxx.XxxService\"); \n\n...\n\n"},"configuration/annotation.html":{"url":"configuration/annotation.html","title":"3.4 注解配置","keywords":"","body":"\n 2.2.1以上版本支持  \n\n服务提供方注解:\nimport com.alibaba.dubbo.config.annotation.Service;\n\n@Service(version=\"1.0.0\")\npublic class FooServiceImpl implements FooService {\n\n    // ......\n\n}\n\n服务提供方配置:\n\n\n\n\n\n\n\n服务消费方注解:\nimport com.alibaba.dubbo.config.annotation.Reference;\nimport org.springframework.stereotype.Component;\n\n@Component\npublic class BarAction {\n\n    @Reference(version=\"1.0.0\")\n    private FooService fooService;\n\n}\n\n服务消费方配置:\n\n\n\n\n\n\n\n也可以使用:(等价于前面的:)\n\n\n    \n\n\n\n Spring2.5及以后版本支持component-scan,如果用的是Spring2.0及以前版本,需配置:\n\n\n\n\n\n"},"demos/启动时检查.html":{"url":"demos/启动时检查.html","title":"4.1 启动时检查","keywords":"","body":"\nDubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止Spring初始化完成,以便上线时,能及早发现问题,默认 check=\"tr\bue\"。  \n如果你的Spring容器是懒加载的,或者通过API编程延迟引用服务,请关闭check,否则服务临时不可用时,会抛出异常,拿到null引用,如果 check=\"false\",总是会返回引用,当服务恢复时,能自动连上。\n\n可以通过 check=\"false\" 关闭检查,比如,测试时,有些服务不关心,或者出现了循环依赖,必须有一方先启动。\n关闭某个服务的启动时检查:\n\n没有提供者时报错\n\n\n\n关闭所有服务的启动时检查:\n\n没有提供者时报错\n\n\n\n关闭注册中心启动时检查:\n\n注册订阅失败时报错\n\n\n\n也可以用dubbo.properties配置\ndubbo.reference.com.foo.BarService.check=false\ndubbo.reference.check=false\ndubbo.consumer.check=false\ndubbo.registry.check=false\n\n也可以用-D参数\njava -Ddubbo.reference.com.foo.BarService.check=false\njava -Ddubbo.reference.check=false\njava -Ddubbo.consumer.check=false \njava -Ddubbo.registry.check=false\n\n注意区别\n\n\ndubbo.reference.check=false,强制改变所有reference的check值,就算配置中有声明,也会被覆盖。\ndubbo.consumer.check=false,是设置check的缺省值,如果配置中有显式的声明,如:,不会受影响。\ndubbo.registry.check=false,前面两个都是指订阅成功,但提供者列表是否为空是否报错,如果注册订阅失败时,也允许启动,需使用此选项,将在后台定时重试。\n\n\n引用缺省是延迟初始化的,只有引用被注入到其它Bean,或被getBean()获取,才会初始化。\n如果需要饥饿加载,即没有人引用也立即生成动态代理,可以配置:\n\n\n"},"demos/集群容错.html":{"url":"demos/集群容错.html","title":"4.2 集群容错","keywords":"","body":"\n在集群调用失败时,Dubbo提供了多种容错方案,缺省为failover重试。\n\n\n各节点关系:\n\n这里的Invoker是Provider的一个可调用Service的抽象,Invoker封装了Provider地址及Service接口信息。\nDirectory代表多个Invoker,可以把它看成List,但与List不同的是,它的值可能是动态变化的,比如注册中心推送变更。\nCluster将Directory中的多个Invoker伪装成一个Invoker,对上层透明,伪装过程包含了容错逻辑,调用失败后,重试另一个。\nRouter负责从多个Invoker中按路由规则选出子集,比如读写分离,应用隔离等。\nLoadBalance负责从多个Invoker中选出具体的一个用于本次调用,选的过程包含了负载均衡算法,调用失败后,需要重选\n\n集群容错模式\n可以自行扩展集群容错策略,参见:集群扩展\nFailover Cluster\n\n失败自动切换,当出现失败,重试其它服务器。(缺省)\n通常用于读操作,但重试会带来更长延迟。\n可通过 retries=\"2\" 来设置重试次数(不含第一次)。\n\nFailfast Cluster\n\n快速失败,只发起一次调用,失败立即报错。\n通常用于非幂等性的写操作,比如新增记录。\n\nFailsafe Cluster\n\n失败安全,出现异常时,直接忽略。\n通常用于写入审计日志等操作。\n\nFailback Cluster\n\n失败自动恢复,后台记录失败请求,定时重发。\n通常用于消息通知操作。\n\nForking Cluster\n\n并行调用多个服务器,只要一个成功即返回。\n通常用于实时性要求较高的读操作,但需要浪费更多服务资源。\n可通过 forks=\"2\" 来设置最大并行数。\n\nBroadcast Cluster\n\n广播调用所有提供者,逐个调用,任意一台报错则报错。(2.1.0开始支持)\n通常用于通知所有提供者更新缓存或日志等本地资源信息。\n\n重试次数配置如: (failover集群模式生效)\n\n\n或\n\n\n或\n\n    \n\n\n集群模式配置如:\n\n\n或\n\n\n"},"demos/负载均衡.html":{"url":"demos/负载均衡.html","title":"4.3 负载均衡","keywords":"","body":"\n在集群负载均衡时,Dubbo提供了多种均衡策略,缺省为random随机调用。可以自行扩展负载均衡策略,参见:负载均衡扩展\n\nRandom LoadBalance\n\n随机,按权重设置随机概率。\n在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。\n\nRoundRobin LoadBalance\n\n轮循,按公约后的权重设置轮循比率。\n存在慢的提供者累积请求的问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。\n\nLeastActive LoadBalance\n\n最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差。\n使慢的提供者收到更少请求,因为越慢的提供者的调用前后计数差会越大。\n\nConsistentHash LoadBalance\n\n一致性Hash,相同参数的请求总是发到同一提供者。\n当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。\n算法参见:http://en.wikipedia.org/wiki/Consistent_hashing。\n缺省只对第一个参数Hash,如果要修改,请配置\n缺省用160份虚拟节点,如果要修改,请配置 \n\n配置如:\n\n\n或\n\n\n或\n\n    \n\n\n或\n\n    \n\n\n"},"demos/线程模型.html":{"url":"demos/线程模型.html","title":"4.4 线程模型","keywords":"","body":"\n\n事件处理线程说明 \n\n如果事件处理的逻辑能迅速完成,并且不会发起新的IO请求,比如只是在内存中记个标识,则直接在IO线程上处理更快,因为减少了线程池调度。  \n但如果事件处理逻辑较慢,或者需要发起新的IO请求,比如需要查询数据库,则必须派发到线程池,否则IO线程阻塞,将导致不能接收其它请求。  \n如果用IO线程处理事件,又在事件处理过程中发起新的IO请求,比如在连接事件中发起登录请求,会报“可能引发死锁”异常,但不会真死锁。\n\n\nDispatcher\n\nall 所有消息都派发到线程池,包括请求,响应,连接事件,断开事件,心跳等。\ndirect 所有消息都不派发到线程池,全部在IO线程上直接执行。\nmessage 只有请求响应消息派发到线程池,其它连接断开事件,心跳等消息,直接在IO线程上执行。\nexecution 只请求消息派发到线程池,不含响应,响应和其它连接断开事件,心跳等消息,直接在IO线程上执行。\nconnection 在IO线程上,将连接断开事件放入队列,有序逐个执行,其它消息派发到线程池。\n\nThreadPool\n\nfixed 固定大小线程池,启动时建立线程,不关闭,一直持有。(缺省)\ncached 缓存线程池,空闲一分钟自动删除,需要时重建。\nlimited 可伸缩线程池,但池中的线程数只会增长不会收缩。(为避免收缩时突然来了大流量引起的性能问题)。\n\n配置如下:\n\n\n"},"demos/直连提供者.html":{"url":"demos/直连提供者.html","title":"4.5 直连提供者","keywords":"","body":"在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连,点对点直联方式,将以服务接口为单位,忽略注册中心的提供者列表,A接口配置点对点,不影响B接口从注册中心获取列表。\n\n\n如果是线上需求需要点对点,可在  中配置url指向提供者,将绕过注册中心,多个地址用分号隔开,配置如下:\n\n1.0.6及以上版本支持\n\n  \n\n\n在JVM启动参数中加入-D参数映射服务地址,如:\n\nkey为服务名,value为服务提供者url,此配置优先级最高,1.0.15及以上版本支持\n\n  java -Dcom.alibaba.xxx.XxxService=dubbo://localhost:20890\n\n\n如果服务比较多,也可以用文件映射,如:\n\n用-Ddubbo.resolve.file指定映射文件路径,此配置优先级高于中的配置,1.0.15及以上版本支持\n2.0以上版本自动加载${user.home}/dubbo-resolve.properties文件,不需要配置\n\n  java -Ddubbo.resolve.file=xxx.properties\n\n  然后在映射文件xxx.properties中加入:(key为服务名,value为服务提供者url)\n  com.alibaba.xxx.XxxService=dubbo://localhost:20890\n\n\n\n\n注意为了避免复杂化线上环境,不要在线上使用这个功能,只应在测试阶段使用。\n\n"},"demos/只订阅.html":{"url":"demos/只订阅.html","title":"4.6 只订阅","keywords":"","body":"\n问题为方便开发测试,经常会在线下共用一个所有服务可用的注册中心,这时,如果一个正在开发中的服务提供者注册,可能会影响消费者不能正常运行。\n解决方案可以让服务提供者开发方,只订阅服务(开发的服务可能依赖其它服务),而不注册正在开发的服务,通过直连测试正在开发的服务。\n\n\n禁用注册配置\n\n\n或者\n\n\n"},"demos/只注册.html":{"url":"demos/只注册.html","title":"4.7 只注册","keywords":"","body":"\n问题如果有两个镜像环境,两个注册中心,有一个服务只在其中一个注册中心有部署,另一个注册中心还没来得及部署,而两个注册中心的其它应用都需要依赖此服务,所以需要将服务同时注册到两个注册中心,但却不能让此服务同时依赖两个注册中心的其它服务。\n解决方案可以让服务提供者方,只注册服务到另一注册中心,而不从另一注册中心订阅服务。\n\n禁用订阅配置\n\n\n\n或者\n\n\n\n"},"demos/静态服务.html":{"url":"demos/静态服务.html","title":"4.8 静态服务","keywords":"","body":"有时候希望人工管理服务提供者的上线和下线,此时需将注册中心标识为非动态管理模式\n\n\n或者\n\n\n服务提供者初次注册时为禁用状态,需人工启用,断线时,将不会被自动删除,需人工禁用。\n如果是一个第三方独立提供者,比如memcached等,可以直接向注册中心写入提供者地址信息,消费者正常使用:\n\n通常由脚本监控中心页面等调用\n\nRegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();\nRegistry registry = registryFactory.getRegistry(URL.valueOf(\"zookeeper://10.20.153.10:2181\"));\nregistry.register(URL.valueOf(\"memcached://10.20.153.11/com.foo.BarService?category=providers&dynamic=false&application=foo\"));\n\n"},"demos/多协议.html":{"url":"demos/多协议.html","title":"4.9 多协议","keywords":"","body":"可以自行扩展协议,参见:协议扩展\n(1) 不同服务不同协议\n比如:不同服务在性能上适用不同协议进行传输,比如大数据用短连接协议,小数据大并发用长连接协议\nconsumer.xml\n\n\n\n    \n    \n\n    \n    \n    \n\n    \n    \n    \n     \n\n\n(2) 多协议暴露服务\n比如:需要与http客户端互操作\nconsumer.xml\n\n\n\n    \n    \n\n    \n    \n    \n\n    \n    \n\n\n"},"demos/多注册中心.html":{"url":"demos/多注册中心.html","title":"4.10 多注册中心","keywords":"","body":"可以自行扩展注册中心,参见:注册中心扩展\n(1) 多注册中心注册\n比如:中文站有些服务来不及在青岛部署,只在杭州部署,而青岛的其它应用需要引用此服务,就可以将服务同时注册到两个注册中心。\nconsumer.xml\n\n\n\n\n    \n\n    \n    \n    \n\n    \n    \n\n\n(2) 不同服务使用不同注册中心\n比如:CRM有些服务是专门为国际站设计的,有些服务是专门为中文站设计的。\nconsumer.xml\n\n\n\n    \n\n    \n    \n    \n\n    \n    \n\n    \n    \n\n\n(3) 多注册中心引用\n比如:CRM需同时调用中文站和国际站的PC2服务,PC2在中文站和国际站均有部署,接口及版本号都一样,但连的数据库不一样。\nconsumer.xml\n\n\n\n    \n\n    \n    \n    \n\n    \n    \n\n    \n    \n\n\n如果只是测试环境临时需要连接两个不同注册中心,使用竖号分隔多个不同注册中心地址:\nconsumer.xml\n\n\n\n    \n\n    \n    \n\n    \n    \n\n\n"},"demos/服务分组.html":{"url":"demos/服务分组.html","title":"4.11 服务分组","keywords":"","body":"\n当一个接口有多种实现时,可以用group区分。\n\n服务\n\n\n\n引用\n\n\n\n任意组:\n\n2.2.0以上版本支持,总是只调一个可用组的实现\n\n\n\n"},"demos/多版本.html":{"url":"demos/多版本.html","title":"4.13 多版本","keywords":"","body":"\n当一个接口实现,出现不兼容升级时,可以用版本号过渡,版本号不同的服务相互间不引用。\n\n\n在低压力时间段,先升级一半提供者为新版本\n再将所有消费者升级为新版本\n然后将剩下的一半提供者升级为新版本\n\n老版本服务\n\n\n新版本服务\n\n\n引用老版本\n\n\n引用新版本\n\n\n不区分版本:(2.2.0以上版本支持)\n\n\n"},"demos/分组聚合.html":{"url":"demos/分组聚合.html","title":"4.14 分组聚合","keywords":"","body":"\n按组合并返回结果,比如菜单服务,接口一样,但有多种实现,用group区分,现在消费方需从每种group中调用一次返回结果,合并结果返回,这样就可以实现聚合菜单项。  \n从2.1.0版本开始支持,\n\n代码参见:https://github.com/alibaba/dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/merge\n配置如:\n搜索所有分组\n\n\n合并指定分组\n\n\n指定方法合并结果,其它未指定的方法,将只调用一个Group\n\n    \n\n\n某个方法不合并结果,其它都合并结果\n\n    \n\n\n指定合并策略,缺省根据返回值类型自动匹配,如果同一类型有两个合并器时,需指定合并器的名称\n参见:合并结果扩展\n\n    \n\n\n指定合并方法,将调用返回结果的指定方法进行合并,合并方法的参数类型必须是返回结果类型本身\n\n    \n\n\n"},"demos/参数验证.html":{"url":"demos/参数验证.html","title":"4.15 参数验证","keywords":"","body":"\n参数验证功能是基于 JSR303 实现的,用户只需标识JSR303标准的验证Annotation,并通过声明filter来实现验证。  \n2.1.0以上版本支持, 完整示例代码参见:https://github.com/alibaba/dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/validation  \n\n验证方式可扩展,参见:验证扩展\n参数标注示例\n\nimport java.io.Serializable;\nimport java.util.Date;\n\nimport javax.validation.constraints.Future;\nimport javax.validation.constraints.Max;\nimport javax.validation.constraints.Min;\nimport javax.validation.constraints.NotNull;\nimport javax.validation.constraints.Past;\nimport javax.validation.constraints.Pattern;\nimport javax.validation.constraints.Size;\n\npublic class ValidationParameter implements Serializable {\n\n    private static final long serialVersionUID = 7158911668568000392L;\n\n    @NotNull // 不允许为空\n    @Size(min = 1, max = 20) // 长度或大小范围\n    private String name;\n\n    @NotNull(groups = ValidationService.Save.class) // 保存时不允许为空,更新时允许为空 ,表示不更新该字段\n    @Pattern(regexp = \"^\\\\s*\\\\w+(?:\\\\.{0,1}[\\\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\\\.[a-zA-Z]+\\\\s*$\")\n    private String email;\n\n    @Min(18) // 最小值\n    @Max(100) // 最大值\n    private int age;\n\n    @Past // 必须为一个过去的时间\n    private Date loginDate;\n\n    @Future // 必须为一个未来的时间\n    private Date expiryDate;\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getEmail() {\n        return email;\n    }\n\n    public void setEmail(String email) {\n        this.email = email;\n    }\n\n    public int getAge() {\n        return age;\n    }\n\n    public void setAge(int age) {\n        this.age = age;\n    }\n\n    public Date getLoginDate() {\n        return loginDate;\n    }\n\n    public void setLoginDate(Date loginDate) {\n        this.loginDate = loginDate;\n    }\n\n    public Date getExpiryDate() {\n        return expiryDate;\n    }\n\n    public void setExpiryDate(Date expiryDate) {\n        this.expiryDate = expiryDate;\n    }\n\n}\n\n分组验证示例\npublic interface ValidationService { // 缺省可按服务接口区分验证场景,如:@NotNull(groups = ValidationService.class)\n\n    @interface Save{} // 与方法同名接口,首字母大写,用于区分验证场景,如:@NotNull(groups = ValidationService.Save.class),可选\n    void save(ValidationParameter parameter);\n    void update(ValidationParameter parameter);\n}\n\n关联验证示例\nimport javax.validation.GroupSequence;\n\npublic interface ValidationService {\n\n    @GroupSequence(Update.class) // 同时验证Update组规则\n    @interface Save{}\n    void save(ValidationParameter parameter);\n\n    @interface Update{} \n    void update(ValidationParameter parameter);\n}\n\n参数验证示例\nimport javax.validation.constraints.Min;\nimport javax.validation.constraints.NotNull;\n\npublic interface ValidationService {\n\n    void save(@NotNull ValidationParameter parameter); // 验证参数不为空\n\n    void delete(@Min(1) int id); // 直接对基本类型参数验证\n}\n\n在客户端验证参数\n\n\n在服务器端验证参数\n\n\n验证异常信息\nimport javax.validation.ConstraintViolationException;\nimport javax.validation.ConstraintViolationException;\n\nimport org.springframework.context.support.ClassPathXmlApplicationContext;\n\nimport com.alibaba.dubbo.examples.validation.api.ValidationParameter;\nimport com.alibaba.dubbo.examples.validation.api.ValidationService;\nimport com.alibaba.dubbo.rpc.RpcException;\n\npublic class ValidationConsumer {\n\n    public static void main(String[] args) throws Exception {\n        String config = ValidationConsumer.class.getPackage().getName().replace('.', '/') + \"/validation-consumer.xml\";\n        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(config);\n        context.start();\n        ValidationService validationService = (ValidationService)context.getBean(\"validationService\");\n        // Error\n        try {\n            parameter = new ValidationParameter();\n            validationService.save(parameter);\n            System.out.println(\"Validation ERROR\");\n        } catch (RpcException e) { // 抛出的是RpcException\n            ConstraintViolationException ve = (ConstraintViolationException) e.getCause(); // 里面嵌了一个ConstraintViolationException\n            Set> violations = ve.getConstraintViolations(); // 可以拿到一个验证错误详细信息的集合\n            System.out.println(violations);\n        }\n    } \n}\n\n需要加入依赖\n\n    javax.validation\n    validation-api\n    1.0.0.GA\n\n\n    org.hibernate\n    hibernate-validator\n    4.2.0.Final\n\n\n"},"demos/结果缓存.html":{"url":"demos/结果缓存.html","title":"4.16 结果缓存","keywords":"","body":"\n结果缓存,用于加速热门数据的访问速度,Dubbo提供声明式缓存,以减少用户加缓存的工作量。\n2.1.0以上版本支持\n\n示例代码:https://github.com/alibaba/dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/cache\n\nlru 基于最近最少使用原则删除多余缓存,保持最热的数据被缓存。\nthreadlocal 当前线程缓存,比如一个页面渲染,用到很多portal,每个portal都要去查用户信息,通过线程缓存,可以减少这种多余访问。\njcache 与 JSR107 集成,可以桥接各种缓存实现。\n\n缓存类型可扩展,参见:CacheFactory扩展点\n配置如:\n\n\n或:\n\n    \n\n\n"},"demos/泛化引用.html":{"url":"demos/泛化引用.html","title":"4.17 泛化引用","keywords":"","body":"\n泛接口调用方式主要用于客户端没有API接口及模型类元的情况,参数及返回值中的所有POJO均用Map表示,通常用于框架集成,比如:实现一个通用的服务测试框架,可通过GenericService调用所有服务实现。\n\n\n\nGenericService barService = (GenericService) applicationContext.getBean(\"barService\");\nObject result = barService.$invoke(\"sayHello\", new String[] { \"java.lang.String\" }, new Object[] { \"World\" });\n\nimport com.alibaba.dubbo.rpc.service.GenericService; \n... \n\n// 引用远程服务 \nReferenceConfig reference = new ReferenceConfig(); // 该实例很重量,里面封装了所有与注册中心及服务提供方连接,请缓存\nreference.setInterface(\"com.xxx.XxxService\"); // 弱类型接口名 \nreference.setVersion(\"1.0.0\"); \nreference.setGeneric(true); // 声明为泛化接口 \n\nGenericService genericService = reference.get(); // 用com.alibaba.dubbo.rpc.service.GenericService可以替代所有接口引用 \n\n// 基本类型以及Date,List,Map等不需要转换,直接调用 \nObject result = genericService.$invoke(\"sayHello\", new String[] {\"java.lang.String\"}, new Object[] {\"world\"}); \n\n// 用Map表示POJO参数,如果返回值为POJO也将自动转成Map \nMap person = new HashMap(); \nperson.put(\"name\", \"xxx\"); \nperson.put(\"password\", \"yyy\"); \nObject result = genericService.$invoke(\"findPerson\", new String[]{\"com.xxx.Person\"}, new Object[]{person}); // 如果返回POJO将自动转成Map \n\n...\n\n假设存在POJO如:\npackage com.xxx;\n\npublic class PersonImpl implements Person {\n    private String name;\n    private String password;\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getPassword() {\n        return password;\n    }\n\n    public void setPassword(String password) {\n        this.password = password;\n    }\n}\n\n则POJO数据:\nPerson person = new PersonImpl(); \nperson.setName(\"xxx\"); \nperson.setPassword(\"yyy\");\n\n可用下面Map表示:\nMap map = new HashMap(); \nmap.put(\"class\", \"com.xxx.PersonImpl\"); // 注意:如果参数类型是接口,或者List等丢失泛型,可通过class属性指定类型。\nmap.put(\"name\", \"xxx\"); \nmap.put(\"password\", \"yyy\");\n\n"},"demos/泛化实现.html":{"url":"demos/泛化实现.html","title":"4.18 泛化实现","keywords":"","body":"\n泛接口实现方式主要用于服务器端没有API接口及模型类元的情况,参数及返回值中的所有POJO均用Map表示,通常用于框架集成,比如:实现一个通用的远程服务Mock框架,可通过实现GenericService接口处理所有服务请求。\n\n\n\n\npackage com.foo;\npublic class MyGenericService implements GenericService {\n\n    public Object $invoke(String methodName, String[] parameterTypes, Object[] args) throws GenericException {\n        if (\"sayHello\".equals(methodName)) {\n            return \"Welcome \" + args[0];\n        }\n    }\n}\n\n... \nGenericService xxxService = new XxxGenericService(); // 用com.alibaba.dubbo.rpc.service.GenericService可以替代所有接口实现 \n\nServiceConfig service = new ServiceConfig(); // 该实例很重量,里面封装了所有与注册中心及服务提供方连接,请缓存\nservice.setInterface(\"com.xxx.XxxService\"); // 弱类型接口名 \nservice.setVersion(\"1.0.0\"); \nservice.setRef(xxxService); // 指向一个通用服务实现 \n\n// 暴露及注册服务 \nservice.export();\n\n"},"demos/回声测试.html":{"url":"demos/回声测试.html","title":"4.19 回声测试","keywords":"","body":"\n回声测试用于检测服务是否可用,回声测试按照正常请求流程执行,能够测试整个调用是否通畅,可用于监控。\n所有服务自动实现EchoService接口,只需将任意服务引用强制转型为EchoService,即可使用。\n\n\n\nMemberService memberService = ctx.getBean(\"memberService\"); // 远程服务引用\n\nEchoService echoService = (EchoService) memberService; // 强制转型为EchoService\n\nString status = echoService.$echo(\"OK\"); // 回声测试可用性\n\nassert(status.equals(\"OK\"));\n\n"},"demos/上下文信息.html":{"url":"demos/上下文信息.html","title":"4.20 上下文信息","keywords":"","body":"\n上下文中存放的是当前调用过程中所需的环境信息。\n所有配置信息都将转换为URL的参数,参见 配置项一览表 中的“对应URL参数”一列。\n注意\nRpcContext是一个ThreadLocal的临时状态记录器,当接收到RPC请求,或发起RPC请求时,RpcContext的状态都会变化。\n比如:A调B,B再调C,则B机器上,在B调C之前,RpcContext记录的是A调B的信息,在B调C之后,RpcContext记录的是B调C的信息。\n\n(1) 服务消费方\nxxxService.xxx(); // 远程调用\nboolean isConsumerSide = RpcContext.getContext().isConsumerSide(); // 本端是否为消费端,这里会返回true\nString serverIP = RpcContext.getContext().getRemoteHost(); // 获取最后一次调用的提供方IP地址\nString application = RpcContext.getContext().getUrl().getParameter(\"application\"); // 获取当前服务配置信息,所有配置信息都将转换为URL的参数\n// ...\nyyyService.yyy(); // 注意:每发起RPC调用,上下文状态会变化\n// ...\n\n(2) 服务提供方\npublic class XxxServiceImpl implements XxxService {\n\n    public void xxx() { // 服务方法实现\n        boolean isProviderSide = RpcContext.getContext().isProviderSide(); // 本端是否为提供端,这里会返回true\n        String clientIP = RpcContext.getContext().getRemoteHost(); // 获取调用方IP地址\n        String application = RpcContext.getContext().getUrl().getParameter(\"application\"); // 获取当前服务配置信息,所有配置信息都将转换为URL的参数\n        // ...\n        yyyService.yyy(); // 注意:每发起RPC调用,上下文状态会变化\n        boolean isProviderSide = RpcContext.getContext().isProviderSide(); // 此时本端变成消费端,这里会返回false\n        // ...\n    } \n}\n\n"},"demos/隐式传参.html":{"url":"demos/隐式传参.html","title":"4.21 隐式参数","keywords":"","body":"\n 注:path,group,version,dubbo,token,timeout几个key有特殊处理,请使用其它key值。\n\n\n(1) 服务消费方\nRpcContext.getContext().setAttachment(\"index\", \"1\"); // 隐式传参,后面的远程调用都会隐式将这些参数发送到服务器端,类似cookie,用于框架集成,不建议常规业务使用\nxxxService.xxx(); // 远程调用\n// ...\n\n\n注: setAttachment设置的KV,在完成下面一次远程调用会被清空。即多次远程调用要多次设置。\n\n(2) 服务提供方\npublic class XxxServiceImpl implements XxxService {\n\n    public void xxx() { // 服务方法实现\n        String index = RpcContext.getContext().getAttachment(\"index\"); // 获取客户端隐式传入的参数,用于框架集成,不建议常规业务使用\n        // ...\n    }\n}\n\n"},"demos/异步调用.html":{"url":"demos/异步调用.html","title":"4.22 异步调用","keywords":"","body":"\n基于NIO的非阻塞实现并行调用,客户端不需要启动多线程即可完成并行调用多个远程服务,相对多线程开销较小。\n2.0.6及其以上版本支持\n\n\n配置声明:\nconsumer.xml\n\n      \n\n\n      \n\n\n调用代码:\nfooService.findFoo(fooId); // 此调用会立即返回null\nFuture fooFuture = RpcContext.getContext().getFuture(); // 拿到调用的Future引用,当结果返回后,会被通知和设置到此Future。\n\nbarService.findBar(barId); // 此调用会立即返回null\nFuture barFuture = RpcContext.getContext().getFuture(); // 拿到调用的Future引用,当结果返回后,会被通知和设置到此Future。\n\n// 此时findFoo和findBar的请求同时在执行,客户端不需要启动多线程来支持并行,而是借助NIO的非阻塞完成。\n\nFoo foo = fooFuture.get(); // 如果foo已返回,直接拿到返回值,否则线程wait住,等待foo返回后,线程会被notify唤醒。\nBar bar = barFuture.get(); // 同理等待bar返回。\n\n// 如果foo需要5秒返回,bar需要6秒返回,实际只需等6秒,即可获取到foo和bar,进行接下来的处理。\n\n你也可以设置是否等待消息发出:(异步总是不等待返回)\n\nsent=\"true\" 等待消息发出,消息发送失败将抛出异常。\nsent=\"false\" 不等待消息发出,将消息放入IO队列,即刻返回。\n\n\n\n如果你只是想异步,完全忽略返回值,可以配置 return=\"false\",以减少Future对象的创建和管理成本:\n\n\n"},"demos/本地调用.html":{"url":"demos/本地调用.html","title":"4.23 本地调用","keywords":"","body":"\n本地调用,使用了Injvm协议,是一个伪协议,它不开启端口,不发起远程调用,只在JVM内直接关联,但执行Dubbo的Filter链。\n\n定义 injvm 协议:\n\n\n设置默认协议:\n\n\n设置服务协议:\n\n\n优先使用 injvm:\n\n\n\n或\n\n\n\n\n注意:服务暴露与服务引用都需要声明 injvm=\"true\"\n\n自动暴露、引用本地服务\n从 dubbo 2.2.0 开始,每个服务默认都会在本地暴露。在引用服务的时候,默认优先引用本地服务。如果希望引用远程服务可以使用一下配置强制引用远程服务。\n\n\n"},"demos/参数回调.html":{"url":"demos/参数回调.html","title":"4.24 参数回调","keywords":"","body":"\n参数回调方式与调用本地callback或listener相同,只需要在Spring的配置文件中声明哪个参数是callback类型即可,Dubbo将基于长连接生成反向代理,这样就可以从服务器端调用客户端逻辑。\n2.0.6及其以上版本支持  \n代码参见:https://github.com/alibaba/dubbo/tree/master/dubbo-test/dubbo-test-examples/src/main/java/com/alibaba/dubbo/examples/callback\n\n(1) 共享服务接口\n服务接口示例\nCallbackService.java\npackage com.callback;\n\npublic interface CallbackService {\n    void addListener(String key, CallbackListener listener);\n}\n\nCallbackListener.java\npackage com.callback;\n\npublic interface CallbackListener {\n    void changed(String msg);\n}\n\n(2) 服务提供者\n服务提供者接口实现示例\nCallbackServiceImpl.java\npackage com.callback.impl;\n\nimport java.text.SimpleDateFormat;\nimport java.util.Date;\nimport java.util.Map;\nimport java.util.concurrent.ConcurrentHashMap;\n\nimport com.callback.CallbackListener;\nimport com.callback.CallbackService;\n\npublic class CallbackServiceImpl implements CallbackService {\n\n    private final Map listeners = new ConcurrentHashMap();\n\n    public CallbackServiceImpl() {\n        Thread t = new Thread(new Runnable() {\n            public void run() {\n                while(true) {\n                    try {\n                        for(Map.Entry entry : listeners.entrySet()){\n                           try {\n                               entry.getValue().changed(getChanged(entry.getKey()));\n                           } catch (Throwable t) {\n                               listeners.remove(entry.getKey());\n                           }\n                        }\n                        Thread.sleep(5000); // 定时触发变更通知\n                    } catch (Throwable t) { // 防御容错\n                        t.printStackTrace();\n                    }\n                }\n            }\n        });\n        t.setDaemon(true);\n        t.start();\n    }\n\n    public void addListener(String key, CallbackListener listener) {\n        listeners.put(key, listener);\n        listener.changed(getChanged(key)); // 发送变更通知\n    }\n\n    private String getChanged(String key) {\n        return \"Changed: \" + new SimpleDateFormat(\"yyyy-MM-dd HH:mm:ss\").format(new Date());\n    }\n}\n\n服务提供者配置示例\n\n\n    \n        \n        \n        -->\n    \n\n\n(3) 服务消费者\n服务消费者配置示例\nconsumer.xml\n\n\n服务消费者调用示例\nCallbackServiceTest.java\nClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(\"classpath:consumer.xml\");\ncontext.start();\n\nCallbackService callbackService = (CallbackService) context.getBean(\"callbackService\");\n\ncallbackService.addListener(\"http://10.20.160.198/wiki/display/dubbo/foo.bar\", new CallbackListener(){\n    public void changed(String msg) {\n        System.out.println(\"callback1:\" + msg);\n    }\n});\n\n"},"demos/事件通知.html":{"url":"demos/事件通知.html","title":"4.25 事件通知","keywords":"","body":"\n在调用之前,调用之后,出现异常时,会触发oninvoke, onreturn, onthrow三个事件,可以配置当事件发生时,通知哪个类的哪个方法。\n支持版本:2.0.7之后\n\n(1) 服务提供者与消费者共享服务接口\nIDemoService.java\ninterface IDemoService {\n    public Person get(int id);\n}\n\n(2) 服务提供者实现\nDemoServiceImpl.java\n\nclass NormalDemoService implements IDemoService {\n    public Person get(int id) {\n        return new Person(id, \"charles`son\", 4);\n    }\n}\n\n(3) 服务提供者配置\nprovider.xml\n\n\n\n\n\n(4) 服务消费者Callback接口及实现\nNotify.java\ninterface Notify {\n    public void onreturn(Person msg, Integer id);\n    public void onthrow(Throwable ex, Integer id);\n}\n\nNotifyImpl.java\n\nclass NotifyImpl implements Notify {\n    public Map    ret    = new HashMap();\n    public Map errors = new HashMap();\n    public void onreturn(Person msg, Integer id) {\n        System.out.println(\"onreturn:\" + msg);\n        ret.put(id, msg);\n    }\n    public void onthrow(Throwable ex, Integer id) {\n        errors.put(id, ex);\n    }\n}\n\n(5) 服务消费者Callback接口及实现\nconsumer.xml\n\n\n      \n\n\n\ncallback与async功能正交分解:\n\nasync=true,表示结果是否马上返回.  \nonreturn 表示是否需要回调.  \n\n组合情况:(async=false 默认)\n\n异步回调模式:async=true onreturn=\"xxx\"  \n同步回调模式:async=false onreturn=\"xxx\"  \n异步无回调 :async=true  \n同步无回调 :async=false  \n\n\n(6) TEST CASE\nTest.java\nIDemoService demoService = (IDemoService) context.getBean(\"demoService\");\nNofifyImpl notify = (NofifyImpl) context.getBean(\"demoCallback\");\nint requestId = 2;\nPerson ret = demoService.get(requestId);\nAssert.assertEquals(null, ret);\n//for Test:只是用来说明callback正常被调用,业务具体实现自行决定.\nfor (int i = 0; i \n"},"demos/本地存根.html":{"url":"demos/本地存根.html","title":"4.26 本地存根","keywords":"","body":"\n远程服务后,客户端通常只剩下接口,而实现全在服务器端,但提供方有些时候想在客户端也执行部分逻辑,比如:做ThreadLocal缓存,提前验证参数,调用失败后伪造容错数据等等,此时就需要在API中带上Stub,客户端生成Proxy实例,会把Proxy通过构造函数传给Stub,然后把Stub暴露组给用户,Stub可以决定要不要去调Proxy。\nStub必须有可传入Proxy的构造函数。\n\n\n\n\n或\n\n\napi.jar:\ncom.foo.BarService\ncom.foo.BarServiceStub // 在API旁边放一个Stub实现,它实现BarService接口,并有一个传入远程BarService实例的构造函数\n\npackage com.foo;\npublic class BarServiceStub implements BarService {\n\n    private final BarService barService;\n\n    // 构造函数传入真正的远程代理对象\n    public (BarService barService) {\n        this.barService = barService;\n    }\n\n    public String sayHello(String name) {\n        // 此代码在客户端执行\n        // 你可以在客户端做ThreadLocal本地缓存,或预先验证参数是否合法,等等\n        try {\n            return barService.sayHello(name);\n        } catch (Exception e) {\n            // 你可以容错,可以做任何AOP拦截事项\n            return \"容错数据\";\n        }\n    }\n}\n\n"},"demos/本地伪装.html":{"url":"demos/本地伪装.html","title":"4.27 本地伪装","keywords":"","body":"\nMock通常用于服务降级,比如某验权服务,当服务提供方全部挂掉后,客户端不抛出异常,而是通过Mock数据返回授权失败。\nMock是Stub的一个子集,便于服务提供方在客户端执行容错逻辑,因经常需要在出现RpcException(比如网络失败,超时等)时进行容错,而在出现业务异常(比如登录用户名密码错误)时不需要容错,如果用Stub,可能就需要捕获并依赖RpcException类,而用Mock就可以不依赖RpcException,因为它的约定就是只有出现RpcException时才执行。\n\n\n\n或\n\n\napi.jar:\ncom.foo.BarService\ncom.foo.BarServiceMock // 在API旁边放一个Mock实现,它实现BarService接口,并有一个无参构造函数\n\npackage com.foo;\npublic class BarServiceMock implements BarService {\n\n    public String sayHello(String name) {\n        // 你可以伪造容错数据,此方法只在出现RpcException时被执行\n        return \"容错数据\";\n    }\n}\n\n如果服务的消费方经常需要try-catch捕获异常,如:\nOffer offer = null;\ntry {\n    offer = offerService.findOffer(offerId);\n} catch (RpcException e) {\n   logger.error(e);\n}\n\n请考虑改为Mock实现,并在Mock中return null。\n如果只是想简单的忽略异常,在2.0.11以上版本可用:\n\n\n"},"demos/延迟暴露.html":{"url":"demos/延迟暴露.html","title":"4.28 延迟暴露","keywords":"","body":"\n如果你的服务需要warmup时间,比如初始化缓存,等待相关资源就位等,可以使用delay进行延迟暴露。\n\n延迟5秒暴露服务\n\n\n延迟到Spring初始化完成后,再暴露服务:(基于Spring的ContextRefreshedEvent事件触发暴露)\n\n\n\nSpring2.x初始化死锁问题\n!在Spring解析到时,就已经向外暴露了服务,而Spring还在接着初始化其它Bean。!如果这时有请求进来,并且服务的实现类里有调用applicationContext.getBean()的用法。\n!1. 请求线程的applicationContext.getBean()调用,先同步singletonObjects判断Bean是否存在,不存在就同步beanDefinitionMap进行初始化,并再次同步singletonObjects写入Bean实例缓存。2. 而Spring初始化线程,因不需要判断Bean的存在,直接同步beanDefinitionMap进行初始化,并同步singletonObjects写入Bean实例缓存。  \n这样就导致getBean线程,先锁singletonObjects,再锁beanDefinitionMap,再次锁singletonObjects。而Spring初始化线程,先锁beanDefinitionMap,再锁singletonObjects。反向锁导致线程死锁,不能提供服务,启动不了。  \n规避办法\n\n强烈建议不要在服务的实现类中有applicationContext.getBean()的调用,全部采用IoC注入的方式使用Spring的Bean。\n如果实在要调getBean(),可以将Dubbo的配置放在Spring的最后加载。\n如果不想依赖配置顺序,可以使用 ,使Dubbo在Spring容器初始化完后,再暴露服务。\n如果大量使用getBean(),相当于已经把Spring退化为工厂模式在用,可以将Dubbo的服务隔离单独的Spring容器。\n\n\n"},"demos/并发控制.html":{"url":"demos/并发控制.html","title":"4.29 并发控制","keywords":"","body":"限制com.foo.BarService的每个方法,服务器端并发执行(或占用线程池线程数)不能超过10个:\n\n\n限制com.foo.BarService的sayHello方法,服务器端并发执行(或占用线程池线程数)不能超过10个:\n\n    \n\n\n限制com.foo.BarService的每个方法,每客户端并发执行(或占用连接的请求数)不能超过10个:\n\n\n或\n\n\n限制com.foo.BarService的sayHello方法,每客户端并发执行(或占用连接的请求数)不能超过10个:\n\n    \n\n\n或\n\n    \n\n\n如果  和  都配了actives, 优先,参见:配置的覆盖策略。\nLoad Balance 均衡\n配置服务的客户端的loadbalance属性为leastactive,此Loadbalance会调用并发数最小的Provider(Consumer端并发数)。\n\n\n或\n\n\n"},"demos/连接控制.html":{"url":"demos/连接控制.html","title":"4.30 连接控制","keywords":"","body":"限制服务器端接受的连接不能超过10个:(因为连接在Server上,所以配置在Provider上)\n\n\n\n\n限制客户端服务使用连接连接数:(如果是长连接,比如Dubbo协议,connections表示该服务对每个提供者建立的长连接数)\n\n\n或\n\n\n如果 和  都配了connections, 优先,参见:配置的覆盖策略\n"},"demos/延迟连接.html":{"url":"demos/延迟连接.html","title":"4.31 延迟连接","keywords":"","body":"\n延迟连接,用于减少长连接数,当有调用发起时,再创建长连接。\n只对使用长连接的dubbo协议生效。\n\n\n\n"},"demos/粘滞连接.html":{"url":"demos/粘滞连接.html","title":"4.32 粘滞连接","keywords":"","body":"\n粘滞连接用于有状态服务,尽可能让客户端总是向同一提供者发起调用,除非该提供者挂了,再连另一台。\n粘滞连接将自动开启延迟连接,以减少长连接数, 参见:延迟连接\n\n\n\n"},"demos/令牌验证.html":{"url":"demos/令牌验证.html","title":"4.33 令牌验证","keywords":"","body":"\n\n防止消费者绕过注册中心访问提供者\n在注册中心控制权限,以决定要不要下发令牌给消费者\n注册中心可灵活改变授权方式,而不需修改或升级提供者\n\n可以全局设置开启令牌验证\n\n\n\n\n\n\n也可在服务级别设置:\n\n\n\n\n\n\n还可在协议级别设置:\n\n\n\n\n\n\n"},"demos/路由规则.html":{"url":"demos/路由规则.html","title":"4.34 路由规则","keywords":"","body":"\n2.2.0以上版本支持,\n路由规则扩展点:路由扩展\n\n向注册中心写入路由规则:(通常由监控中心或治理中心的页面完成)\nRegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();\nRegistry registry = registryFactory.getRegistry(URL.valueOf(\"zookeeper://10.20.153.10:2181\"));\nregistry.register(URL.valueOf(\"condition://0.0.0.0/com.foo.BarService?category=routers&dynamic=false&rule=\" + URL.encode(\"http://10.20.160.198/wiki/display/dubbo/host = 10.20.153.10 => host = 10.20.153.11\") + \"));\n\n其中:\n\ncondition://\n表示路由规则的类型,支持条件路由规则和脚本路由规则,可扩展,必填。\n0.0.0.0\n表示对所有IP地址生效,如果只想对某个IP的生效,请填入具体IP,必填。\ncom.foo.BarService\n表示只对指定服务生效,必填。\ncategory=routers\n表示该数据为动态配置类型,必填。\ndynamic=false\n表示该数据为持久数据,当注册方退出时,数据依然保存在注册中心,必填。\nenabled=true\n覆盖规则是否生效,可不填,缺省生效。\nforce=false\n当路由结果为空时,是否强制执行,如果不强制执行,路由结果为空的路由规则将自动失效,可不填,缺省为flase。\nruntime=false\n是否在每次调用时执行路由规则,否则只在提供者地址列表变更时预先执行并缓存结果,调用时直接从缓存中获取路由结果。\n如果用了参数路由,必须设为true,需要注意设置会影响调用的性能,可不填,缺省为flase。\npriority=1\n路由规则的优先级,用于排序,优先级越大越靠前执行,可不填,缺省为0。\nrule=URL.encode(\"host = 10.20.153.10 => host = 10.20.153.11\")\n表示路由规则的内容,必填。\n\n条件路由规则\n基于条件表达式的路由规则,如:host = 10.20.153.10 => host = 10.20.153.11\n规则:\n\n\"=>\"之前的为消费者匹配条件,所有参数和消费者的URL进行对比,当消费者满足匹配条件时,对该消费者执行后面的过滤规则。\n\"=>\"之后为提供者地址列表的过滤条件,所有参数和提供者的URL进行对比,消费者最终只拿到过滤后的地址列表。\n如果匹配条件为空,表示对所有消费方应用,如:=> host != 10.20.153.11\n如果过滤条件为空,表示禁止访问,如:host = 10.20.153.10 =>\n\n表达式:\n\n参数支持:\n服务调用信息,如:method, argument 等 (暂不支持参数路由)\nURL本身的字段,如:protocol, host, port 等\n以及URL上的所有参数,如:application, organization 等\n\n\n条件支持:\n等号 = 表示\"匹配\",如:host = 10.20.153.10\n不等号 != 表示\"不匹配\",如:host != 10.20.153.10\n\n\n值支持:\n以逗号 , 分隔多个值,如:host != 10.20.153.10,10.20.153.11\n以星号 * 结尾,表示通配,如:host != 10.20.*\n以美元符 $ 开头,表示引用消费者参数,如:host = $host\n\n\n\n示例:\n\n排除预发布机:\n => host != 172.22.3.91\n\n白名单:\n 注意:一个服务只能有一条白名单规则,否则两条规则交叉,就都被筛选掉了) \n host != 10.20.153.10,10.20.153.11 =>\n\n黑名单:\n host = 10.20.153.10,10.20.153.11 =>\n\n服务寄宿在应用上,只暴露一部分的机器,防止整个集群挂掉:\n => host = 172.22.3.1*,172.22.3.2*\n\n为重要应用提供额外的机器:\n application != kylin => host != 172.22.3.95,172.22.3.96\n\n读写分离:\n method = find*,list*,get*,is* => host = 172.22.3.94,172.22.3.95,172.22.3.96\n method != find*,list*,get*,is* => host = 172.22.3.97,172.22.3.98\n\n前后台分离:\n application = bops => host = 172.22.3.91,172.22.3.92,172.22.3.93\n application != bops => host = 172.22.3.94,172.22.3.95,172.22.3.96\n\n隔离不同机房网段:\n host != 172.22.3.* => host != 172.22.3.*\n\n提供者与消费者部署在同集群内,本机只访问本机的服务:\n => host = $host\n\n\n脚本路由规则\n\n支持JDK脚本引擎的所有脚本,比如:javascript, jruby, groovy 等,通过 type=javascript 参数设置脚本类型,缺省为javascript。\n脚本没有沙箱约束,可执行任意代码,存在后门风险\n\n\"script://0.0.0.0/com.foo.BarService?category=routers&dynamic=false&rule=\" + URL.encode(\"function route(invokers) { ... } (invokers)\")\n基于脚本引擎的路由规则,如:\nfunction route(invokers) {\n    var result = new java.util.ArrayList(invokers.size());\n    for (i = 0; i \n"},"demos/配置规则.html":{"url":"demos/配置规则.html","title":"4.35 配置规则","keywords":"","body":"\n2.2.0 以上版本支持\n\n向注册中心写入动态配置覆盖规则:(通常由监控中心或治理中心的页面完成)\nRegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();\nRegistry registry = registryFactory.getRegistry(URL.valueOf(\"zookeeper://10.20.153.10:2181\"));\nregistry.register(URL.valueOf(\"override://0.0.0.0/com.foo.BarService?category=configurators&dynamic=false&application=foo&timeout=1000\"));\n\n其中:\n\noverride:// 表示数据采用覆盖方式,支持override和absent,可扩展,必填。\n0.0.0.0 表示对所有IP地址生效,如果只想覆盖某个IP的数据,请填入具体IP,必填。\ncom.foo.BarService 表示只对指定服务生效,必填。\ncategory=configurators 表示该数据为动态配置类型,必填。\ndynamic=false 表示该数据为持久数据,当注册方退出时,数据依然保存在注册中心,必填。\nenabled=true 覆盖规则是否生效,可不填,缺省生效。\napplication=foo 表示只对指定应用生效,可不填,表示对所有应用生效。\ntimeout=1000 表示将满足以上条件的timeout参数的值覆盖为1000。如果想覆盖其它参数,直接加在override的URL参数上。\n\n示例:\n\n禁用提供者:(通常用于临时踢除某台提供者机器,相似的,禁止消费者访问请使用路由规则)\n override://10.20.153.10/com.foo.BarService?category=configurators&dynamic=false&disbaled=true\n\n调整权重:(通常用于容量评估,缺省权重为100)\n override://10.20.153.10/com.foo.BarService?category=configurators&dynamic=false&weight=200\n\n调整负载均衡策略:(缺省负载均衡策略为random)\n override://10.20.153.10/com.foo.BarService?category=configurators&dynamic=false&loadbalance=leastactive\n\n服务降级:(通常用于临时屏蔽某个出错的非关键服务)\n override://0.0.0.0/com.foo.BarService?category=configurators&dynamic=false&application=foo&mock=force:return+null\n\n\n"},"demos/服务降级.html":{"url":"demos/服务降级.html","title":"4.36 服务降级","keywords":"","body":"\n2.2.0以上版本支持,\n参见:配置规则\n\n向注册中心写入动态配置覆盖规则:(通过由监控中心或治理中心的页面完成)\n\nRegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();\nRegistry registry = registryFactory.getRegistry(URL.valueOf(\"zookeeper://10.20.153.10:2181\"));\nregistry.register(URL.valueOf(\"override://0.0.0.0/com.foo.BarService?category=configurators&dynamic=false&application=foo&mock=force:return+null\"));\n\n其中:\nmock=force:return+null\n\n\n表示消费方对该服务的方法调用都直接返回null值,不发起远程调用。\n屏蔽不重要服务不可用时对调用方的影响。\n\n还可以改为:\nmock=fail:return+null\n\n\n表示消费方对该服务的方法调用在失败后,再返回null值,不抛异常。\n容忍不重要服务不稳定时对调用方的影响。\n\n"},"demos/优雅停机.html":{"url":"demos/优雅停机.html","title":"4.37 优雅停机","keywords":"","body":"\n  Dubbo是通过JDK的ShutdownHook来完成优雅停机的,所以如果用户使用\"kill -9 PID\"等强制关闭指令,是不会执行优雅停机的,只有通过\"kill PID\"时,才会执行。\n\n原理\n服务提供方\n\n停止时,先标记为不接收新请求,新请求过来时直接报错,让客户端重试其它机器。\n然后,检测线程池中的线程是否正在运行,如果有,等待所有线程执行完成,除非超时,则强制关闭。\n\n服务消费方\n\n停止时,不再发起新的调用请求,所有新的调用在客户端即报错。\n然后,检测有没有请求的响应还没有返回,等待响应返回,除非超时,则强制关闭。\n\n设置优雅停机超时时间,缺省超时时间是10秒:(超时则强制关闭)\n\n\n     \n\n\n如果ShutdownHook不能生效,可以自行调用:\nProtocolConfig.destroyAll();\n\n"},"demos/主机绑定.html":{"url":"demos/主机绑定.html","title":"4.38 主机绑定","keywords":"","body":"缺省主机IP查找顺序:\n\n通过LocalHost.getLocalHost()获取本机地址。\n如果是127.*等loopback地址,则扫描各网卡,获取网卡IP。\n\n注册的地址如果获取不正确,比如需要注册公网地址,可以:\n\n可以在/etc/hosts中加入:机器名 公网IP,比如:\n test1 205.182.23.201\n\n在dubbo.xml中加入主机地址的配置:\n \n\n\n或在dubbo.properties中加入主机地址的配置:\n dubbo.protocol.host=205.182.23.201\n\n\n缺省主机端口与协议相关:\n\ndubbo: 20880\nrmi: 1099\nhttp: 80\nhessian: 80\nwebservice: 80\nmemcached: 11211\nredis: 6379\n\n主机端口配置:\n\n在dubbo.xml中加入主机地址的配置:\n \n\n\n或在dubbo.properties中加入主机地址的配置:\n dubbo.protocol.dubbo.port=20880\n\n\n"},"demos/日志适配.html":{"url":"demos/日志适配.html","title":"4.39 日志适配","keywords":"","body":"\n2.2.1以上版本支持 \n扩展点:日志适配扩展\n\n缺省自动查找:\n\nlog4j\nslf4j\njcl\njdk\n\n可以通过以下方式配置日志输出策略\njava -Ddubbo.application.logger=log4j\n\ndubbo.properties\ndubbo.application.logger=log4j\ndubbo.xml\n\n\n"},"demos/访问日志.html":{"url":"demos/访问日志.html","title":"4.40 访问日志","keywords":"","body":"\n如果你想记录每一次请求信息,可开启访问日志,类似于apache的访问日志。\n此日志量比较大,请注意磁盘容量。\n\n将访问日志输出到当前应用的log4j日志:\n\n\n将访问日志输出到指定文件:\n\n\n"},"demos/服务容器.html":{"url":"demos/服务容器.html","title":"4.41 服务容器","keywords":"","body":"\n服务容器是一个standalone的启动程序,因为后台服务不需要Tomcat或JBoss等Web容器的功能,如果硬要用Web容器去加载服务提供方,增加复杂性,也浪费资源。\n服务容器只是一个简单的Main方法,并加载一个简单的Spring容器,用于暴露服务。\n服务容器的加载内容可以扩展,内置了spring, jetty, log4j等加载,可通过Container扩展点进行扩展,参见:Container。配置配在java命令-D参数或者dubbo.properties中\n\nSpring Container\n\n自动加载 META-INF/spring 目录下的所有 Spring 配置。\n配置spring配置加载位置:dubbo.spring.config=classpath*:META-INF/spring/*.xml\n\nJetty Container\n\n启动一个内嵌Jetty,用于汇报状态。\n配置:\ndubbo.jetty.port=8080 ----配置jetty启动端口\ndubbo.jetty.directory=/foo/bar ----配置可通过jetty直接访问的目录,用于存放静态文件\ndubbo.jetty.page=log,status,system ----配置显示的页面,缺省加载所有页面\n\n\n\nLog4j Container\n\n自动配置log4j的配置,在多进程启动时,自动给日志文件按进程分目录。\n配置:\ndubbo.log4j.file=/foo/bar.log ----配置日志文件路径\ndubbo.log4j.level=WARN ----配置日志级别\ndubbo.log4j.subdirectory=20880 ----配置日志子目录,用于多进程启动,避免冲突\n\n\n\n容器启动\n如:(缺省只加载spring)\njava com.alibaba.dubbo.container.Main\n\n或:(通过main函数参数传入要加载的容器)\njava com.alibaba.dubbo.container.Main spring jetty log4j\n\n或:(通过JVM启动参数传入要加载的容器)\njava com.alibaba.dubbo.container.Main -Ddubbo.container=spring,jetty,log4j\n\n或:(通过classpath下的dubbo.properties配置传入要加载的容器)\ndubbo.properties\ndubbo.container=spring,jetty,log4j\n"},"demos/ReferenceConfig缓存.html":{"url":"demos/ReferenceConfig缓存.html","title":"4.42 Reference Config缓存","keywords":"","body":"ReferenceConfig实例很重,封装了与注册中心的连接以及与提供者的连接,需要缓存,否则重复生成ReferenceConfig可能造成性能问题并且会有内存和连接泄漏。API方式编程时,容易忽略此问题。\nDubbo 2.4.0+版本,提供了简单的工具类ReferenceConfigCache用于缓存ReferenceConfig实例。\n使用方式如下:\nReferenceConfig reference = new ReferenceConfig();\nreference.setInterface(XxxService.class);\nreference.setVersion(\"1.0.0\");\n......\n\nReferenceConfigCache cache = ReferenceConfigCache.getCache();\nXxxService xxxService = cache.get(reference); // cache.get方法中会Cache Reference对象,并且调用ReferenceConfig.get方法启动ReferenceConfig\n// 注意! Cache会持有ReferenceConfig,不要在外部再调用ReferenceConfig的destroy方法,导致Cache内的ReferenceConfig失效!\n\n// 使用xxxService对象\nxxxService.sayHello();\n\n消除Cache中的ReferenceConfig,销毁ReferenceConfig并释放对应的资源。\nReferenceConfigCache cache = ReferenceConfigCache.getCache();\ncache.destroy(reference);\n\n缺省ReferenceConfigCache把相同服务Group、接口、版本的ReferenceConfig认为是相同,缓存一份。即以服务Group、接口、版本为缓存的Key。\n可以修改这个策略,在ReferenceConfigCache.getCache时,传一个KeyGenerator。详见ReferenceConfigCache类的方法。\nKeyGenerator keyGenerator = new ...\n\nReferenceConfigCache cache = ReferenceConfigCache.getCache(keyGenerator );\n\n"},"demos/分布式事务.html":{"url":"demos/分布式事务.html","title":"4.43 分布式事务","keywords":"","body":"\n基于JTA/XA规范实现。\n暂未实现。\n\n两阶段提交:\n\n"},"reference-apiconf/api.html":{"url":"reference-apiconf/api.html","title":"5 API参考手册","keywords":"","body":"\n Dubbo的常规功能,都保持零侵入,但有些功能不得不用API侵入才能实现。  \n Dubbo中除这里声明以外的接口或类,都是内部接口或扩展接口,普通用户请不要直接依赖,否则升级版本可能出现不兼容。\n\nAPI汇总如下:  \n配置API\ncom.alibaba.dubbo.config.ServiceConfig\ncom.alibaba.dubbo.config.ReferenceConfig\ncom.alibaba.dubbo.config.ProtocolConfig\ncom.alibaba.dubbo.config.RegistryConfig\ncom.alibaba.dubbo.config.MonitorConfig\ncom.alibaba.dubbo.config.ApplicationConfig\ncom.alibaba.dubbo.config.ModuleConfig\ncom.alibaba.dubbo.config.ProviderConfig\ncom.alibaba.dubbo.config.ConsumerConfig\ncom.alibaba.dubbo.config.MethodConfig\ncom.alibaba.dubbo.config.ArgumentConfig\n详细参见:API配置  \n注解API\ncom.alibaba.dubbo.config.annotation.Service\ncom.alibaba.dubbo.config.annotation.Reference\n详细参见:注解配置\n模型API\ncom.alibaba.dubbo.common.URL\ncom.alibaba.dubbo.rpc.RpcException\n上下文API\ncom.alibaba.dubbo.rpc.RpcContext\n详细参见:上下文信息 & 对方地址 & 隐式传参 & 异步调用\n服务API\ncom.alibaba.dubbo.rpc.service.GenericService\ncom.alibaba.dubbo.rpc.service.GenericException\n详细参见:泛化引用 & 泛化实现\ncom.alibaba.dubbo.rpc.service.EchoService\n详细参见:回声测试\n"},"reference-xmlconf/introduction.html":{"url":"reference-xmlconf/introduction.html","title":"6 schema配置参考手册","keywords":"","body":"\n这里以Xml Config为准,列举所有配置项,其它配置方式,请参见相应转换关系:Properties Config,Annotation Config,API Config\n注意:只有group,interface,version是服务的匹配条件,三者决定是不是同一个服务,其它配置项均为调优和治理参数。\n\n所有配置项分为三大类,参见下表中的\"作用\"一列。\n\n服务发现:表示该配置项用于服务的注册与发现,目的是让消费方找到提供方。\n服务治理:表示该配置项用于治理服务间的关系,或为开发测试提供便利条件。\n性能调优:表示该配置项用于调优性能,不同的选项对性能会产生影响。\n所有配置最终都将转换为URL表示,并由服务提供方生成,经注册中心传递给消费方,各属性对应URL的参数,参见配置项一览表中的\"对应URL参数\"列。\n\nURL格式:  \n\nprotocol://username:password@host:port/path?key=value&key=value\n\nSchema: http://code.alibabatech.com/schema/dubbo/dubbo.xsd\n"},"reference-xmlconf/dubbo-service.html":{"url":"reference-xmlconf/dubbo-service.html","title":"6.1 dubbo:service","keywords":"","body":"\n\n\n\n服务提供者暴露服务配置:配置类:com.alibaba.dubbo.config.ServiceConfig\n\n\n\n标签\n属性\n对应URL参数\n类型\n是否必填\n缺省值\n作用\n描述\n兼容性\n\n\n\n\n\ninterface\n\nclass\n必填\n\n服务发现\n服务接口名\n1.0.0以上版本\n\n\n\nref\n\nobject\n必填\n\n服务发现\n服务对象实现引用\n1.0.0以上版本\n\n\n\nversion\nversion\nstring\n可选\n0.0.0\n服务发现\n服务版本,建议使用两位数字版本,如:1.0,通常在接口不兼容时版本号才需要升级\n1.0.0以上版本\n\n\n\ngroup\ngroup\nstring\n可选\n\n服务发现\n服务分组,当一个接口有多个实现,可以用分组区分\n1.0.7以上版本\n\n\n\npath\n\nstring\n可选\n缺省为接口名\n服务发现\n服务路径 (注意:1.0不支持自定义路径,总是使用接口名,如果有1.0调2.0,配置服务路径可能不兼容)\n1.0.12以上版本\n\n\n\ndelay\ndelay\nint\n可选\n0\n性能调优\n延迟注册服务时间(毫秒) ,设为-1时,表示延迟到Spring容器初始化完成时暴露服务\n1.0.14以上版本\n\n\n\ntimeout\ntimeout\nint\n可选\n1000\n性能调优\n远程服务调用超时时间(毫秒)\n2.0.0以上版本\n\n\n\nretries\nretries\nint\n可选\n2\n性能调优\n远程服务调用重试次数,不包括第一次调用,不需要重试请设为0\n2.0.0以上版本\n\n\n\nconnections\nconnections\nint\n可选\n100\n性能调优\n对每个提供者的最大连接数,rmi、http、hessian等短连接协议表示限制连接数,dubbo等长连接协表示建立的长连接个数\n2.0.0以上版本\n\n\n\nloadbalance\nloadbalance\nstring\n可选\nrandom\n性能调优\n负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用\n2.0.0以上版本\n\n\n\nasync\nasync\nboolean\n可选\nfalse\n性能调优\n是否缺省异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程\n2.0.0以上版本\n\n\n\nstub\nstub\nclass/boolean\n可选\nfalse\n服务治理\n设为true,表示使用缺省代理类名,即:接口名 + Local后缀,服务接口客户端本地代理类名,用于在客户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象,构造函数如:public XxxServiceLocal(XxxService xxxService)\n2.0.0以上版本\n\n\n\nmock\nmock\nclass/boolean\n可选\nfalse\n服务治理\n设为true,表示使用缺省Mock类名,即:接口名 + Mock后缀,服务接口调用失败Mock实现类,该Mock类必须有一个无参构造函数,与Local的区别在于,Local总是被执行,而Mock只在出现非业务异常(比如超时,网络异常等)时执行,Local在远程调用之前执行,Mock在远程调用后执行。\n2.0.0以上版本\n\n\n\ntoken\ntoken\nstring/boolean\n可选\nfalse\n服务治理\n令牌验证,为空表示不开启,如果为true,表示随机生成动态令牌,否则使用静态令牌,令牌的作用是防止消费者绕过注册中心直接访问,保证注册中心的授权功能有效,如果使用点对点调用,需关闭令牌功能\n2.0.0以上版本\n\n\n\nregistry\n\nstring\n可选\n缺省向所有registry注册\n配置关联\n向指定注册中心注册,在多个注册中心时使用,值为的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可将值设为N/A\n2.0.0以上版本\n\n\n\nprovider\n\nstring\n可选\n缺使用第一个provider配置\n配置关联\n指定provider,值为的id属性\n2.0.0以上版本\n\n\n\ndeprecated\ndeprecated\nboolean\n可选\nfalse\n服务治理\n服务是否过时,如果设为true,消费方引用时将打印服务过时警告error日志\n2.0.5以上版本\n\n\n\ndynamic\ndynamic\nboolean\n可选\ntrue\n服务治理\n服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。\n2.0.5以上版本\n\n\n\naccesslog\naccesslog\nstring/boolean\n可选\nfalse\n服务治理\n设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件\n2.0.5以上版本\n\n\n\nowner\nowner\nstring\n可选\n\n服务治理\n服务负责人,用于服务治理,请填写负责人公司邮箱前缀\n2.0.5以上版本\n\n\n\ndocument\ndocument\nstring\n可选\n\n服务治理\n服务文档URL\n2.0.5以上版本\n\n\n\nweight\nweight\nint\n可选\n\n性能调优\n服务权重\n2.0.5以上版本\n\n\n\nexecutes\nexecutes\nint\n可选\n0\n性能调优\n服务提供者每服务每方法最大可并行执行请求数\n2.0.5以上版本\n\n\n\nactives\nactives\nint\n可选\n0\n性能调优\n每服务消费者每服务每方法最大并发调用数\n2.0.5以上版本\n\n\n\nproxy\nproxy\nstring\n可选\njavassist\n性能调优\n生成动态代理方式,可选:jdk/javassist\n2.0.5以上版本\n\n\n\ncluster\ncluster\nstring\n可选\nfailover\n性能调优\n集群方式,可选:failover/failfast/failsafe/failback/forking\n2.0.5以上版本\n\n\n\nfilter\nservice.filter\nstring\n可选\ndefault\n性能调优\n服务提供方远程调用过程拦截器名称,多个名称用逗号分隔\n2.0.5以上版本\n\n\n\nlistener\nexporter.listener\nstring\n可选\ndefault\n性能调优\n服务提供方导出服务监听器名称,多个名称用逗号分隔\n\n\n\n\nprotocol\n\nstring\n可选\n\n配置关联\n使用指定的协议暴露服务,在多协议时使用,值为的id属性,多个协议ID用逗号分隔\n2.0.5以上版本\n\n\n\nlayer\nlayer\nstring\n可选\n\n服务治理\n服务提供者所在的分层。如:biz、dao、intl:web、china:acton。\n2.0.7以上版本\n\n\n\nregister\nregister\nboolean\n可选\ntrue\n服务治理\n该协议的服务是否注册到注册中心\n2.0.8以上版本\n\n\n\n"},"reference-xmlconf/dubbo-reference.html":{"url":"reference-xmlconf/dubbo-reference.html","title":"6.2 dubbo:reference","keywords":"","body":"服务消费者引用服务配置:配置类:com.alibaba.dubbo.config.ReferenceConfig\n\n\n\n签\n属性\n对应URL参数\n类型\n是否必填\n缺省值\n作用\n描述\n兼容性\n\n\n\n\n\nid\n\nstring\n必填\n\n配置关联\n服务引用BeanId\n1.0.0以上版本\n\n\n\ninterface\n\nclass\n必填\n\n服务发现\n服务接口名\n1.0.0以上版本\n\n\n\nversion\nversion\nstring\n可选\n\n服务发现\n服务版本,与服务提供者的版本一致\n1.0.0以上版本\n\n\n\ngroup\ngroup\nstring\n可选\n\n服务发现\n服务分组,当一个接口有多个实现,可以用分组区分,必需和服务提供方一致\n1.0.7以上版本\n\n\n\ntimeout\ntimeout\nlong\n可选\n缺省使用 的timeout\n性能调优\n服务方法调用超时时间(毫秒)\n1.0.5以上版本\n\n\n\nretries\nretries\nint\n可选\n缺省使用 的retries\n性能调优\n远程服务调用重试次数,不包括第一次调用,不需要重试请设为0\n2.0.0以上版本\n\n\n\nconnections\nconnections\nint\n可选\n缺省使用 的connections\n性能调优\n对每个提供者的最大连接数,rmi、http、hessian等短连接协议表示限制连接数,dubbo等长连接协表示建立的长连接个数\n2.0.0以上版本\n\n\n\nloadbalance\nloadbalance\nstring\n可选\n缺省使用 的loadbalance\n性能调优\n负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用\n2.0.0以上版本\n\n\n\nasync\nasync\nboolean\n可选\n缺省使用\n的async\n性能调优\n是否异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程\n2.0.0以上版本\n\n\n\ngeneric\ngeneric\nboolean\n可选\n缺省使用\n的generic\n服务治理\n是否缺省泛化接口,如果为泛化接口,将返回GenericService\n2.0.0以上版本\n\n\n\ncheck\ncheck\nboolean\n可选\n缺省使用\n的check\n服务治理\n启动时检查提供者是否存在,true报错,false忽略\n2.0.0以上版本\n\n\n\nurl\n\n\nstring\n可选\n\n服务治理\n点对点直连服务提供者地址,将绕过注册中心\n1.0.6以上版本\n\n\n\nstub\nstub\nclass/boolean\n可选\n\n服务治理\n服务接口客户端本地代理类名,用于在客户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象,构造函数如:public XxxServiceLocal(XxxService xxxService)\n2.0.0以上版本\n\n\n\nmock\nmock\nclass/boolean\n可选\n\n服务治理\n服务接口调用失败Mock实现类名,该Mock类必须有一个无参构造函数,与Local的区别在于,Local总是被执行,而Mock只在出现非业务异常(比如超时,网络异常等)时执行,Local在远程调用之前执行,Mock在远程调用后执行。\nDubbo1.0.13及其以上版本支持\n\n\n\ncache\ncache\nstring/boolean\n可选\n\n服务治理\n以调用参数为key,缓存返回结果,可选:lru, threadlocal, jcache等\nDubbo2.1.0及其以上版本支持\n\n\n\nvalidation\nvalidation\nboolean\n可选\n\n服务治理\n是否启用JSR303标准注解验证,如果启用,将对方法参数上的注解进行校验\nDubbo2.1.0及其以上版本支持\n\n\n\nproxy\nproxy\nboolean\n可选\njavassist\n性能调优\n选择动态代理实现策略,可选:javassist, jdk\n2.0.2以上版本\n\n\n\nclient\nclient\nstring\n可选\n\n性能调优\n客户端传输类型设置,如Dubbo协议的netty或mina。\nDubbo2.0.0以上版本支持\n\n\n\nregistry\n\nstring\n可选\n缺省将从所有注册中心获服务列表后合并结果\n配置关联\n从指定注册中心注册获取服务列表,在多个注册中心时使用,值为\n的id属性,多个注册中心ID用逗号分隔\n2.0.0以上版本\n\n\n\nowner\nowner\nstring\n可选\n\n服务治理\n调用服务负责人,用于服务治理,请填写负责人公司邮箱前缀\n2.0.5以上版本\n\n\n\nactives\nactives\nint\n可选\n0\n性能调优\n每服务消费者每服务每方法最大并发调用数\n2.0.5以上版本\n\n\n\ncluster\ncluster\nstring\n可选\nfailover\n性能调优\n集群方式,可选:failover/failfast/failsafe/failback/forking\n2.0.5以上版本\n\n\n\nfilter\nreference.filter\nstring\n可选\ndefault\n性能调优\n服务消费方远程调用过程拦截器名称,多个名称用逗号分隔\n2.0.5以上版本\n\n\n\nlistener\ninvoker.listener\nstring\n可选\ndefault\n性能调优\n服务消费方引用服务监听器名称,多个名称用逗号分隔\n2.0.5以上版本\n\n\n\nlayer\nlayer\nstring\n可选\n\n服务治理\n服务调用者所在的分层。如:biz、dao、intl:web、china:acton。\n2.0.7以上版本\n\n\n\ninit\ninit\nboolean\n可选\nfalse\n性能调优\n是否在afterPropertiesSet()时饥饿初始化引用,否则等到有人注入或引用该实例时再初始化。\n2.0.10以上版本\n\n\n\nprotocol\nprotocol\nstring\n可选\n\n服力治理\n只调用指定协议的服务提供方,其它协议忽略。\n2.2.0以上版本\n\n\n\n"},"reference-xmlconf/dubbo-protocol.html":{"url":"reference-xmlconf/dubbo-protocol.html","title":"6.3 dubbo:protocol","keywords":"","body":"服务提供者协议配置:配置类:com.alibaba.dubbo.config.ProtocolConfig说明:如果需要支持多协议,可以声明多个|标签,并在|中通过protocol属性指定使用的协议。\n\n\n\n标签\n属性\n对应URL参数\n类型\n是否必填\n缺省值\n作用\n描述\n兼容性\n\n\n\n\n\nid\n\nstring\n可选\ndubbo\n配置关联\n协议BeanId,可以在\n中引用此ID,如果ID不填,缺省和name属性值一样,重复则在name后加序号。\n2.0.5以上版本\n\n\n\nname\n\n\nstring\n必填\ndubbo\n性能调优\n协议名称\n2.0.5以上版本\n\n\n\nport\n\n\nint\n可选\ndubbo协议缺省端口为20880,rmi协议缺省端口为1099,http和hessian协议缺省端口为80 如果配置为-1 或者 没有配置port,则会分配一个没有被占用的端口。Dubbo 2.4.0+,分配的端口在协议缺省端口的基础上增长,确保端口段可控。\n服务发现\n服务端口\n2.0.5以上版本\n\n\n\nhost\n\n\nstring\n可选\n自动查找本机IP\n服务发现\n-服务主机名,多网卡选择或指定VIP及域名时使用,为空则自动查找本机IP,-建议不要配置,让Dubbo自动获取本机IP\n2.0.5以上版本\n\n\n\nthreadpool\nthreadpool\nstring\n可选\nfixed\n性能调优\n线程池类型,可选:fixed/cached\n2.0.5以上版本\n\n\n\nthreads\nthreads\nint\n可选\n100\n性能调优\n服务线程池大小(固定大小)\n2.0.5以上版本\n\n\n\niothreads\nthreads\nint\n可选\ncpu个数+1\n性能调优\nio线程池大小(固定大小)\n2.0.5以上版本\n\n\n\naccepts\naccepts\nint\n可选\n0\n性能调优\n服务提供方最大可接受连接数\n2.0.5以上版本\n\n\n\npayload\npayload\nint\n可选\n88388608(=8M)\n性能调优\n请求及响应数据包大小限制,单位:字节\n2.0.5以上版本\n\n\n\ncodec\ncodec\nstring\n可选\ndubbo\n性能调优\n协议编码方式\n2.0.5以上版本\n\n\n\nserialization\nserialization\nstring\n可选\ndubbo协议缺省为hessian2,rmi协议缺省为java,http协议缺省为json\n性能调优\n协议序列化方式,当协议支持多种序列化方式时使用,比如:dubbo协议的dubbo,hessian2,java,compactedjava,以及http协议的json等\n2.0.5以上版本\n\n\n\naccesslog\naccesslog\nstring/boolean\n可选\n\n服务治理\n设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件\n2.0.5以上版本\n\n\n\npath\n\n\nstring\n可选\n\n服务发现\n提供者上下文路径,为服务path的前缀\n2.0.5以上版本\n\n\n\ntransporter\ntransporter\nstring\n可选\ndubbo协议缺省为netty\n性能调优\n协议的服务端和客户端实现类型,比如:dubbo协议的mina,netty等,可以分拆为server和client配置\n2.0.5以上版本\n\n\n\nserver\nserver\nstring\n可选\ndubbo协议缺省为netty,http协议缺省为servlet\n性能调优\n协议的服务器端实现类型,比如:dubbo协议的mina,netty等,http协议的jetty,servlet等\n2.0.5以上版本\n\n\n\nclient\nclient\nstring\n可选\ndubbo协议缺省为netty\n性能调优\n协议的客户端实现类型,比如:dubbo协议的mina,netty等\n2.0.5以上版本\n\n\n\ndispatcher\ndispatcher\nstring\n可选\ndubbo协议缺省为all\n性能调优\n协议的消息派发方式,用于指定线程模型,比如:dubbo协议的all, direct, message, execution, connection等\n2.1.0以上版本\n\n\n\nqueues\nqueues\nint\n可选\n0\n性能调优\n线程池队列大小,当线程池满时,排队等待执行的队列大小,建议不要设置,当线程程池时应立即失败,重试其它服务提供机器,而不是排队,除非有特殊需求。\n2.0.5以上版本\n\n\n\ncharset\ncharset\nstring\n可选\nUTF-8\n性能调优\n序列化编码\n2.0.5以上版本\n\n\n\nbuffer\nbuffer\nint\n可选\n8192\n性能调优\n网络读写缓冲区大小\n2.0.5以上版本\n\n\n\nheartbeat\nheartbeat\nint\n可选\n0\n性能调优\n心跳间隔,对于长连接,当物理层断开时,比如拔网线,TCP的FIN消息来不及发送,对方收不到断开事件,此时需要心跳来帮助检查连接是否已断开\n2.0.10以上版本\n\n\n\ntelnet\ntelnet\nstring\n可选\n\n服务治理\n所支持的telnet命令,多个命令用逗号分隔\n2.0.5以上版本\n\n\n\nregister\nregister\nboolean\n可选\ntrue\n服务治理\n该协议的服务是否注册到注册中心\n2.0.8以上版本\n\n\n\ncontextpath\ncontextpath\nString\n可选\n缺省为空串\n服务治理\n\n2.0.6以上版本\n\n\n\n"},"reference-xmlconf/dubbo-registry.html":{"url":"reference-xmlconf/dubbo-registry.html","title":"6.4 dubbo:registry","keywords":"","body":"注册中心配置:配置类:com.alibaba.dubbo.config.RegistryConfig说明:如果有多个不同的注册中心,可以声明多个|标签,并在|或|的registry属性指定使用的注册中心。\n\n\n\n标签\n属性\n对应URL参数\n类型\n是否必填\n缺省值\n作用\n描述\n兼容性\n\n\n\n\n\nid\n\nstring\n可选\n\n配置关联\n注册中心引用BeanId,可以在\n或\n中引用此ID\n1.0.16以上版本\n\n\n\naddress\n\n\nstring\n必填\n\n服务发现\n注册中心服务器地址,如果地址没有端口缺省为9090,同一集群内的多个地址用逗号分隔,如:ip:port,ip:port,不同集群的注册中心,请配置多个\n标签\n1.0.16以上版本\n\n\n\nprotocol\n\n\nstring\n可选\ndubbo\n服务发现\n注同中心地址协议,支持dubbo, http, local三种协议,分别表示,dubbo地址,http地址,本地注册中心\n2.0.0以上版本\n\n\n\nport\n\n\nint\n可选\n9090\n服务发现\n注册中心缺省端口,当address没有带端口时使用此端口做为缺省值\n2.0.0以上版本\n\n\n\nusername\n\n\nstring\n可选\n\n服务治理\n登录注册中心用户名,如果注册中心不需要验证可不填\n2.0.0以上版本\n\n\n\npassword\n\n\nstring\n可选\n\n服务治理\n登录注册中心密码,如果注册中心不需要验证可不填\n2.0.0以上版本\n\n\n\ntransport\nregistry.transporter\nstring\n可选\nnetty\n性能调优\n网络传输方式,可选mina,netty\n2.0.0以上版本\n\n\n\ntimeout\nregistry.timeout\nint\n可选\n5000\n性能调优\n注册中心请求超时时间(毫秒)\n2.0.0以上版本\n\n\n\nsession\nregistry.session\nint\n可选\n60000\n性能调优\n注册中心会话超时时间(毫秒),用于检测提供者非正常断线后的脏数据,比如用心跳检测的实现,此时间就是心跳间隔,不同注册中心实现不一样。\n2.1.0以上版本\n\n\n\nfile\nregistry.file\nstring\n可选\n\n服务治理\n使用文件缓存注册中心地址列表及服务提供者列表,应用重启时将基于此文件恢复,注意:两个注册中心不能使用同一文件存储\n2.0.0以上版本\n\n\n\nwait\nregistry.wait\nint\n可选\n0\n性能调优\n停止时等待通知完成时间(毫秒)\n2.0.0以上版本\n\n\n\ncheck\ncheck\nboolean\n可选\ntrue\n服务治理\n注册中心不存在时,是否报错\n2.0.0以上版本\n\n\n\nregister\nregister\nboolean\n可选\ntrue\n服务治理\n是否向此注册中心注册服务,如果设为false,将只订阅,不注册\n2.0.5以上版本\n\n\n\nsubscribe\nsubscribe\nboolean\n可选\ntrue\n服务治理\n是否向此注册中心订阅服务,如果设为false,将只注册,不订阅\n2.0.5以上版本\n\n\n\ndynamic\ndynamic\nboolean\n可选\ntrue\n服务治理\n服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。\n2.0.5以上版本\n\n\n\n"},"reference-xmlconf/dubbo-monitor.html":{"url":"reference-xmlconf/dubbo-monitor.html","title":"6.5 dubbo:monitor","keywords":"","body":"监控中心配置:配置类:com.alibaba.dubbo.config.MonitorConfig\n\n\n\n标签\n属性\n对应URL参数\n类型\n是否必填\n缺省值\n作用\n描述\n兼容性\n\n\n\n\n\n>\nprotocol\nprotocol\nstring\n可选\ndubbo\n服务治理\n监控中心协议,如果为protocol=\"registry\",表示从注册中心发现监控中心地址,否则直连监控中心。\n2.0.9以上版本\n\n\n\n>\naddress\n\n\n>\nstring\n可选\nN/A\n服务治理\n直连监控中心服务器地址,address=\"10.20.130.230:12080\"\n1.0.16以上版本\n\n\n\n"},"reference-xmlconf/dubbo-application.html":{"url":"reference-xmlconf/dubbo-application.html","title":"6.6 dubbo:application","keywords":"","body":"应用信息配置:配置类:com.alibaba.dubbo.config.ApplicationConfig\n\n\n\n标签\n属性\n对应URL参数\n类型\n是否必填\n缺省值\n作用\n描述\n兼容性\n\n\n\n\n\nname\napplication\nstring\n必填\n\n服务治理\n当前应用名称,用于注册中心计算应用间依赖关系,注意:消费者和提供者应用名不要一样,此参数不是匹配条件,你当前项目叫什么名字就填什么,和提供者消费者角色无关,比如:kylin应用调用了morgan应用的服务,则kylin项目配成kylin,morgan项目配成morgan,可能kylin也提供其它服务给别人使用,但kylin项目永远配成kylin,这样注册中心将显示kylin依赖于morgan\n1.0.16以上版本\n\n\n\nversion\napplication.version\nstring\n可选\n\n服务治理\n当前应用的版本\n2.2.0以上版本\n\n\n\nowner\nowner\nstring\n可选\n\n服务治理\n应用负责人,用于服务治理,请填写负责人公司邮箱前缀\n2.0.5以上版本\n\n\n\norganization\norganization\nstring\n可选\n\n服务治理\n组织名称(BU或部门),用于注册中心区分服务来源,此配置项建议不要使用autoconfig,直接写死在配置中,比如china,intl,itu,crm,asc,dw,aliexpress等\n2.0.0以上版本\n\n\n\narchitecture\narchitecture\nstring\n可选\n\n服务治理\n用于服务分层对应的架构。如,intl、china。不同的架构使用不同的分层。\n2.0.7以上版本\n\n\n\nenvironment\nenvironment\nstring\n可选\n\n服务治理\n应用环境,如:develop/test/product,不同环境使用不同的缺省值,以及作为只用于开发测试功能的限制条件\n2.0.0以上版本\n\n\n\ncompiler\ncompiler\nstring\n可选\njavassist\n性能优化\nJava字节码编译器,用于动态类的生成,可选:jdk或javassist\n2.1.0以上版本\n\n\n\nlogger\nlogger\nstring\n可选\nslf4j\n性能优化\n日志输出方式,可选:slf4j,jcl,log4j,jdk\n2.2.0以上版本\n\n\n\n"},"reference-xmlconf/dubbo-module.html":{"url":"reference-xmlconf/dubbo-module.html","title":"6.7 dubbo:module","keywords":"","body":"模块信息配置:\n配置类:com.alibaba.dubbo.config.ModuleConfig\n\n\n\n标签\n属性\n对应URL参数\n类型\n是否必填\n缺省值\n作用\n描述\n兼容性\n\n\n\n\n\nname\nmodule\nstring\n必填\n\n服务治理\n当前模块名称,用于注册中心计算模块间依赖关系\n2.2.0以上版本\n\n\n\nversion\nmodule.version\nstring\n可选\n\n服务治理\n当前模块的版本\n2.2.0以上版本\n\n\n\nowner\nowner\nstring\n可选\n\n服务治理\n模块负责人,用于服务治理,请填写负责人公司邮箱前缀\n2.2.0以上版本\n\n\n\norganization\norganization\nstring\n可选\n\n服务治理\n组织名称(BU或部门),用于注册中心区分服务来源,此配置项建议不要使用autoconfig,直接写死在配置中,比如china,intl,itu,crm,asc,dw,aliexpress等\n2.2.0以上版本\n\n\n\n"},"reference-xmlconf/dubbo-provider.html":{"url":"reference-xmlconf/dubbo-provider.html","title":"6.8 dubbo:provider","keywords":"","body":"服务提供者缺省值配置:配置类:com.alibaba.dubbo.config.ProviderConfig说明:该标签为|和|标签的缺省值设置。\n\n\n\n标签\n属性\n对应URL参数\n类型\n是否必填\n缺省值\n作用\n描述\n兼容性\n\n\n\n\n\nid\n\nstring\n可选\ndubbo\n配置关联\n协议BeanId,可以在\n中引用此ID\n1.0.16以上版本\n\n\n\nprotocol\n\n\nstring\n可选\ndubbo\n性能调优\n协议名称\n1.0.16以上版本\n\n\n\nhost\n\n\nstring\n可选\n自动查找本机IP\n服务发现\n服务主机名,多网卡选择或指定VIP及域名时使用,为空则自动查找本机IP,建议不要配置,让Dubbo自动获取本机IP\n1.0.16以上版本\n\n\n\nthreads\nthreads\nint\n可选\n100\n性能调优\n服务线程池大小(固定大小)\n1.0.16以上版本\n\n\n\npayload\npayload\nint\n可选\n88388608(=8M)\n性能调优\n请求及响应数据包大小限制,单位:字节\n2.0.0以上版本\n\n\n\npath\n\n\nstring\n可选\n\n服务发现\n提供者上下文路径,为服务path的前缀\n2.0.0以上版本\n\n\n\nserver\nserver\nstring\n可选\ndubbo协议缺省为netty,http协议缺省为servlet\n性能调优\n协议的服务器端实现类型,比如:dubbo协议的mina,netty等,http协议的jetty,servlet等\n2.0.0以上版本\n\n\n\nclient\nclient\nstring\n可选\ndubbo协议缺省为netty\n性能调优\n协议的客户端实现类型,比如:dubbo协议的mina,netty等\n2.0.0以上版本\n\n\n\ncodec\ncodec\nstring\n可选\ndubbo\n性能调优\n协议编码方式\n2.0.0以上版本\n\n\n\nserialization\nserialization\nstring\n可选\ndubbo协议缺省为hessian2,rmi协议缺省为java,http协议缺省为json\n性能调优\n协议序列化方式,当协议支持多种序列化方式时使用,比如:dubbo协议的dubbo,hessian2,java,compactedjava,以及http协议的json,xml等\n2.0.5以上版本\n\n\n\ndefault\n\nboolean\n可选\nfalse\n配置关联\n是否为缺省协议,用于多协议\n1.0.16以上版本\n\n\n\nfilter\nservice.filter\nstring\n可选\n\n性能调优\n服务提供方远程调用过程拦截器名称,多个名称用逗号分隔\n2.0.5以上版本\n\n\n\nlistener\nexporter.listener\nstring\n可选\n\n性能调优\n服务提供方导出服务监听器名称,多个名称用逗号分隔\n2.0.5以上版本\n\n\n\nthreadpool\nthreadpool\nstring\n可选\nfixed\n性能调优\n线程池类型,可选:fixed/cached\n2.0.5以上版本\n\n\n\naccepts\naccepts\nint\n可选\n0\n性能调优\n服务提供者最大可接受连接数\n2.0.5以上版本\n\n\n\nversion\nversion\nstring\n可选\n0.0.0\n服务发现\n服务版本,建议使用两位数字版本,如:1.0,通常在接口不兼容时版本号才需要升级\n2.0.5以上版本\n\n\n\ngroup\ngroup\nstring\n可选\n\n服务发现\n服务分组,当一个接口有多个实现,可以用分组区分\n2.0.5以上版本\n\n\n\ndelay\ndelay\nint\n可选\n0\n性能调优\n延迟注册服务时间(毫秒)- ,设为-1时,表示延迟到Spring容器初始化完成时暴露服务\n2.0.5以上版本\n\n\n\ntimeout\ndefault.timeout\nint\n可选\n1000\n性能调优\n远程服务调用超时时间(毫秒)\n2.0.5以上版本\n\n\n\nretries\ndefault.retries\nint\n可选\n2\n性能调优\n远程服务调用重试次数,不包括第一次调用,不需要重试请设为0\n2.0.5以上版本\n\n\n\nconnections\ndefault.connections\nint\n可选\n0\n性能调优\n对每个提供者的最大连接数,rmi、http、hessian等短连接协议表示限制连接数,dubbo等长连接协表示建立的长连接个数\n2.0.5以上版本\n\n\n\nloadbalance\ndefault.loadbalance\nstring\n可选\nrandom\n性能调优\n负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用\n2.0.5以上版本\n\n\n\nasync\ndefault.async\nboolean\n可选\nfalse\n性能调优\n是否缺省异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程\n2.0.5以上版本\n\n\n\nstub\nstub\nboolean\n可选\nfalse\n服务治理\n设为true,表示使用缺省代理类名,即:接口名 + Local后缀。\n2.0.5以上版本\n\n\n\nmock\nmock\nboolean\n可选\nfalse\n服务治理\n设为true,表示使用缺省Mock类名,即:接口名 + Mock后缀。\n2.0.5以上版本\n\n\n\ntoken\ntoken\nboolean\n可选\nfalse\n服务治理\n令牌验证,为空表示不开启,如果为true,表示随机生成动态令牌\n2.0.5以上版本\n\n\n\nregistry\nregistry\nstring\n可选\n缺省向所有registry注册\n配置关联\n向指定注册中心注册,在多个注册中心时使用,值为\n的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可将值设为N/A\n2.0.5以上版本\n\n\n\ndynamic\ndynamic\nboolean\n可选\ntrue\n服务治理\n服务是否动态注册,如果设为false,注册后将显示后disable状态,需人工启用,并且服务提供者停止时,也不会自动取消册,需人工禁用。\n2.0.5以上版本\n\n\n\naccesslog\naccesslog\nstring/boolean\n可选\nfalse\n服务治理\n设为true,将向logger中输出访问日志,也可填写访问日志文件路径,直接把访问日志输出到指定文件\n2.0.5以上版本\n\n\n\nowner\nowner\nstring\n可选\n\n服务治理\n服务负责人,用于服务治理,请填写负责人公司邮箱前缀\n2.0.5以上版本\n\n\n\ndocument\ndocument\nstring\n可选\n\n服务治理\n服务文档URL\n2.0.5以上版本\n\n\n\nweight\nweight\nint\n可选\n\n性能调优\n服务权重\n2.0.5以上版本\n\n\n\nexecutes\nexecutes\nint\n可选\n0\n性能调优\n服务提供者每服务每方法最大可并行执行请求数\n2.0.5以上版本\n\n\n\nactives\ndefault.actives\nint\n可选\n0\n性能调优\n每服务消费者每服务每方法最大并发调用数\n2.0.5以上版本\n\n\n\nproxy\nproxy\nstring\n可选\njavassist\n性能调优\n生成动态代理方式,可选:jdk/javassist\n2.0.5以上版本\n\n\n\ncluster\ndefault.cluster\nstring\n可选\nfailover\n性能调优\n集群方式,可选:failover/failfast/failsafe/failback/forking\n2.0.5以上版本\n\n\n\ndeprecated\ndeprecated\nboolean\n可选\nfalse\n服务治理\n服务是否过时,如果设为true,消费方引用时将打印服务过时警告error日志\n2.0.5以上版本\n\n\n\nqueues\nqueues\nint\n可选\n0\n性能调优\n线程池队列大小,当线程池满时,排队等待执行的队列大小,建议不要设置,当线程程池时应立即失败,重试其它服务提供机器,而不是排队,除非有特殊需求。\n2.0.5以上版本\n\n\n\ncharset\ncharset\nstring\n可选\nUTF-8\n性能调优\n序列化编码\n2.0.5以上版本\n\n\n\nbuffer\nbuffer\nint\n可选\n8192\n性能调优\n网络读写缓冲区大小\n2.0.5以上版本\n\n\n\niothreads\niothreads\nint\n可选\nCPU + 1\n性能调优\nIO线程池,接收网络读写中断,以及序列化和反序列化,不处理业务,业务线程池参见threads配置,此线程池和CPU相关,不建议配置。\n2.0.5以上版本\n\n\n\ntelnet\ntelnet\nstring\n可选\n\n服务治理\n所支持的telnet命令,多个命令用逗号分隔\n2.0.5以上版本\n\n\n\ncontextpath\ncontextpath\nString\n可选\n缺省为空串\n服务治理\n\n2.0.6以上版本\n\n\n\nlayer\nlayer\nstring\n可选\n\n服务治理\n服务提供者所在的分层。如:biz、dao、intl:web、china:acton。\n2.0.7以上版本\n\n\n\n"},"reference-xmlconf/dubbo-consumer.html":{"url":"reference-xmlconf/dubbo-consumer.html","title":"6.9 dubbo:consumer","keywords":"","body":"服务消费者缺省值配置:配置类:com.alibaba.dubbo.config.ConsumerConfig说明:该标签为|标签的缺省值设置。\n\n\n\n标签\n属性\n对应URL参数\n类型\n是否必填\n缺省值\n作用\n描述\n兼容性\n\n\n\n\n\ntimeout\ndefault.timeout\nint\n可选\n1000\n性能调优\n远程服务调用超时时间(毫秒)\n1.0.16以上版本\n\n\n\nretries\ndefault.retries\nint\n可选\n2\n性能调优\n远程服务调用重试次数,不包括第一次调用,不需要重试请设为0\n1.0.16以上版本\n\n\n\nloadbalance\ndefault.loadbalance\nstring\n可选\nrandom\n性能调优\n负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用\n1.0.16以上版本\n\n\n\nasync\ndefault.async\nboolean\n可选\nfalse\n性能调优\n是否缺省异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程\n2.0.0以上版本\n\n\n\nconnections\ndefault.connections\nint\n可选\n100\n性能调优\n每个服务对每个提供者的最大连接数,rmi、http、hessian等短连接协议支持此配置,dubbo协议长连接不支持此配置\n1.0.16以上版本\n\n\n\ngeneric\ngeneric\nboolean\n可选\nfalse\n服务治理\n是否缺省泛化接口,如果为泛化接口,将返回GenericService\n2.0.0以上版本\n\n\n\ncheck\ncheck\nboolean\n可选\ntrue\n服务治理\n启动时检查提供者是否存在,true报错,false忽略\n1.0.16以上版本\n\n\n\nproxy\nproxy\nstring\n可选\njavassist\n性能调优\n生成动态代理方式,可选:jdk/javassist\n2.0.5以上版本\n\n\n\nowner\nowner\nstring\n可选\n\n服务治理\n调用服务负责人,用于服务治理,请填写负责人公司邮箱前缀\n2.0.5以上版本\n\n\n\nactives\ndefault.actives\nint\n可选\n0\n性能调优\n每服务消费者每服务每方法最大并发调用数\n2.0.5以上版本\n\n\n\ncluster\ndefault.cluster\nstring\n可选\nfailover\n性能调优\n集群方式,可选:failover/failfast/failsafe/failback/forking\n2.0.5以上版本\n\n\n\nfilter\nreference.filter\nstring\n可选\n\n性能调优\n服务消费方远程调用过程拦截器名称,多个名称用逗号分隔\n2.0.5以上版本\n\n\n\nlistener\ninvoker.listener\nstring\n可选\n\n性能调优\n服务消费方引用服务监听器名称,多个名称用逗号分隔\n2.0.5以上版本\n\n\n\nregistry\n\nstring\n可选\n缺省向所有registry注册\n配置关联\n向指定注册中心注册,在多个注册中心时使用,值为\n的id属性,多个注册中心ID用逗号分隔,如果不想将该服务注册到任何registry,可将值设为N/A\n2.0.5以上版本\n\n\n\nlayer\nlayer\nstring\n可选\n\n服务治理\n服务调用者所在的分层。如:biz、dao、intl:web、china:acton。\n2.0.7以上版本\n\n\n\ninit\ninit\nboolean\n可选\nfalse\n性能调优\n是否在afterPropertiesSet()时饥饿初始化引用,否则等到有人注入或引用该实例时再初始化。\n2.0.10以上版本\n\n\n\ncache\ncache\nstring/boolean\n可选\n\n服务治理\n以调用参数为key,缓存返回结果,可选:lru, threadlocal, jcache等\nDubbo2.1.0及其以上版本支持\n\n\n\nvalidation\nvalidation\nboolean\n可选\n\n服务治理\n是否启用JSR303标准注解验证,如果启用,将对方法参数上的注解进行校验\nDubbo2.1.0及其以上版本支持\n\n\n\n"},"reference-xmlconf/dubbo-method.html":{"url":"reference-xmlconf/dubbo-method.html","title":"6.10 dubbo:method","keywords":"","body":"方法级配置:配置类:com.alibaba.dubbo.config.MethodConfig说明:该标签为|或|的子标签,用于控制到方法级,\n\n\n\n标签\n属性\n对应URL参数\n类型\n是否必填\n缺省值\n作用\n描述\n兼容性\n\n\n\n\n\nname\n\nstring\n必填\n\n标识\n方法名\n1.0.8以上版本\n\n\n\ntimeout\n\n.timeout\nint\n可选\n缺省为的timeout\n性能调优\n方法调用超时时间(毫秒)\n1.0.8以上版本\n\n\n\nretries\n\n.retries\nint\n可选\n缺省为\n的retries\n性能调优\n远程服务调用重试次数,不包括第一次调用,不需要重试请设为0\n2.0.0以上版本\n\n\n\nloadbalance\n\n.loadbalance\nstring\n可选\n缺省为的loadbalance\n性能调优\n负载均衡策略,可选值:random,roundrobin,leastactive,分别表示:随机,轮循,最少活跃调用\n2.0.0以上版本\n\n\n\nasync\n\n.async\nboolean\n可选\n缺省为\n的async\n性能调优\n是否异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程\n1.0.9以上版本\n\n\n\nsent\n\n.sent\nboolean\n可选\ntrue\n性能调优\n异步调用时,标记sent=true时,表示网络已发出数据\n2.0.6以上版本\n\n\n\nactives\n\n.actives\nint\n可选\n0\n性能调优\n每服务消费者最大并发调用限制\n2.0.5以上版本\n\n\n\nexecutes\n\n.executes\nint\n可选\n0\n性能调优\n每服务每方法最大使用线程数限制- -,此属性只在\n作为\n子标签时有效\n2.0.5以上版本\n\n\n\ndeprecated\n\n.deprecated\nboolean\n可选\nfalse\n服务治理\n服务方法是否过时,此属性只在\n作为\n子标签时有效\n2.0.5以上版本\n\n\n\nsticky\n\n.sticky\nboolean\n可选\nfalse\n服务治理\n设置true 该接口上的所有方法使用同一个provider.如果需要更复杂的规则,请使用用路由\n2.0.6以上版本\n\n\n\nreturn\n\n.return\nboolean\n可选\ntrue\n性能调优\n方法调用是否需要返回值,async设置为true时才生效,如果设置为true,则返回future,或回调onreturn等方法,如果设置为false,则请求发送成功后直接返回Null\n2.0.6以上版本\n\n\n\noninvoke\nattribute属性,不在URL中体现\nString\n可选\n\n性能调优\n方法执行前拦截\n2.0.6以上版本\n\n\n\nonreturn\nattribute属性,不在URL中体现\nString\n可选\n\n性能调优\n方法执行返回后拦截\n2.0.6以上版本\n\n\n\nonthrow\nattribute属性,不在URL中体现\nString\n可选\n\n性能调优\n方法执行有异常拦截\n2.0.6以上版本\n\n\n\ncache\n\n.cache\nstring/boolean\n可选\n\n服务治理\n以调用参数为key,缓存返回结果,可选:lru, threadlocal, jcache等\nDubbo2.1.0及其以上版本支持\n\n\n\nvalidation\n\n.validation\nboolean\n可选\n\n服务治理\n是否启用JSR303标准注解验证,如果启用,将对方法参数上的注解进行校验\nDubbo2.1.0及其以上版本支持\n\n\n\n比如:  \n\n    \n\n\n"},"reference-xmlconf/dubbo-argument.html":{"url":"reference-xmlconf/dubbo-argument.html","title":"6.11 dubbo:argument","keywords":"","body":"方法参数配置:配置类:com.alibaba.dubbo.config.ArgumentConfig说明:该标签为|的子标签,用于方法参数的特征描述,比如:  \n|&lt;dubbo:method name=\"findXxx\" timeout=\"3000\" retries=\"2\"&gt;\n    |&lt;dubbo:argument index=\"0\" callback=\"true\" /&gt;\n|&lt;dubbo:method&gt;\n\n\n\n\n标签\n属性\n对应URL参数\n类型\n是否必填\n缺省值\n作用\n描述\n兼容性\n\n\n\n\n\nindex\n\nint\n必填\n\n标识\n方法名\n2.0.6以上版本\n\n\n\ntype\n\nString\n与index二选一\n\n标识\n通过参数类型查找参数的index\n2.0.6以上版本\n\n\n\ncallback\n\n\n.retries\nboolean\n可选\n\n服务治理\n参数是否为callback接口,如果为callback,服务提供方将生成反向代理,可以从服务提供方反向调用消费方,通常用于事件推送.\n2.0.6以上版本\n\n\n\n"},"reference-xmlconf/dubbo-parameter.html":{"url":"reference-xmlconf/dubbo-parameter.html","title":"6.12 dubbo:parameter","keywords":"","body":"选项参数配置:配置类:java.util.Map说明:该标签为|或|或|或|或|的子标签,用于配置自定义参数,该配置项将作为扩展点设置自定义参数使用。\n\n\n\n标签\n属性\n对应URL参数\n类型\n是否必填\n缺省值\n作用\n描述\n兼容性\n\n\n\n\n\nkey\nkey\nstring\n必填\n\n服务治理\n路由参数键\n2.0.0以上版本\n\n\n\nvalue\nvalue\nstring\n必填\n\n服务治理\n路由参数值\n2.0.0以上版本\n\n\n\n比如:  \n\n    \n\n\n也可以:  \n\n\n"},"reference-protocol/introduction.html":{"url":"reference-protocol/introduction.html","title":"7 协议参考手册","keywords":"","body":"\n推荐使用Dubbo协议\n性能测试报告    各协议的性能情况,请参见:性能测试报告\n\n"},"reference-protocol/dubbo.html":{"url":"reference-protocol/dubbo.html","title":"7.1 dubbo://","keywords":"","body":"\nDubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。\nDubbo缺省协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。\n\n\n\n设置默认协议:\n\n\n设置服务协议:\n\n\n多端口:\n\n\n\n\nTransporter: mina, netty, grizzy\nSerialization: dubbo, hessian2, java, json\nDispatcher: all, direct, message, execution, connection\nThreadPool: fixed, cached\n\n\nDubbo协议缺省每服务每提供者每消费者使用单一长连接,如果数据量较大,可以使用多个连接。\n\n\n\n\n 或  表示该服务使用JVM共享长连接。(缺省)\n 或  表示该服务使用独立长连接。\n 或 表示该服务使用独立两条长连接。\n\n\n为防止被大量连接撑挂,可在服务提供方限制大接收连接数,以实现服务提供方自我保护。\n\n\n\n缺省协议,使用基于mina1.1.7+hessian3.2.1的tbremoting交互。\n\n连接个数:单连接\n连接方式:长连接\n传输协议:TCP\n传输方式:NIO异步传输\n序列化:Hessian二进制序列化\n适用范围:传入传出参数数据包较小(建议小于100K),消费者比提供者个数多,单一消费者无法压满提供者,尽量不要用dubbo协议传输大文件或超大字符串。\n适用场景:常规远程服务方法调用\n\n为什么要消费者比提供者个数多?\n因dubbo协议采用单一长连接,假设网络为千兆网卡(1024Mbit=128MByte),根据测试经验数据每条连接最多只能压满7MByte(不同的环境可能不一样,供参考),理论上1个服务提供者需要20个服务消费者才能压满网卡。\n为什么不能传大包?\n因dubbo协议采用单一长连接,如果每次请求的数据包大小为500KByte,假设网络为千兆网卡(1024Mbit=128MByte),每条连接最大7MByte(不同的环境可能不一样,供参考),单个服务提供者的TPS(每秒处理事务数)最大为:128MByte / 500KByte = 262。单个消费者调用单个服务提供者的TPS(每秒处理事务数)最大为:7MByte / 500KByte = 14。如果能接受,可以考虑使用,否则网络将成为瓶颈。\n为什么采用异步单一长连接?\n因为服务的现状大都是服务提供者少,通常只有几台机器,而服务的消费者多,可能整个网站都在访问该服务,比如Morgan的提供者只有6台提供者,却有上百台消费者,每天有1.5亿次调用,如果采用常规的hessian服务,服务提供者很容易就被压跨,通过单一连接,保证单一消费者不会压死提供者,长连接,减少连接握手验证等,并使用异步IO,复用线程池,防止C10K问题。\n(1) 约束:\n\n参数及返回值需实现Serializable接口\n参数及返回值不能自定义实现List, Map, Number, Date, Calendar等接口,只能用JDK自带的实现,因为hessian会做特殊处理,自定义实现类中的属性值都会丢失。\nHessian序列化,只传成员属性值和值的类型,不传方法或静态变量,兼容情况:(由吴亚军提供)\n  数据通讯  | 情况 | 结果\n------------- | ------------- | -------------\nA->B  | 类A多一种 属性(或者说类B少一种 属性)| 不抛异常,A多的那 个属性的值,B没有, 其他正常\nA->B  | 枚举A多一种 枚举(或者说B少一种 枚举),A使用多 出来的枚举进行传输 | 抛异常\nA->B | 枚举A多一种 枚举(或者说B少一种 枚举),A不使用 多出来的枚举进行传输 | 不抛异常,B正常接 收数据\nA->B | A和B的属性 名相同,但类型不相同 | 抛异常\nA->B | serialId 不相同 | 正常传输\n  总结:会抛异常的情况:枚举值一边多一种,一边少一种,正好使用了差别的那种,或者属性名相同,类型不同\n\n\n接口增加方法,对客户端无影响,如果该方法不是客户端需要的,客户端不需要重新部署。输入参数和结果集中增加属性,对客户端无影响,如果客户端并不需要新属性,不用重新部署。\n输入参数和结果集属性名变化,对客户端序列化无影响,但是如果客户端不重新部署,不管输入还是输出,属性名变化的属性值是获取不到的。\n总结:服务器端和客户端对领域对象并不需要完全一致,而是按照最大匹配原则。\n(2) 配置:\ndubbo.properties\ndubbo.service.protocol=dubbo\n\n"},"reference-protocol/rmi.html":{"url":"reference-protocol/rmi.html","title":"7.2 rmi//","keywords":"","body":"\nRMI协议采用JDK标准的java.rmi.*实现,采用阻塞式短连接和JDK标准序列化方式。\n如果正在使用RMI提供服务给外部访问(公司内网环境应该不会有攻击风险),同时应用里依赖了老的common-collections包(dubbo不会依赖这个包,请排查自己的应用有没有使用)的情况下,存在反序列化安全风险。\n请检查应用:  \n\n将commons-collections3 请升级到 3.2.2版本  \n将commons-collections4 请升级到 4.1版本新版本的commons-collections解决了该问题\n\n\n如果服务接口继承了java.rmi.Remote接口,可以和原生RMI互操作,即:\n\n提供者用Dubbo的RMI协议暴露服务,消费者直接用标准RMI接口调用,\n或者提供方用标准RMI暴露服务,消费方用Dubbo的RMI协议调用。\n\n如果服务接口没有继承java.rmi.Remote接口\n\n缺省Dubbo将自动生成一个com.xxx.XxxService$Remote的接口,并继承java.rmi.Remote接口,并以此接口暴露服务,\n但如果设置了 ,将不生成$Remote接口,而使用Spring的RmiInvocationHandler接口暴露服务,和Spring兼容。\n\n定义 RMI 协议:\n\n\n设置默认协议:\n\n\n设置服务协议:\n\n\n多端口:\n\n\n\n\n\nSpring 兼容性:\n\n\nJava标准的远程调用协议\n\n连接个数:多连接\n连接方式:短连接\n传输协议:TCP\n传输方式:同步传输\n序列化:Java标准二进制序列化\n适用范围:传入传出参数数据包大小混合,消费者与提供者个数差不多,可传文件。\n适用场景:常规远程服务方法调用,与原生RMI服务互操作\n\n(1) 约束:\n\n参数及返回值需实现Serializable接口\ndubbo配置中的超时时间对rmi无效,需使用java启动参数设置:-Dsun.rmi.transport.tcp.responseTimeout=3000,参见下面的RMI配置\n\n(2) 配置:\ndubbo.properties\ndubbo.service.protocol=rmi\n(3) RMI配置:\njava -Dsun.rmi.transport.tcp.responseTimeout=3000\n\n更多RMI优化参数请查看:\nhttp://download.oracle.com/docs/cd/E17409_01/javase/6/docs/technotes/guides/rmi/sunrmiproperties.html\n"},"reference-protocol/hessian.html":{"url":"reference-protocol/hessian.html","title":"7.3 hessian://","keywords":"","body":"\nHessian协议用于集成Hessian的服务,Hessian底层采用Http通讯,采用Servlet暴露服务,Dubbo缺省内嵌Jetty作为服务器实现。\nHessian 是Caucho开源的一个 RPC 框架,其通讯效率高于WebService和Java自带的序列化。\n\n依赖:\n\n    com.caucho\n    hessian\n    4.0.7\n\n\n可以和原生Hessian服务互操作,即:\n\n提供者用Dubbo的Hessian协议暴露服务,消费者直接用标准Hessian接口调用,\n或者提供方用标准Hessian暴露服务,消费方用Dubbo的Hessian协议调用。\n\n基于Hessian的远程调用协议。\n\n连接个数:多连接\n连接方式:短连接\n传输协议:HTTP\n传输方式:同步传输\n序列化:Hessian二进制序列化\n适用范围:传入传出参数数据包较大,提供者比消费者个数多,提供者压力较大,可传文件。\n适用场景:页面传输,文件传输,或与原生hessian服务互操作\n\n(1) 约束:\n\n参数及返回值需实现Serializable接口\n参数及返回值不能自定义实现List, Map, Number, Date, Calendar等接口,只能用JDK自带的实现,因为hessian会做特殊处理,自定义实现类中的属性值都会丢失。\n\n(2) 配置:\n定义 hessian 协议:\n\n\n设置默认协议:\n\n\n设置 service 协议:\n\n\n多端口:\n\n\n\n直连:\n\n\n"},"reference-protocol/http.html":{"url":"reference-protocol/http.html","title":"7.4 http://","keywords":"","body":"\n 采用Spring的HttpInvoker实现  \n 2.3.0以上版本支持\n\n基于http表单的远程调用协议。参见:HTTP协议使用说明\n\n连接个数:多连接\n连接方式:短连接\n传输协议:HTTP\n传输方式:同步传输\n序列化:表单序列化\n适用范围:传入传出参数数据包大小混合,提供者比消费者个数多,可用浏览器查看,可用表单或URL传入参数,暂不支持传文件。\n适用场景:需同时给应用程序和浏览器JS使用的服务。\n\n(1) 约束:  \n\n参数及返回值需符合Bean规范\n\n(2) 配置:\ndubbo.xml:\n\n\nh4. Jetty Server: (default)\n\n\nh4. Servlet Bridge Server: (recommend)\n\n\nweb.xml:\n\n         dubbo\n         com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet\n         1\n\n\n         dubbo\n         /*\n\n\n注意,如果使用servlet派发请求:\n\n协议的端口必须与servlet容器的端口相同,\n协议的上下文路径必须与servlet应用的上下文路径相同。\n\n"},"reference-protocol/webservice.html":{"url":"reference-protocol/webservice.html","title":"7.5 webservice://","keywords":"","body":"\n 2.3.0以上版本支持。  \n 基于CXF的frontend-simple和transports-http实现。  \n CXF是Apache开源的一个RPC框架:http://cxf.apache.org,由Xfire和Celtix合并而来 。  \n\n依赖:\n\n    org.apache.cxf\n    cxf-rt-frontend-simple\n    2.6.1\n\n\n    org.apache.cxf\n    cxf-rt-transports-http\n    2.6.1\n\n\n可以和原生WebService服务互操作,即:  \n\n提供者用Dubbo的WebService协议暴露服务,消费者直接用标准WebService接口调用,\n或者提供方用标准WebService暴露服务,消费方用Dubbo的WebService协议调用。\n\n基于WebService的远程调用协议:  \n\n连接个数:多连接\n连接方式:短连接\n传输协议:HTTP\n传输方式:同步传输\n序列化:SOAP文本序列化\n适用场景:系统集成,跨语言调用。\n\n(1) 约束:  \n\n参数及返回值需实现Serializable接口\n参数尽量使用基本类型和POJO。\n\n(2) 配置:  \n\nDefine hessian protocol:\n\n\nSet default protocol:\n\n\nSet service protocol:\n\n\n\nMulti port:\n\n\n\nDirectly provider:\n\n\nWSDL:http://10.20.153.10:8080/com.foo.HelloWorld?wsdl\n\nh4. Jetty Server: (default)  \n\n\n\nh4. Servlet Bridge Server: (recommend)  \n\n\nweb.xml: \n\n         dubbo\n         com.alibaba.dubbo.remoting.http.servlet.DispatcherServlet\n         1\n\n\n         dubbo\n         /*\n\n\n注意,如果使用servlet派发请求:  \n\n协议的端口必须与servlet容器的端口相同,\n协议的上下文路径必须与servlet应用的上下文路径相同。\n\n"},"reference-protocol/thrift.html":{"url":"reference-protocol/thrift.html","title":"7.6 thrift://","keywords":"","body":"\n2.3.0以上版本支持。\nThrift 是Facebook捐给Apache的一个RPC框架\n当前 dubbo 支持的 thrift 协议是对 thrift 原生协议的扩展,在原生协议的基础上添加了一些额外的头信息,比如service name,magic number等。使用dubbo thrift协议同样需要使用thrift的idl compiler编译生成相应的java代码,后续版本中会在这方面做一些增强。\n\n示例:https://github.com/alibaba/dubbo/tree/master/dubbo-rpc/dubbo-rpc-thrift/src/test/java/com/alibaba/dubbo/rpc/protocol/thrift/examples\n依赖:\n\n    org.apache.thrift\n    libthrift\n    0.8.0\n\n\n所有服务共用一个端口:(与原生Thrift不兼容)\n\n\nThrift不支持数据类型:null值 (不能在协议中传递null值)\n"},"reference-protocol/memcached.html":{"url":"reference-protocol/memcached.html","title":"7.7 memcached://","keywords":"","body":"\n2.3.0以上版本支持。\nMemcached 是一个高效的KV缓存服务器。\n\n可以通过脚本或监控中心手工填写表单注册memcached服务的地址:\nRegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();\nRegistry registry = registryFactory.getRegistry(URL.valueOf(\"zookeeper://10.20.153.10:2181\"));\nregistry.register(URL.valueOf(\"memcached://10.20.153.11/com.foo.BarService?category=providers&dynamic=false&application=foo&group=member&loadbalance=consistenthash\"));\n\n然后在客户端使用时,不需要感知Memcached的地址:\n\n\n或者,点对点直连:\n\n\n也可以使用自定义接口:\n\n\n方法名建议和memcached的标准方法名相同,即:get(key), set(key, value), delete(key)。\n如果方法名和memcached的标准方法名不相同,则需要配置映射关系:(其中\"p:xxx\"为spring的标准p标签)\n\n\n"},"reference-protocol/redis.html":{"url":"reference-protocol/redis.html","title":"7.8 redis://","keywords":"","body":"\n2.3.0以上版本支持。\nRedis 是一个高效的KV存储服务器。\n\nRegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();\nRegistry registry = registryFactory.getRegistry(URL.valueOf(\"zookeeper://10.20.153.10:2181\"));\nregistry.register(URL.valueOf(\"redis://10.20.153.11/com.foo.BarService?category=providers&dynamic=false&application=foo&group=member&loadbalance=consistenthash\"));\n\n然后在客户端使用时,不需要感知Redis的地址:\n\n\n或者,点对点直连:\n\n\n也可以使用自定义接口:\n\n\n方法名建议和redis的标准方法名相同,即:get(key), set(key, value), delet(key)。\n如果方法名和redis的标准方法名不相同,则需要配置映射关系:(其中\"p:xxx\"为spring的标准p标签)\n\n\n"},"reference-registry/introduction.html":{"url":"reference-registry/introduction.html","title":"8 注册中心参考手册","keywords":"","body":"推荐使用Zookeeper注册中心\n"},"reference-registry/multicast.html":{"url":"reference-registry/multicast.html","title":"8.1 Multicast注册中心","keywords":"","body":"\n不需要启动任何中心节点,只要广播地址一样,就可以互相发现。\n组播受网络结构限制,只适合小规模应用或开发阶段使用。组播地址段: 224.0.0.0 - 239.255.255.255\n\n\n\n提供方启动时广播自己的地址。\n消费方启动时广播订阅请求。\n提供方收到订阅请求时,单播自己的地址给订阅者,如果设置了unicast=false,则广播给订阅者。\n消费方收到提供方地址时,连接该地址进行RPC调用。\n\n\n\n或\n\n\n为了减少广播量,Dubbo缺省使用单播发送提供者地址信息给消费者,如果一个机器上同时启了多个消费者进程,消费者需声明unicast=false,否则只会有一个消费者能收到消息:\n\n\n或\n\n    \n\n\n"},"reference-registry/zookeeper.html":{"url":"reference-registry/zookeeper.html","title":"8.2 Zookeeper注册中心","keywords":"","body":"\n建议使用dubbo-2.3.3以上版本的zookeeper注册中心客户端。\nZookeeper说明Zookeeper 是Apacahe Hadoop的子项目,是一个树型的目录服务,支持变更推送,适合作为Dubbo服务的注册中心,工业强度较高,可用于生产环境,并推荐使用。\nZookeeper安装安装方式参见: Zookeeper安装手册,只需搭一个原生的Zookeeper 服务器,并将 Quick Start 中Provider和Consumer里的conf/dubbo.properties中的dubbo.registry.addrss的值改为zookeeper://127.0.0.1:2181即可使用。\n可靠性声明阿里内部并没有采用Zookeeper做为注册中心,而是使用自己实现的基于数据库的注册中心,即:Zookeeper注册中心并没有在阿里内部长时间运行的可靠性保障,此Zookeeper桥接实现只为开源版本提供,其可靠性依赖于Zookeeper本身的可靠性。\n兼容性声明因2.0.8最初设计的zookeeper存储结构不能扩充不同类型的数据,2.0.9版本做了调整,所以不兼容,需全部改用2.0.9版本才行,以后的版本会保持兼容2.0.9。2.2.0版本改为基于zkclient实现,需增加zkclient的依赖包,2.3.0版本增加了基于curator的实现,作为可选实现策略。\n\n\n流程说明:\n\n服务提供者启动时: 向/dubbo/com.foo.BarService/providers目录下写入自己的URL地址。\n服务消费者启动时: 订阅/dubbo/com.foo.BarService/providers目录下的提供者URL地址。并向/dubbo/com.foo.BarService/consumers目录下写入自己的URL地址。\n监控中心启动时: 订阅/dubbo/com.foo.BarService目录下的所有提供者和消费者URL地址。\n\n支持以下功能:\n\n当提供者出现断电等异常停机时,注册中心能自动删除提供者信息。\n当注册中心重启时,能自动恢复注册数据,以及订阅请求。\n当会话过期时,能自动恢复注册数据,以及订阅请求。\n当设置  时,记录失败注册和订阅请求,后台定时重试。\n可通过  设置zookeeper登录信息。\n可通过  设置zookeeper的根节点,不设置将使用无根树。\n支持 * 号通配符 ,可订阅服务的所有分组和所有版本的提供者。\n\n在provider和consumer中增加zookeeper客户端jar包依赖:\n\n    org.apache.zookeeper\n    zookeeper\n    3.3.3\n\n\n或直接下载:http://repo1.maven.org/maven2/org/apache/zookeeper/zookeeper\n支持zkclient和curator两种Zookeeper客户端实现:\nZKClient Zookeeper Registry\n从2.2.0版本开始缺省为zkclient实现,以提升zookeeper客户端的健状性。ZKClient是Datameer开源的一个Zookeeper客户端实现,开源比较早,参见:https://github.com/sgroschupf/zkclient\n缺省配置:\n\n\n或:\ndubbo.registry.client=zkclient\n\n或:\nzookeeper://10.20.153.10:2181?client=zkclient\n\n需依赖:\n\n    com.github.sgroschupf\n    zkclient\n    0.1\n\n\n或直接下载:http://repo1.maven.org/maven2/com/github/sgroschupf/zkclient\nCurator Zookeeper Registry\n从2.3.0版本开始支持可选curator实现。Curator 是Netflix开源的一个Zookeeper客户端实现,比较活跃。\n如果需要改为curator实现,请配置:\n\n\n或:\ndubbo.registry.client=curator\n\n或:\nzookeeper://10.20.153.10:2181?client=curator\n\n需依赖:\n\n    com.netflix.curator\n    curator-framework\n    1.1.10\n\n\n或直接下载:http://repo1.maven.org/maven2/com/netflix/curator/curator-framework\nZookeeper单机配置:\n\n\n或:\n\n\nZookeeper集群配置:\n\n\n\n或:\n\n\n同一Zookeeper,分成多组注册中心:\n\n\n\n"},"reference-registry/redis.html":{"url":"reference-registry/redis.html","title":"8.3 Redis注册中心","keywords":"","body":"\nRedis 是一个高效的KV存储服务器。安装方式参见: Redis安装手册,只需搭一个原生的Redis服务器,并将 Quick Start 中Provider和Consumer里的conf/dubbo.properties中的dubbo.registry.addrss的值改为redis://127.0.0.1:6379即可使用。\n\nRedis过期数据\n通过心跳的方式检测脏数据,服务器时间必须相同,并且对服务器有一定压力。\n可靠性声明\n阿里内部并没有采用Redis做为注册中心,而是使用自己实现的基于数据库的注册中心,即:Redis注册中心并没有在阿里内部长时间运行的可靠性保障,此Redis桥接实现只为开源版本提供,其可靠性依赖于Redis本身的可靠性。\n从2.1.0版本开始支持\n\n数据结构:\n使用Redis的Key/Map结构存储数据\n\n主Key为服务名和类型。\nMap中的Key为URL地址。\nMap中的Value为过期时间,用于判断脏数据,脏数据由监控中心删除。(注意:服务器时间必需同步,否则过期检测会不准确)\n\n使用Redis的Publish/Subscribe事件通知数据变更\n\n通过事件的值区分事件类型:register, unregister, subscribe, unsubscribe。\n普通消费者直接订阅指定服务提供者的Key,只会收到指定服务的register, unregister事件。\n监控中心通过psubscribe功能订阅/dubbo/*,会收到所有服务的所有变更事件。\n\n调用过程:\n\n服务提供方启动时,向Key:/dubbo/com.foo.BarService/providers下,添加当前提供者的地址。\n并向Channel:/dubbo/com.foo.BarService/providers发送register事件。\n服务消费方启动时,从Channel:/dubbo/com.foo.BarService/providers订阅register和unregister事件。\n并向Key:/dubbo/com.foo.BarService/providers下,添加当前消费者的地址。\n服务消费方收到register和unregister事件后,从Key:/dubbo/com.foo.BarService/providers下获取提供者地址列表。\n服务监控中心启动时,从Channel:/dubbo/*订阅register和unregister,以及subscribe和unsubsribe事件。\n服务监控中心收到register和unregister事件后,从Key:/dubbo/com.foo.BarService/providers下获取提供者地址列表。\n服务监控中心收到subscribe和unsubsribe事件后,从Key:/dubbo/com.foo.BarService/consumers下获取消费者地址列表。\n\n选项:\n\n可通过  设置redis中key的前缀,缺省为dubbo。\n可通过  设置redis集群策略,缺省为failover。\nfailover: 只写入和读取任意一台,失败时重试另一台,需要服务器端自行配置数据同步。\nreplicate: 在客户端同时写入所有服务器,只读取单台,服务器端不需要同步,注册中心集群增大,性能压力也会更大。\n\n\n\n配置 redis registry\n\n\n或\n\n\n或\n\n\n或\n\n\n"},"reference-registry/simple.html":{"url":"reference-registry/simple.html","title":"8.4 Simple注册中心","keywords":"","body":"\nDogfooding注册中心本身就是一个普通的Dubbo服务,可以减少第三方依赖,使整体通讯方式一致。\n适用性说明此SimpleRegistryService只是简单实现,不支持集群,可作为自定义注册中心的参考,但不适合直接用于生产环境。\n\nExport simple registry service:\n\n\n\n    \n    \n\n    \n    \n\n    \n    \n        \n        \n    \n\n    \n    \n\n\n\nReference the simple registry service:\n\n\nOr:\n\n\n\n\n"},"reference-telnet/telnet.html":{"url":"reference-telnet/telnet.html","title":"9 telnet命令参考手册","keywords":"","body":"\n Dubbo2.0.5以上版本服务提供端口支持telnet命令,\n\n使用如:\ntelnet localhost 20880\n\n或者:\necho status | nc -i 1 localhost 20880\n\ntelnet命令可以扩展,参见:扩展参考手册。\nstatus命令所检查的资源也可以扩展,参见:扩展参考手册。\nls\n(list services and methods)\n\nls: 显示服务列表。\nls -l: 显示服务详细信息列表。\nls XxxService: 显示服务的方法列表。\nls -l XxxService: 显示服务的方法详细信息列表。\n\nps\n(print server ports and connections)\n\nps: 显示服务端口列表。\nps -l: 显示服务地址列表。\nps 20880: 显示端口上的连接信息。\nps -l 20880: 显示端口上的连接详细信息。\n\ncd\n(change default service)\n\ncd XxxService: 改变缺省服务,当设置了缺省服务,凡是需要输入服务名作为参数的命令,都可以省略服务参数。\ncd /: 取消缺省服务。\n\npwd\n(print working default service)\n\npwd: 显示当前缺省服务。\n\ntrace\n\ntrace XxxService: 跟踪1次服务任意方法的调用情况。\ntrace XxxService 10: 跟踪10次服务任意方法的调用情况。\ntrace XxxService xxxMethod: 跟踪1次服务方法的调用情况\ntrace XxxService xxxMethod 10: 跟踪10次服务方法的调用情况。\n\ncount\n\ncount XxxService: 统计1次服务任意方法的调用情况。\ncount XxxService 10: 统计10次服务任意方法的调用情况。\ncount XxxService xxxMethod: 统计1次服务方法的调用情况。\ncount XxxService xxxMethod 10: 统计10次服务方法的调用情况。\n\ninvoke\n\ninvoke XxxService.xxxMethod({\"prop\": \"value\"}): 调用服务的方法。\ninvoke xxxMethod({\"prop\": \"value\"}): 调用服务的方法(自动查找包含此方法的服务)。\n\nstatus\n\nstatus: 显示汇总状态,该状态将汇总所有资源的状态,当全部OK时则显示OK,只要有一个ERROR则显示ERROR,只要有一个WARN则显示WARN。\nstatus -l: 显示状态列表。\n\nlog\n2.0.6以上版本支持\n\nlog debug: 修改dubbo logger的日志级别\nlog 100: 查看file logger的最后100字符的日志\n\nhelp\n\nhelp: 显示telnet命帮助信息。\nhelp xxx: 显示xxx命令的详细帮助信息。\n\nclear\n\nclear: 清除屏幕上的内容。\nclear 100: 清除屏幕上的指定行数的内容。\n\nexit\n\nexit: 退出当前telnet命令行。\n\n"},"reference-maven/maven.html":{"url":"reference-maven/maven.html","title":"10 maven插件参考手册","keywords":"","body":"mvn dubbo:registry\n以缺省的9090端口启动一个简易注册中心\n样例:以指定的9099端口启动一个简易注册中心\nmvn dubbo:registry -Dport=9099\n\nmvn dubbo:create\n(尚未发布)\n生成demo服务提供者应用\n样例:生成指定接口和版本的服务提供者应用\nmvn dubbo:create -Dapplication=xxx -Dpackage=com.alibaba.xxx -Dservice=XxxService,YyyService -Dversion=1.0.0\n\n"},"best-practice.html":{"url":"best-practice.html","title":"11 服务化最佳实践","keywords":"","body":"分包\n\n建议将服务接口,服务模型,服务异常等均放在API包中,因为服务模型及异常也是API的一部分,同时,这样做也符合分包原则:重用发布等价原则(REP),共同重用原则(CRP)\n如果需要,也可以考虑在API包中放置一份spring的引用配置,这样使用方,只需在Spring加载过程中引用此配置即可,配置建议放在模块的包目录下,以免冲突,如:com/alibaba/china/xxx/dubbo-reference.xml\n\n粒度\n\n服务接口尽可能大粒度,每个服务方法应代表一个功能,而不是某功能的一个步骤,否则将面临分布式事务问题,Dubbo暂未提供分布式事务支持。\n服务接口建议以业务场景为单位划分,并对相近业务做抽象,防止接口数量爆炸\n不建议使用过于抽象的通用接口,如:Map query(Map),这样的接口没有明确语义,会给后期维护带来不便。\n\n版本\n\n每个接口都应定义版本号,为后续不兼容升级提供可能,如: \n建议使用两位版本号,因为第三位版本号通常表示兼容升级,只有不兼容时才需要变更服务版本。\n当不兼容时,先升级一半提供者为新版本,再将消费者全部升为新版本,然后将剩下的一半提供者升为新版本。\n\n兼容性\n\n服务接口增加方法,或服务模型增加字段,可向后兼容,删除方法或删除字段,将不兼容,枚举类型新增字段也不兼容,需通过变更版本号升级。\n各协议的兼容性不同,参见: 服务协议\n\n枚举值\n\n如果是完备集,可以用Enum,比如:ENABLE, DISABLE。\n如果是业务种类,以后明显会有类型增加,不建议用Enum,可以用String代替。\n如果是在返回值中用了Enum,并新增了Enum值,建议先升级服务消费方,这样服务提供方不会返回新值。\n如果是在传入参数中用了Enum,并新增了Enum值,建议先升级服务提供方,这样服务消费方不会传入新值。\n\n序列化\n\n服务参数及返回值建议使用POJO对象,即通过set,get方法表示属性的对象。\n服务参数及返回值不建议使用接口,因为数据模型抽象的意义不大,并且序列化需要接口实现类的元信息,并不能起到隐藏实现的意图。\n服务参数及返回值都必需是byValue的,而不能是byRef的,消费方和提供方的参数或返回值引用并不是同一个,只是值相同,Dubbo不支持引用远程对象。\n\n异常\n\n建议使用异常汇报错误,而不是返回错误码,异常信息能携带更多信息,以及语义更友好,\n如果担心性能问题,在必要时,可以通过override掉异常类的fillInStackTrace()方法为空方法,使其不拷贝栈信息,\n查询方法不建议抛出checked异常,否则调用方在查询时将过多的try...catch,并且不能进行有效处理,\n服务提供方不应将DAO或SQL等异常抛给消费方,应在服务实现中对消费方不关心的异常进行包装,否则可能出现消费方无法反序列化相应异常。\n\n调用\n\n不要只是因为是Dubbo调用,而把调用Try-Catch起来。Try-Catch应该加上合适的回滚边界上。\n对于输入参数的校验逻辑在Provider端要有。如有性能上的考虑,服务实现者可以考虑在API包上加上服务Stub类来完成检验。\n\n"},"recommend.html":{"url":"recommend.html","title":"12 推荐用法","keywords":"","body":"在Provider上尽量多配置Consumer端属性\n原因如下:\n\n作服务的提供者,比服务使用方更清楚服务性能参数,如调用的超时时间,合理的重试次数,等等\n在Provider配置后,Consumer不配置则会使用Provider的配置值,即Provider配置可以作为Consumer的缺省值。否则,Consumer会使用Consumer端的全局设置,这对于Provider不可控的,并且往往是不合理的。\n\nPS: 配置的覆盖规则:1) 方法级配置别优于接口级别,即小Scope优先 2) Consumer端配置 优于 Provider 配置 优于全局配置,最后是Dubbo Hard Code的配置值(见Dubbo配置参考手册)\nProvider上尽量多配置Consumer端的属性,让Provider实现者一开始就思考Provider服务特点、服务质量的问题。\n示例:\n\n\n\n    \n\n\n在Provider可以配置的Consumer端属性有:\n\ntimeout 方法调用超时\nretries 失败重试次数,缺省是2(表示加上第一次调用,会调用3次)\nloadbalance 负载均衡算法(有多个Provider时,如何挑选Provider调用),缺省是随机(random)。还可以有轮询(roundrobin)、最不活跃优先(leastactive,指从Consumer端并发调用最好的Provider,可以减少的反应慢的Provider的调用,因为反应更容易累积并发的调用)\nactives 消费者端,最大并发调用限制,即当Consumer对一个服务的并发调用到上限后,新调用会Wait直到超时。\n在方法上配置(dubbo:method )则并发限制针对方法,在接口上配置(dubbo:service),则并发限制针对服务。\n\n详细配置说明参见:Dubbo配置参考手册\nProvider上配置合理的Provider端属性\n\n\n\n    \n\n\nProvider上可以配置的Provider端属性有:\n\nthreads 服务线程池大小\nexecutes 一个服务提供者并行执行请求上限,即当Provider对一个服务的并发调用到上限后,新调用会Wait(Consumer可能到超时)。在方法上配置(dubbo:method )则并发限制针对方法,在接口上配置(dubbo:service),则并发限制针对服务。\n\n配置上管理信息\n目前有负责人信息和组织信息(用于区分站点)。有问题时便于的找到服务的负责人,至少写两个人以便备份。负责人和组织的信息可以在注册中心的上看到。\n示例:\n应用配置负责人、组织\n\n\nservice配置负责人\n\n\nreference配置负责人\n\n\ndubbo:service、dubbo:reference没有配置负责人,则使用dubbo:application设置的负责人。\n配置上Dubbo缓存文件\n配置方法如下:\n提供者列表缓存文件\n\n\n注意:\n\n文件的路径,应用可以根据需要调整,保证这个文件不会在发布过程中被清除。\n如果有多个应用进程注意不要使用同一个文件,避免内容被覆盖。\n\n这个文件会缓存:\n\n注册中心的列表\n服务提供者列表\n\n有了这项配置后,当应用重启过程中,Dubbo注册中心不可用时则应用会从这个缓存文件读取服务提供者列表的信息,进一步保证应用可靠性。\n监控配置\n\n使用固定端口暴露服务,而不要使用随机端口\n 这样在注册中心推送有延迟的情况下,消费者通过缓存列表也能调用到原地址,保证调用成功。\n\n使用Dragoon的http监控项监控注册中心上服务提供方\n Dragoon监控服务在注册中心上的状态:http://dubbo-reg1.hst.xyi.cn.alidc.net:8080/status/com.alibaba.morgan.member.MemberService:1.0.5 确保注册中心上有该服务的存在。\n\n服务提供方,使用Dragoon的telnet或shell监控项\n 监控服务提供者端口状态:echo status | nc -i 1 20880 | grep OK | wc -l,其中的20880为服务端口\n\n服务消费方,通过将服务强制转型为EchoService,并调用$echo()测试该服务的提供者是可用\n 如 assertEqauls(“OK”, ((EchoService)memberService).$echo(“OK”));\n\n\n不要使用dubbo.properties文件配置,推荐使用对应XML配置\nDubbo2中所有的配置项都可以Spring配置中,并且可以针对单个服务配置。\n如完全不配置使用Dubbo缺省值,参见 Dubbo配置参考手册 中的说明。\n在Dubbo1中需要在dubbo.properties文件中的配置项,Dubbo2中配置示例如下:\n\n应用名 \n \n\n 对应dubbo.properties中的Key名dubbo.application.name\n\n注册中心地址\n \n\n 对应dubbo.properties中的Key名dubbo.registry.address\n\n调用超时\n 可以在多个配置项设置超时,由上至下覆盖(即上面的优先),示例如下:\n 其它的参数(retries、loadbalance、actives等)的覆盖策略也一样。\n 提供者端特定方法的配置\n \n     \n \n\n 提供者端特定接口的配置\n \n\n timeout可以在多处设置,配置项及覆盖规则详见: Dubbo配置参考手册\n 全局配置项值,对应dubbo.properties中的Key名dubbo.service.invoke.timeout\n\n服务提供者协议、服务的监听端口\n\n\n 对应dubbo.properties中的Key名dubbo.service.protocol、dubbo.service.server.port\n\n服务线程池大小\n \n\n 对应 dubbo.properties 中的Key名dubbo.service.max.thread.threads.size\n\n消费者启动时,没有提供者是否抛异常Fast-Fail\n \n\n 对应 dubbo.properties 中的Key名alibaba.intl.commons.dubbo.service.allow.no.provider\n\n\n"},"capacity-plan.html":{"url":"capacity-plan.html","title":"13 容量规划","keywords":"","body":"以下数据供参考:\n使用Dubbo的会员服务项目\n\n每天接收4亿次远程调用\n使用12台网站标配机器提供服务(8核CPU,8G内存)\n平均负载在1以下(对于8核CPU负载很低)\n平均响应时间2.3到2.5毫秒,网络开销约占1.5到1.6毫秒(和数据包大小有关)\n\n使用Dubbo的产品授权服务项目\n\n每天接收3亿次远程调用\n使用8台网站标配机器提供服务(8核CPU,8G内存)\n平均负载在1以下(对于8核CPU负载很低)\n平均响应时间1.4到2.8毫秒,网络开销约占1.0到1.1毫秒(和数据包大小有关)\n\n"},"benchmark.html":{"url":"benchmark.html","title":"14 基准测试工具包","keywords":"","body":"基准测试工具包\n下载 benchmark压缩包,并解压 \n阅读ReadMe.txt(内容如下,请以压缩包内的为准)\n\n新建一个benchmark工程,如demo.benchmark\n导入自己服务的接口api包和dubbo.benchmark.jar(解压dubbo.benchmark.tar.gz,在lib目录下)\n新建一个类,实现AbstractClientRunnable\n\n实现父类的构造函数\n实现invoke方法,通过serviceFactory创建本地接口代理,并实现自己的业务逻辑,如下\n  public Object invoke(ServiceFactory serviceFactory) {\n      DemoService demoService = (DemoService) serviceFactory.get(DemoService.class);\n      return demoService.sendRequest(\"hello\");\n  }\n\n\n\n\n将自己的benchmark工程打成jar包,如demo.benchmark.jar\n将demo.benchmark.jar 和服务的api包放到dubbo.benchmark/lib目录下\n配置duubo.properties\n运行run.bat(windows)或run.sh(linux)\n\n如想测试dubbo的不同版本,直接替换lib下的dubbo的jar包即可。 \n"},"perf-test.html":{"url":"perf-test.html","title":"15 性能测试报告","keywords":"","body":"测试说明\n\n本次性能测试,测试了dubbo2.0所有支持的协议在不同大小和数据类型下的表现,并与dubbo1.0进行了对比。\n整体性能相比1.0有了提升,平均提升10%,使用dubbo2.0新增的dubbo序列化还能获得10%~50%的性能提升,详见下面的性能数据。\n稳定性测试中由于将底层通信框架从mina换成netty,old区对象的增长大大减少,50小时运行,增长不到200m,无fullgc。(可以确认为mina在高并发下的设计缺陷)\n存在的问题:在50k数据的时候2.0性能不如1.0,怀疑可能是缓冲区设置的问题,下版本会进一步确认。 \n\n测试环境\n硬件部署与参数调整\n\n\n\n机型\nCPU\n内存\n网络\n磁盘\n内核\n\n\n\n\nTecal BH620\nmodel name : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz cache size : 8192 KB processor_count : 16\nTotal System Memory: 6G Hardware Memory Info:  Size: 4096MB\neth0: Link is up at 1000 Mbps, full duplex. peth0: Link is up at 1000 Mbps, full duplex.\n/dev/sda: 597.9 GB\n2.6.18-128.el5xen x86_64\n\n\n\n软件架构\n\n\n\n软件名称及版本\n关键参数\n\n\n\n\njava version \"1.6.0_18\" Java(TM) SE Runtime Environment (build 1.6.0_18-b07) Java HotSpot(TM) 64-Bit Server VM (build 16.0-b13, mixed mode)\n-server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70\n\n\njboss-4.0.5.GA\n\n\n\nhttpd-2.0.61\nKeepAlive On MaxKeepAliveRequests 100000 KeepAliveTimeout 180 MaxRequestsPerChild 1000000          StartServers 5         MaxClients 1024         MinSpareThreads 25         MaxSpareThreads 75         ThreadsPerChild 64         ThreadLimit 128         ServerLimit 16 \n\n\n\n测试目的\n期望性能指标(量化)\n\n\n\n场景名称\n对应指标名称\n期望值范围\n实际值\n是否满足期望(是/否)\n\n\n\n\n1k数据\n响应时间\n0.9ms\n0.79ms\n是 \n\n\n1k数据\nTPS\n10000\n11994\n是\n\n\n\n期望运行状况(非量化,可选)\n\n2.0性能不低于1.0,2.0和1.0互调用的性能无明显下降。 除了50k string其余皆通过\nJVM内存运行稳定,无OOM,堆内存中无不合理的大对象的占用。通过\nCPU、内存、网络、磁盘、文件句柄占用平稳。通过\n无频繁线程锁,线程数平稳。通过\n业务线程负载均衡。通过\n\n测试脚本\n\n性能测试场景(10并发)\n\n传入1kString,不做任何处理,原样返回\n传入50kString,不做任何处理,原样返回\n传入200kString,不做任何处理,原样返回\n传入1k pojo(嵌套的复杂person对象),不做任何处理,原样返回\n上述场景在dubbo1.0\\dubbo2.0(hessian2序列化)\\dubbo2.0(dubbo序列化)\\rmi\\hessian3.2.0\\http(json序列化)进行10分钟的性能测试。 主要考察序列化和网络IO的性能,因此服务端无任何业务逻辑。取10并发是考虑到http协议在高并发下对CPU的使用率较高可能会先打到瓶颈。 \n\n\n\n并发场景(20并发)\n 传入1kString,在服务器段循环1w次,每次重新生成一个随机数然后进行拼装。考察业务线程是否能够分配到每个CPU上。 \n稳定性场景(20并发)\n 同时调用1个参数为String(5k)方法,1个参数为person对象的方法,1个参数为map(值为3个person)的方法,持续运行50小时。 \n高压力场景(20并发)\n 在稳定性场景的基础上,将提供者和消费者布置成均为2台(一台机器2个实例),且String的参数从20byte到200k,每隔10分钟随机变换。 \n\n测试结果\n场景名称:POJO 场景\n\n\n\n\nTPS成功平均值\n响应时间成功平均值(ms) \n\n\n\n\n dubbo1 (hessian2序列化+mina)\n10813.5\n0.9 \n\n\n dubbo2 (hessian2序列化+netty)\n11994\n0.79 \n\n\n dubbo2 (dubbo序列化+netty)\n13620\n0.67 \n\n\n rmi\n2461.79\n4 \n\n\n hessian\n2417.7\n4.1 \n\n\n http(json序列化)\n8179.08\n1.15 \n\n\n 2.0和1.0默认对比百分比\n10.92\n-12.22 \n\n\n dubbo序列化相比hessian2序列化百分比\n13.56\n-15.19 \n\n\n\nPOJO TPS\n\nPOJO Response\n\n场景名称:1k string 场景\n\n\n\n\nTPS成功平均值\n响应时间成功平均值(ms) \n\n\n\n\ndubbo1(hessian2序列化+mina)\n11940\n0.8 \n\n\ndubbo2 (hessian2序列化+netty)\n14402\n0.64 \n\n\ndubbo2 (dubbo序列化+netty)\n15096\n0.6 \n\n\nrmi\n11136.02\n0.81 \n\n\nhessian\n11426.83\n0.79 \n\n\nhttp(json序列化)\n8919.27\n1.04 \n\n\n2.0和1.0默认对比百分比\n20.62\n-20.00 \n\n\ndubbo序列化相比hessian2序列化百分比\n4.82\n-6.25 \n\n\n\n1k TPS\n\n1k Response\n\n场景名称:50k string场景\n\n\n\n\nTPS成功平均值\n响应时间成功平均值(ms) \n\n\n\n\n dubbo1(hessian2序列化+mina\n1962.7\n5.1 \n\n\n dubbo2 (hessian2序列化+netty)\n1293\n5.03 \n\n\n dubbo2 (dubbo序列化+netty)\n1966\n7.68 \n\n\n rmi\n3349.88\n2.9 \n\n\n hessian\n1925.33\n5.13 \n\n\n http(json序列化)\n3247.1\n3 \n\n\n 2.0和1.0默认对比百分比\n-34.12\n-1.37 \n\n\n dubbo序列化相比hessian2序列化百分比\n52.05\n52.68 \n\n\n\n50K TPS\n\n50K Response\n/user-guide/images/50kres.png\n场景名称:200k string 场景\n\n\n\n\nTPS成功平均值\n响应时间成功平均值(ms) \n\n\n\n\n dubbo1(hessian2序列化+mina)\n324.2\n30.8 \n\n\n dubbo2 (hessian2序列化+netty)\n362.92\n27.49 \n\n\n dubbo2 (dubbo序列化+netty)\n569.5\n17.51 \n\n\n rmi\n1031.28\n9.61\n\n\n hessian\n628.06\n15.83 \n\n\n http(json序列化)\n1011.97\n9.79 \n\n\n 2.0和1.0默认对比百分比\n11.94\n-10.75 \n\n\n dubbo序列化相比hessian2序列化百分比\n56.92\n-36.30 \n\n\n\n200K TPS\n\n200K Response\n\n测试分析\n性能分析评估\nDubbo2.0的性能测试结论为通过,从性能、内存占用和稳定性上都有了提高和改进。由其是内存管理由于将mina换成netty,大大减少了1.0版本在高并发大数据下的内存大锯齿。如下图:\n性能对比分析(新旧环境、不同数据量级等)\nDubbo2.0相比较Dubbo1.0(默认使用的都是hessian2序列化)性能均有提升(除了50k String),详见第五章的性能数据。\n出于兼容性考虑默认的序列化方式和1.0保持一致使用hessian2,如对性能有更高要求可以使用dubbo序列化,由其是在处理复杂对象时,在大数据量下能获得50%的提升(但此时已不建议使用Dubbo协议)。\nDubbo的设计目的是为了满足高并发小数据量的rpc调用,在大数据量下的性能表现并不好,建议使用rmi或http协议。\n测试局限性分析(可选)\n本次性能测试考察的是dubbo本身的性能,实际使用过程中的性能有待应用来验证。\n由于dubbo本身的性能占用都在毫秒级,占的基数很小,性能提升可能对应用整体的性能变化不大。\n由于邮件篇幅所限没有列出所有的监控图,如需获得可在大力神平台上查询。\n"},"coveragence.html":{"url":"coveragence.html","title":"16 测试覆盖率报告","keywords":"","body":"测试覆盖率报告\n统计于 2012-02-03 (2.0.12)\n\n\n\n\n\n\n\n\n\n\n"}}}
\ No newline at end of file
diff --git a/user-guide/sources/table_layout.css b/user-guide/sources/table_layout.css
deleted file mode 100644
index 4855292..0000000
--- a/user-guide/sources/table_layout.css
+++ /dev/null
@@ -1,32 +0,0 @@
-table {
-    width: 100%;
-    max-width: 65em;
-    border: 1px solid #dedede;
-    margin: 15px auto;
-    border-collapse: collapse;
-    empty-cells: show;
-}
-table th,
-table td {
-    height: 35px;
-    border: 1px solid #dedede;
-    padding: 0 10px;
-}
-table th {
-    font-weight: bold;
-    text-align: center !important;
-    background: rgba(158,188,226,0.2);
-    white-space: nowrap;
-}
-table tbody tr:nth-child(2n) {
-    background: rgba(158,188,226,0.12);
-}
-table td:nth-child(1) {
-    white-space: nowrap;
-}
-table tr:hover {
-    background: #efefef;
-}
-.table-area {
-    overflow: auto;
-}
\ No newline at end of file
diff --git a/user-guide/sources/table_layout.js b/user-guide/sources/table_layout.js
deleted file mode 100644
index aa63aa5..0000000
--- a/user-guide/sources/table_layout.js
+++ /dev/null
@@ -1,7 +0,0 @@
-[].slice.call(document.querySelectorAll('table')).forEach(function(el){
-    var wrapper = document.createElement('div');
-    wrapper.className = 'table-area';
-    el.parentNode.insertBefore(wrapper, el);
-    el.parentNode.removeChild(el);
-    wrapper.appendChild(el);
-})
\ No newline at end of file